向Apple提交iOS二进制文件时,我收到此警告: “此应用程序引用Payload / x.app / x中的非公共选择器:base64EncodedString,dataFromBase64String”
在xCode构建过程中,我没有收到警告。
我正在使用xCode 5.0.2和Phonegap 3.3。
我不知道Apple是否会因为这个原因拒绝二进制文件,但我不想等到找出来。此外,我喜欢以“正确”的方式解决所有警告错误。
我发现其他人有类似的问题(不同的第三方库),似乎他们的解决方案是获得更新的第三方库。我已经在使用最新的phonegap并且有足够的时间来解决这个问题,所以我怀疑这个问题是我正在做的事情所特有的。
我按项目进行了greped,这里引用了两个符号:
Cordova/NSData+Base64.h:+ (NSData*)dataFromBase64String:(NSString*)aString;
Cordova/NSData+Base64.h:- (NSString*)base64EncodedString;
我的两个问题是: 1)Apple会因为这个警告拒绝这个二进制文件吗? 2)如何以“正确”的方式解决此警告消息?
答案 0 :(得分:1)
我正在回答我自己的问题......
经过进一步调查,我们确定问题仅限于我们 在项目中包含了libCordova.a。这在测试时工作正常 在模拟器和设备上,但在提交时给出了上述警告 到appstore。
避免提交警告的解决方案是复制所有内容 libCordova.a的源代码到/ platform / ios。那个源代码 起源于“cordova create”命令。