我無法使用共享鑰匙串在WatchKit和iPhone應用程序之間共享數據。當我試圖在鑰匙串包裝中使用kSecAttrAccessible
作爲kSecAttrAccessibleAlways
時,SecItemUpdate
失敗。請幫助我正確使用鑰匙鏈包裝中的kSecAttrAccessible
。如何在WatchKit擴展程序和iPhone應用程序之間共享鑰匙串數據
回答
你應該使用正確的輔助功能模式:
默認鑰匙串模式kSecAttrAccessibleWhenUnlocked
和kSecAttrAccessibleWhenUnlockedThisDeviceOnly
而iPhone被鎖定不會讓你的應用程序的擴展訪問數據。
因此,在這種情況下使用kSecAttrAccessibleAfterFirstUnlock
或kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
是合適的。即使iOS應用程序處於後臺,這也允許WatchKit擴展程序訪問鑰匙串。
舊的項目(與kSecAttrAccessibleWhenUnlocked
)必須重新保存(讀取,刪除,保存與新的輔助功能模式)。
感謝Vomako。請你讓我知道我們如何讀取刪除保存與鑰匙圈包裝(目標c)中的新可訪問模式,因爲我試圖刪除並保存新的,但無法做到這一點,並得到-50 error.I已經嘗試並調試了2-3天的問題,但無法使其與蘋果手錶配合使用。 –
試試這段代碼:https://www.secsign.com/tag/secure-cloud-sharing/ – vomako
Vomako我通過代碼檢查,但仍然得到問題。請你讓我知道我可以如何改變keychainitemwrapper蘋果類爲kSecAttrAccessible。 –
- 1. 兩個應用程序之間的鑰匙串共享
- 2. 如何讓watchkit擴展應用程序,我的iPhone應用程序共享相同的iCloud數據庫
- 3. 如何在擴展和容器應用程序之間共享SQLite數據庫
- 4. 如何在iphone中的應用程序之間共享數據
- 5. 在iOS應用程序和WatchKit Extension之間共享Plist
- 6. 在iOS擴展之間共享,並且它包含帶鑰匙串的應用程序?
- 7. ios8擴展和容器應用程序如何共享數據
- 8. 在網絡應用程序和擴展程序之間共享localStorage
- 9. 與iPhone應用程序Watchkit共享數據,NSInvalidUnarchiveOperationException
- 10. 如何在React Native應用程序和共享擴展之間共享Realm數據庫
- 11. 如何發送iPhone應用程序和WatchKit應用程序之間的味精?
- 12. 如何與擴展程序共享應用程序ID?
- 13. mac應用程序和safari擴展之間的應用程序組中的共享數據返回無
- 14. WatchOS 2.0在iOS應用程序和WatchOS應用程序之間共享數據
- 15. iPhone應用程序之間的核心數據存儲共享
- 16. 兩個iphone應用程序之間的數據共享
- 17. 如何在2個angularjs應用程序之間共享數據?
- 18. 如何在離線應用程序之間共享數據
- 19. 如何在兩個winform應用程序之間共享數據?
- 20. 在iPhone應用程序之間共享視圖和代碼
- 21. 在動作和應用程序行爲之間共享數據
- 22. 在tvOS應用程序和Top Shelf Extension之間共享數據
- 23. 在桌面和Android應用程序之間共享數據庫
- 24. 在應用程序和網絡之間共享數據庫
- 25. 在Android框架和應用程序之間共享數據
- 26. 如何在iPhone應用程序之間共享自定義數據?
- 27. 在應用程序之間共享drawables
- 28. 應用程序之間共享在C#
- 29. 在ios主應用程序和擴展之間共享動態框架
- 30. 如何從iPhone應用程序檢索鑰匙串?
您是否按文檔中所述打開了鑰匙串共享? https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html – mckeejm
是的,我已經打開鑰匙串,但問題正在發生kSecAttrAccessible價值是默認設置爲kSecAttrAccessibleWhenUnlocked所以當iphone是鎖定值在蘋果手錶中不可用。 –