找不到符号:_LAErrorDomain
Symbol not found: _LAErrorDomain
在低于版本 8.3 的 iOS 上使用 LAErrorDomain
(来自 Touch ID 的本地身份验证框架)时,应用程序崩溃 Symbol not found: _LAErrorDomain
。不过在 iOS 8.3 上工作正常。
使用 Xcode 6.3.2 和 iOS SDK 8.3 编译。更新:仍然与 Xcode 6.4 和 iOS SDK 8.4 相同。
这真的很奇怪。我真的不明白是什么原因造成的,因为 LAErrorDomain
自 iOS 8.0 以来应该作为常量可用。也许有人知道这里的真正问题,但这是我的解决方法:
幸运的是,本地身份验证的错误域也在 <LocalAuthentication/LAPublicDefines.h>
中定义为一个宏,如果您使用本地身份验证,它已经被导入。
您可以直接使用 kLAErrorDomain
(更准确地说是 @kLAErrorDomain
,因为宏被定义为字符串文字)或定义您自己的常量:
// Workaround for iOS below 8.3: LAErrorDomain constant can't be found and leads to a crash
NSString *const MyLAErrorDomain = @kLAErrorDomain;
在低于版本 8.3 的 iOS 上使用 LAErrorDomain
(来自 Touch ID 的本地身份验证框架)时,应用程序崩溃 Symbol not found: _LAErrorDomain
。不过在 iOS 8.3 上工作正常。
使用 Xcode 6.3.2 和 iOS SDK 8.3 编译。更新:仍然与 Xcode 6.4 和 iOS SDK 8.4 相同。
这真的很奇怪。我真的不明白是什么原因造成的,因为 LAErrorDomain
自 iOS 8.0 以来应该作为常量可用。也许有人知道这里的真正问题,但这是我的解决方法:
幸运的是,本地身份验证的错误域也在 <LocalAuthentication/LAPublicDefines.h>
中定义为一个宏,如果您使用本地身份验证,它已经被导入。
您可以直接使用 kLAErrorDomain
(更准确地说是 @kLAErrorDomain
,因为宏被定义为字符串文字)或定义您自己的常量:
// Workaround for iOS below 8.3: LAErrorDomain constant can't be found and leads to a crash
NSString *const MyLAErrorDomain = @kLAErrorDomain;