此应用程序引用非公共选择器... base64EncodedString dataFromBase64String

时间:2014-02-19 17:53:09

标签: ios cordova

向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)如何以“正确”的方式解决此警告消息?

1 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题......

经过进一步调查,我们确定问题仅限于我们 在项目中包含了libCordova.a。这在测试时工作正常 在模拟器和设备上,但在提交时给出了上述警告 到appstore。

避免提交警告的解决方案是复制所有内容 libCordova.a的源代码到/ platform / ios。那个源代码 起源于“cordova create”命令。