2016-01-13 4 views
9

Я использую CommonCrypto в структуре Swift - и он работает отлично уже более года.Xcode 7.3 beta 1 против CommonCrypto в Swift

Я использовал найденные решения здесь: Importing CommonCrypto in a Swift framework

В частности, для ссылки CommonCrypto от Swift рамок, я должен был:

Создать module.map файл в папке с именем CommonCrypto рядом с проектом Xcode моей фреймворки. module.map содержания:

module CommonCrypto [system] 
{ 
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h" 
    link "CommonCrypto" 
    export * 
} 
  • В Swift Import Paths моих рамок проекта, я добавить CommonCrypto
  • В моих рамках проект библиотечного Пути поиска, я включаю: $(SDKROOT)/usr/lib/system
  • В моем источнике, я включаю: import CommonCrypto

Это сработало хорошо; немного запутанный - но это сработало.

Однако в Xcode 7.3 beta 1 (7D111g) этот метод больше не работает.

Похоже, что libcommonCrypto.tbd был удален из: $(SDKROOT)/usr/lib/system внутри Xcode-beta.app. И я не могу найти его нигде в структуре папок iPhoneOS SDK.

Так я получаю эти ошибки:

ld: warning: directory not found for option '-L/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/system' ld: library not found for -lCommonCrypto for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Было бы замечательно, если бы сумасшедшая карта модуля бизнес был заменен чем-то простым. Например, только с использованием import CommonCrypto

В любом случае, я не уверен, как это решить, поэтому любая помощь оценивается.

Я задаю здесь новый вопрос в том случае, если решение существенно отличается от решений, найденных в предыдущем вопросе, хотя я считаю, что это может быть неприемлемым.

ответ

0

Это выглядит как решение, чтобы удалить строку:

link "CommonCrypto" 

из файла module.map.

Смежные вопросы