1

この問題は、Xcode 8 と IOS 10 でのみ発生します。XCode 8 と IOS 9 を使用すると、完全に動作します。

func resetKeychain() {

    if !self.keychainItemData.isEmpty {
        let tempDict = self.dictToSecItemData(self.keychainItemData)
        var junk = noErr
        junk = SecItemDelete(tempDict as CFDictionary)

        assert(junk == noErr || junk == errSecItemNotFound, "Failed to delete current dict")
    }

    self.keychainItemData[kSecAttrAccount] = ""
    self.keychainItemData[kSecAttrLabel] = ""
    self.keychainItemData[kSecAttrDescription] = ""

    self.keychainItemData[kSecValueData] = ""
}

IOS 10 でアサートが常に発生し、アプリがクラッシュする

何か案は?

4

1 に答える 1

6

Xcode プロジェクトで、アプリ ターゲットに移動してから、Capabilities に移動します。キーチェーン共有をオンにします。それでうまくいくはずです!

于 2016-09-14T22:19:00.833 に答える