Page tree
Skip to end of metadata
Go to start of metadata

Примеры на GitHub

Примеры готовых приложений можно найти в репозиториях на GitHub: rutoken-demobank-ios и rutoken-demoshift-ios.

Минимальная настройка

Для работы с PKCS#11 функциями добавьте в ваше приложение фреймворк rtpkcs11ecp.framework. Его можно взять из Рутокен SDK в директории sdk\mobile\ios\pkcs11\lib.

В файл Info.plist добавьте строчки:

Info.plist
<key>UISupportedExternalAccessoryProtocols</key>
<array>
  <string>com.aktivco.rutokenecp</string>
</array>


Этого будет достаточно для работы с Рутокен ЭЦП Bluetooth.

Добавление поддержки NFC карт

Для того, чтобы ваше приложение умело работать также с Рутокен ЭЦП 3.0 NFC:

  1.  Добавьте в файл Info.plist строчки:

    Info.plist
    <key>NFCReaderUsageDescription</key>
    <string>Allow NFC scanning</string>
    <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
    <array>
        <string>F00000000010000000000100</string>
        <string>A000000151000000</string>
        <string>A00000039742544659</string>
    </array>
  2. В файл Entitlements.plist добавьте строчки:

    Entitlements.plist
    <key>com.apple.developer.nfc.readersession.formats</key>
    <array>
        <string>NDEF</string>
        <string>TAG</string>
    </array>

    Сертификат разработчика iOS

    Убедитесь, что ваш сертификат разработчика для iOS позволяет разрабатывать приложения с использованием NFC-меток.

  3. Перед началом взаимодействия с Рутокен ЭЦП 3.0 NFC запустите функцию startNFC. Функция определена во фреймворке RtPcsc, который можно взять из Рутокен SDK в директории sdk\mobile\ios\pcsc\lib.
  4. Функция startNFC запускает в отдельном потоке окно с просьбой приложить NFC карту к телефону или планшету. На вход она принимает callback, который будет вызван в случае ошибок, например если окно закрылось по таймауту или пользователь нажал на клавишу "Отмена".
  5. После окончания взаимодействия с NFC токеном запустите функцию stopNFC из фреймворка RtPcsc. 
  6. Поток с окном предложения приложить токен и поток работы с PKCS#11 функциями надо синхронизировать: токен не сразу распознается системой и нужно некоторое время подождать прежде чем начать работать с ним. 
  • No labels