Проблема с нативной цепочкой ключей mobilefirst для iOS

Я работаю над проектом собственного приложения iOS, используя xcode для разработки проекта, но включая возможности MobileFirst Platform Foundation и возможности мобильных данных от Bluemix. Мы используем общий репозиторий git в службах IBM DevOps (jazzhub), чтобы делиться исходным кодом проекта и совместно работать над ним.

Большинство нативных приложений, которые я создавал в прошлом, были моими собственными, поэтому это моя первая попытка совместной работы с использованием git/xcode.

Все это просто контекст для проблемы, которая представляет собой проект, использующий указанную выше среду на моих коллегах по сборке / работе Mac. Как только я git клонирую проект и пытаюсь запустить его на своем Mac, я получаю следующую ошибку:

*** Assertion failure in -[KeychainItemWrapper writeToKeychain], /tmp/builds/bld-00-20141218-1823-2824648/worklight-ios/framework-xcode-project/NativeSDK-Sources/WorkLight/KeychainItemWrapper.m:311
2015-01-31 13:16:27.657 IBMBankNativeApp[88827:11348297] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.'

Над этим сообщением в журнале xcode я вижу успешную инициализацию Bluemix и вызов для инициализации подключения к МФУ:

2015-01-31 13:16:27.439 NativeApp[88827:11348297] INFO: IBMBluemix initialization successful.
IBMBluemix SDK Version: 1.0.1.20141124-1240
BlueMix Target: https://mybank.mybluemix.net
applicationId: ea36d23f-....
2015-01-31 13:16:27.530 NativeApp[88827:11348297] IBMData SDK initialization successful.
2015-01-31 13:16:27.580 NativeApp[88827:11348297] ViewController - connectToServer - Initializing ...
2015-01-31 13:16:27.591 NativeApp[88827:11348297] [DEBUG] [WL_CONFIG] -[WLConfig init] in WLConfig.m:68 :: {
    "application id" = NativeiOSApi;
    "application version" = "1.0";
    environment = iOSnative;
    host = "192.168.0.17";
    platformVersion = "6.3.0.00.20141218-1823";
    port = 10080;
    protocol = http;
    wlServerContext = "/MFProject/";
    wlUid = "wY/mbnwKTDDYQUvuQCdSgg==";
}

Перед обратным вызовом МФУ для инициализации соединения приложение завершается с ошибкой цепочки ключей.

Я не добавлял доступ к цепочке для ключей в проект, я используюcocopods для настройки поддержки bluemix и задаюсь вопросом, добавляет ли это как-то поддержку цепочки для ключей?

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

Есть ли что-то проверенное и реплицированное git, чего не должно быть?

Заранее спасибо!


person Rich Ralston    schedule 31.01.2015    source источник


Ответы (1)


Убедитесь, что следующий ключ существует в корневом ключе как в entitlements-debug.plist, так и в entitlements-release.plist:

Ключ: keychain-access-groups
Тип: Массив

Внутри указанного выше ключа:
Ключ: Item 0
Тип: String
Значение: $(AppIdentifierPrefix)worklight.group

введите здесь описание изображения

person Idan Adar    schedule 01.02.2015
comment
Идан, Спасибо! Это решило проблему для меня. У меня немного другой файл прав, но ваш ответ поможет определить проблему. - person Rich Ralston; 02.02.2015
comment
Рад слышать. Пожалуйста, отметьте проблему как решенную, когда сможете. - person Idan Adar; 02.02.2015