我已经从 here 克隆了 Google 身份验证器源代码.在 Xcode 中打开 iOS 项目后,我发现缺少了很多文件,因此在尝试构建时导致了数百个编译错误。只是一些丢失的文件是:
GTMNSDictionary+URLArguments.h
GTMNSString+URLArguments.h
GTMLocalizedString.h
GTMRegex.h
有没有人能够为 Google Authenticator 构建 iOS 项目?
更新(2015 年 6 月 29 日)
我找到了丢失的 ZXing 文件 here以及缺少的适用于 Mac 的 Google 工具箱文件 here .然后,我在 OTPAuthURLEntryController.m
中的这一行遇到了构建错误:
@property (nonatomic, retain) __attribute__((NSObject)) dispatch_queue_t queue;
我通过将行更改为来修复它:
@property (nonatomic, retain) dispatch_queue_t queue;
现在我正在尝试解决以下“未找到符号”问题:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Decoder", referenced from:
objc-class-ref in OTPAuthURLEntryController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我已经搜索了所有 SO,但仍未弄清楚。任何帮助将不胜感激!
最佳答案
我找到了丢失的 ZXing 文件 here以及缺少的适用于 Mac 的 Google 工具箱文件 here .然后我将适当的缺失文件添加到项目中。在此之后,我在 OTPAuthURLEntryController.m
中的这一行遇到了构建错误:
@property (nonatomic, retain) __attribute__((NSObject)) dispatch_queue_t queue;
我通过将行更改为来修复它:
@property (nonatomic, retain) dispatch_queue_t queue;
在那之后,我遇到了以下“未找到符号”错误消息:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Decoder", referenced from:
objc-class-ref in OTPAuthURLEntryController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
事实证明,主项目 (OTPAuth
) 正在链接到名为 libZXingWidget.a
的库,该库已丢失(与许多其他内容一样)。我在丢失的 ZXing 文件中打开了 ZXingWidget
项目,并通过删除将警告视为错误的自定义标志来修复构建错误。然后,我构建了静态库并将构建目标设置为 iOS 设备。这生成了我需要的 libZXingWidget.a
文件。我在主项目 (OTPAuth
) 的构建阶段链接了该文件,现在 Google Authenticator 在 iPhone 6 模拟器上运行!
关于ios - 适用于 iOS 的 Google 身份验证器丢失文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080758/