我正在開發一個使用鑰匙串來存儲登錄憑證的應用程序。 要訪問鑰匙串,我使用UICKeyChainStore -library使其更容易。MDM與鑰匙串訪問衝突
當我在設備上運行它時,一切都運行良好,證書被存儲並從鑰匙鏈中讀取。
該應用程序必須是MDM包裝的,這就是問題出現的地方。 只要它被包裹,我就無法再讀取或寫入鑰匙串。
我將其跟蹤到一個SecItemCopyMatching調用,它檢查該值是否已存儲。在unwrapped的情況下,我得到了狀態碼-25300 = noItemFound,這很好,因爲鑰匙串在開始時是空的。
但是,如果包裝箱中的參數完全相同,則返回碼是-50,這是錯誤,告訴我我放入該方法的字典無效。
我試着打開/關閉參數或將它們留下,沒有任何變化。總是-50錯誤代碼。
您有沒有人可能不得不在過去處理這類問題?我在這裏真的沒有什麼想法了。
詞典是這樣的:
- kSecAttrAccount = PasswordIdentifier
- kSecAttrGeneric = PasswordIdentifier
- kSecAttrSynchonizable = kSecAttrSynchronizableAny
- kSecAttrService = 「MyAppIdentifier」
- kSecClass = kSecClassGenericPassword
就像我說過的,當我不包裝它時,這些參數是完全正確的,並被接受。