Сбой KeychainItemWrapper на iOS10

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

На iOS 9.3 пишу ключ в связке ключей без проблем Спасибо

2 ответа

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

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

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

Да, у меня была та же самая проблема (также с просьбой о сбое местоположения)... похоже на изменение в 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>
Другие вопросы по тегам