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