二进制文件因非公开API使用而被拒绝(谷歌解析iOSv2)
我最近因为某个原因拒绝了应用程序 – 非公共API使用:不允许应用程序访问UDID,也不得使用UIDevice的uniqueIdentifier方法。 请更新您的应用和服务器,以将用户与iOS 6中引入的供应商或广告标识符相关联。
我在这个应用程序中使用了谷歌分析iOS v2,它是否导致了这个问题?
由于新的UDID政策,我的应用被拒绝了。 就我而言,我正在使用AdMob,解决此问题的步骤是:
-
将AdMob更新到最新版本(Google警告我,如果我尝试在5月1日之后提交,我的应用会被拒绝)。
-
转到Xcode>管理器>项目>您的项目>删除(派生数据)。
-
产品>清洁。
在完成这些步骤之后,我提交了我的应用程序,现在正在等待审核(在上传收到之后苹果拒绝了我的应用程序之前)。
希望能帮助到你!
而另一件事,如果在您的代码中使用
[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
要找出使用相关方法的内容,请使用terminal和cd到项目的根目录并运行以下命令;
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
然后,这将告诉您使用它的是什么。 更新和/或删除您的代码和/或使用它的任何库。
我遇到了同样的问题……我删除了提出问题的库,在我的案例中是adMob库。 但要注意检查甚至在你没有旧库的文件夹内,这是我的问题。 祝你好运
对于Google Analytics SDK 2.0b4和UDID参考,只需从项目中删除libGoogleAnalytics_debug.a
,清理,重新编译并再次提交。
你需要更换
[[UIDevice currentDevice] uniqueIdentifier]
用其他方法。 请参考这个url,它对我有用。