我在我的应用中使用 Google Drive SDK。
自 2014 年 6 月左右以来,它一直运行良好。
更新到 Xcode 6.3 后,我的目标都没有构建。
实现文件 GTMOAuth2ViewControllerTouch.m 包含编译器提示的两个 block :
if (accessibility == NULL
&& &kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly != NULL) {
accessibility = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly;
}
特别是消息:“kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
的地址与空指针的比较始终为真”。
和
if (accessibility != NULL && &kSecAttrAccessible != NULL) {
[keychainQuery setObject:(id)accessibility
forKey:(id)kSecAttrAccessible];
}
特别是消息:“kSecAttrAccessible
的地址与空指针的比较始终为真”。
编译器告诉我,与 != NULL
相比,这两个键始终为真。
我相信我缺乏计算机科学培训使我无法理解这里的问题 - 也许这只是一种不好的看法?
我看过this question但无法理解与我的 Google Drive SDK 实现文件 GTMOAuth2ViewControllerTouch.m 问题相关的上下文
我真的很想了解根本问题。
请帮忙...
最佳答案
您可以使用以下代码代替这些片段:
accessibility = kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly;
和 [keychainQuery setObject:(id)accessibility forKey:(id)kSecAttrAccessible];
这是因为常量永远不会有 NULL 指针,所以没有理由进行检查。我相信可以通过 SDK 更新进行修复,但您可以手动进行修复。
关于ios - 更新到 Xcode 6.3 会破坏应用程序 - Google GTLTouchStaticLib "not equal to a null pointer is always true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574355/