Как CommonCrypto используется в SWIFT3?

Руководство должно использовать #import "CommonCrypto/CommonCrypto.h" в заголовке моста. Это из вопроса по адресу: SHA256 по-быстрому.
Однако, когда я использую ответы Энди и Грэма, XCode все еще жалуется на "использование неразрешенного идентификатора CC_SHA256_DIGEST_LENGTH..."

Я думаю, что сделал одну из двух ошибок: Либо (а) я что-то упустил из-за того, что не подключил заголовок и правильно импортировал. т.е. я не правильно настроил соединительный заголовок. Я хотел бы, чтобы четкие шаги, как включить библиотеку и правильно создать заголовок моста. Или (b) Библиотека не включена по умолчанию, и мне действительно нужно скачать ее и сохранить локально, прежде чем я смогу ее использовать. Я хотел бы инструкции по этому вопросу.

Благодарю.

2 ответа

Хорошие новости!: Swift 4(Xcode 10) сделал CommonCrypto доступным для импорта по умолчанию!

Это может быть не полезно для вас на Swift 3, но все же, это просто к вашему сведению

лучший способ в 8 шагов

1) -------------------------------------------

перейдите к инспектору файлов xcode, выберите файл проекта и добавьте новую цель.

Инспектор файлов 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

где-то и начать использовать его.

Надеюсь, поможет

Другие вопросы по тегам