Xcode 7.3 beta 1 против CommonCrypto в Swift

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

Я использовал найденные здесь решения: Импорт CommonCrypto в среду Swift

В частности, чтобы ссылаться на 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. И я не могу найти его нигде в структуре папок iPhone SDK.

Итак, я получаю следующие ошибки:

ld: warning: каталог не найден для опции '-L/Применения/Xcode-beta.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/SDKs/iPhoneOS9.3.sdk/USR/Lib/система' ld: библиотека не найдена для -lCommonCrypto для архитектуры arm64 clang: ошибка: команда компоновщика завершилась с кодом выхода 1 (используйте -v, чтобы увидеть Вызов)

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

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

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

Ответ 1

Похоже, решение состоит в том, чтобы удалить строку:

link "CommonCrypto"

из файла module.map.