Сбой KeychainItemWrapper на iOS10

Когда я пытаюсь добавить элемент в цепочку для ключей, я обнаружил этот сбой на iOS10 *** Ошибка утверждения в -[KeychainItemWrapper writeToKeychain]

На iOS 9.3 ключ в брелок записываю без проблем Спасибо


person Community    schedule 18.09.2016    source источник


Ответы (2)


Это похоже на ошибку; отчет об ошибке был подан, но есть обходной путь. Просто включите «Общий доступ к цепочке ключей» (под вашим приложением -> вкладка «Возможности» в Xcode). См. https://forums.developer.apple.com/thread/51071 для полной информации.

person Lane Rettig    schedule 21.09.2016
comment
keychain продолжает очень часто ломаться со следующими выпусками iOS, они должны предоставить подходящую библиотеку для решения этой проблемы, спасибо за публикацию исправления! - person Julian; 18.10.2016

Изменить: не обращайте внимания на то, о чем я болтал ... да, забыл, что на вкладке «Возможности» цели проекта я также включил общий доступ к цепочке ключей ... Хотя все же хотелось бы получить более глубокий и убедительный ответ.

Так что, думаю, вы можете проигнорировать это... но уйти отсюда на тот случай, если вы столкнетесь с вопросами конфиденциальности (хотя это еще один ТАК вопрос, на который, я уверен, был дан ответ в другом месте):

Да, у меня была та же проблема (также с запросом на сбой местоположения) ... похоже на изменение в iOS 10 в отношении конфиденциальности и услуг. Как ни странно, в моем случае добавление ключей под этим комментарием в info.plist (или через Xcode вы увидите их с «Privacy-*»)

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

Вот что я добавил (обратите внимание, не думайте, что вам нужны все из них, а просто для того, чтобы мой ответ соответствовал тому, что я сделал):

<key>LSApplicationCategoryType</key>
<string></string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>health devices</string>
<key>NSRemindersUsageDescription</key>
<string>medication reminders</string>
<key>NSMicrophoneUsageDescription</key>
<string>calls</string>
<key>NSCameraUsageDescription</key>
<string>Allow Moonshot to use the camera (profile and calls)</string>
<key>NSMotionUsageDescription</key>
<string>Allow Moonshot to use motion to track activity</string>
<key>NSLocationUsageDescription</key>
<string>Allow Moonshot to use location to track activity</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Allow Moonshot to always use location (to track activity)</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow Moonshot to use location while in use (to track activity)</string>
<key>CFBundleDevelopmentRegion</key>
person anabi    schedule 19.09.2016
comment
спасибо :) Я включаю совместное использование связки ключей в разделе «Возможности», и приложение работает нормально. - person ; 19.09.2016