Встраивание JCPKCS11.framework

Для работы с устройствами JaCarta используется Единая библиотека PKCS #11, предоставляющая высокоуровневый интерфейс (см. API Единой библиотеки PKCS #11) для взаимодействия по стандарту PKCS #11 v2.30.

Принципы работы с Единой библиотекой PKCS #11 описаны в разделе Руководство по работе с библиотекой.

Структура проекта

../../_images/ios_project_jcpkcs11_fs1.png

Настройка проекта для ридеров Feitian

  1. Во вкладке “General” в параметре "Frameworks, Libraries and Embedded Content" добавить:

    • ExternalAccessory.framework;
    • CoreBluetooth.framework;
    • JCOpenSSL.framework;
    • JCOpenSSLGostEngine.framework;
    • JCPKCS11.framework.
    ../../_images/ios_jcpkcs11_linked_libs1.png
  2. Во вкладке “Build Settings” в параметре "Framework Search Paths" должен быть указан путь до папки с фреймворками, входящими в состав дистрибутива.

    ../../_images/ios_framework_sp1.png
  3. Во вкладке “Build Settings” отключить Bitcode установив в параметр "Enable Bitcode" значение No.

    ../../_images/ios_bitcode2.png
  4. Во вкладке “Build Settings” в параметре "Preprocessor Macros" для Debug и Release добавить макрос CK_DISABLE_TRUE_FALSE.

    ../../_images/ios_jcpkcs11_preproc1.png
  5. Во вкладке “Info” добавить ключ UISupportedExternalAccessoryProtocols со следующими значениями:

    • com.ftsafe.iR301 - для ридеров iR301-UL;
    • com.ftsafe.bR301 - для Bluetooth ридеров bR301.
    ../../_images/ios_info_plist_readers1.png
  6. Во вкладке “Info” добавить ключи NSBluetoothPeripheralUsageDescription и NSBluetoothAlwaysUsageDescription для информирования пользователя, о том, что приложение может работать с Bluetooth-устройствами.

    Важно

    Без этих ключей приложение не пройдет проверку в App Store Connect.

    ../../_images/ios_info_plist_bluetooth1.png
  7. Для использования API в исходном коде необходимо импортировать файл JCPKCS11/jcPKCS11.h.

    #import <JCPKCS11/jcPKCS11.h>