Как CommonCrypto используется в SWIFT3?
Руководство должно использовать #import "CommonCrypto/CommonCrypto.h" в заголовке моста. Это из вопроса по адресу: SHA256 по-быстрому.
Однако, когда я использую ответы Энди и Грэма, XCode все еще жалуется на "использование неразрешенного идентификатора CC_SHA256_DIGEST_LENGTH..."
Я думаю, что сделал одну из двух ошибок: Либо (а) я что-то упустил из-за того, что не подключил заголовок и правильно импортировал. т.е. я не правильно настроил соединительный заголовок. Я хотел бы, чтобы четкие шаги, как включить библиотеку и правильно создать заголовок моста. Или (b) Библиотека не включена по умолчанию, и мне действительно нужно скачать ее и сохранить локально, прежде чем я смогу ее использовать. Я хотел бы инструкции по этому вопросу.
Благодарю.
2 ответа
Хорошие новости!: Swift 4(Xcode 10) сделал CommonCrypto доступным для импорта по умолчанию!
Это может быть не полезно для вас на Swift 3, но все же, это просто к вашему сведению
лучший способ в 8 шагов
1) -------------------------------------------
перейдите к инспектору файлов xcode, выберите файл проекта и добавьте новую цель.
2) -------------------------------------------
выберите агрегат из кроссплатформенного раздела.
3) -------------------------------------------
после того, как вы назовете его соответствующим образом, выберите его из целей и перейдите в раздел фаз сборки.
4) -------------------------------------------
там нажмите кнопку "плюс" и создайте новую фазу сценария запуска со следующим кодом. он сгенерирует соответствующий модуль для каждой платформы непосредственно перед сборкой, и вы сможете импортировать CommonCrypto даже для симулятора.
mkdir -p "${SRCROOT}/Frameworks/CommonCrypto"
cat <<EOF > "${SRCROOT}/Frameworks/CommonCrypto/module.modulemap"
module CommonCrypto [system] {
header "${SDKROOT}/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
EOF
5) -------------------------------------------
после этого шага перейдите к цели вашего проекта и фактически свяжите этот агрегат с процессом сборки
6) -------------------------------------------
выберите агрегат
7) -------------------------------------------
теперь все еще в цели проекта перейдите к настройкам сборки и найдите "пути поиска заголовка" и вставьте этот путь, который необходимо пройти для вновь созданного модуля
${SRCROOT}/Frameworks/CommonCrypto
8) -------------------------------------------
Теперь все, что вам нужно сделать, это просто
import CommonCrypto
где-то и начать использовать его.
Надеюсь, поможет