二进制文件因非公开API使用而被拒绝(谷歌解析iOSv2)

时间:2013-05-08 06:32:24

标签: ios google-analytics appstore-approval

我最近因为某个原因拒绝了应用程序 - 非公共API使用:不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法。请更新您的应用和服务器,以将用户与iOS 6中引入的供应商或广告标识符相关联。

我在这款应用中使用了谷歌分析iOS v2,是否会导致此问题?

6 个答案:

答案 0 :(得分:4)

由于新的UDID政策,我的应用也被拒绝了。就我而言,我正在使用AdMob,解决此问题的步骤是:

  • 将AdMob更新到最新版本(Google警告我,如果我尝试在5月1日之后提交,我的应用会被拒绝。)

  • 转到Xcode>组织者>项目>你的项目>删除(派生数据)。

  • 产品>干净。

完成这些步骤后,我提交了我的应用程序,现在正在等待审核(在这些步骤之前Apple在上传收到后拒绝了我的应用程序)。

希望它有所帮助!

答案 1 :(得分:2)

另外,如果在您的代码中使用

[UIDevice currentDevice].uniqueIdentifier;

你必须变为

// Get UUID value
NSUUID  *uuid = [NSUUID UUID];

// Convert UUID to string and output result
NSLog(@"UUID: %@", [uuid UUIDString]);

输出看起来像这样:

UUID: A84AFC3C-B3A7-31C7-B3E9-234AF423C6B1

答案 2 :(得分:2)

要找出使用相关方法的内容,请使用terminal和cd到项目的根目录并运行以下命令;

find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

然后会告诉你使用它的是什么。更新和/或删除您的代码和/或正在使用它的任何库。

答案 3 :(得分:1)

我遇到了同样的问题......在我的案例adMob库中删除了提出问题的库。但要注意检查甚至在你没有旧库的文件夹内,这是我的问题。祝你好运

答案 4 :(得分:0)

对于Google Analytics SDK 2.0b4和UDID参考,只需从项目中完全删除libGoogleAnalytics_debug.a,清理,重新编译并再次提交。

答案 5 :(得分:0)

您需要替换

[[UIDevice currentDevice] uniqueIdentifier] 

用其他方法。 请参考this url 它对我有用。