ios - 在线获取udid - 快速获取udid




应用程序被拒绝,但我不使用UDID (10)

今天我们收到了有关提交内容的反馈,但我们不了解所报告的问题:“不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法。请更新您的应用和服务器,以便将用户与供应商或广告相关联iOS 6中引入的标识符。“

我们知道有关udid的拒绝,但我们的应用程序不使用它! 阅读本文后,我们的团队重新评估了应用程序,我们没有发现“UIDevice uniqueIdentifier”的出现。 我们还修改了所有使用过的库,实际上我们找不到UDID的任何调用。

有人有想法吗?

经过研究,我执行了“greap”命令,我怀疑FacebookSDK:

my-app-directory $ grep -Rnis 'uniqueIdentifier' *
Binary file MyApp/FacebookSDK.framework/FacebookSDK matches
Binary file MyApp/FacebookSDK.framework/Versions/A/FacebookSDK matches
Binary file MyApp/FacebookSDK.framework/Versions/Current/FacebookSDK matches
Binary file MyApp/MyApp.xcodeproj/project.xcworkspace/xcuserdata/myuser.xcuserdatad/UserInterfaceState.xcuserstate matches

FacebookSDK使用uniqueIdentifier ?? 决议是什么?


在我的情况下,它是ibGoogleAnalytics_debug.a库。

要查找使用uniqueidentifier方法的库,请转到项目文件夹并键入:

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

我得到了这个:二进制文件./My_Project/libGoogleAnalytics_debug.a匹配


在我的情况下,这个问题是负责任的BugSense SDK(我使用过时的版本)。 升级到最新版本(3.1.3)后一切正常。


我今天也有同样的问题。 我将AdMob SDK升级到6.4.1并再次提交但没有用。 但是在我禁用AdMob代码并且没有链接到其库之后它通过了上传检查。

根据谷歌的公告,AdMob SDK 6.4及更高版本不再访问UDID。 显然,Apple并不这么认为。


我今天面临同样的问题。 openssl中有一个名为uniqueIdentifier的变量。 也许它导致了这个问题。


我整天都在尝试,我的应用程序总是被拒绝。

首先,我试着找。 | grep -v .svn | grep“.a”| grep -v“.app”| 我的项目文件夹中的xargs grep uniqueIdentifier。

Google Analytics,AdMob和Wikitude SDK似乎使用了uniqueIdentifier。 所以我删除了GA,并更新了AdMob和Wikitude。 现在,不再需要对uniqueIdentifier方法进行调用。 当我做grep时,结果什么都没有。 我清理了项目中的所有内容,但我的应用程序总是被拒绝!

我现在能做什么 ? 任何帮助将不胜感激 ...

编辑:我找到了这一行:

IDEWorkspaceWindowController***UniqueIdentifier***_IDEActiveWorkspaceTabController_IDE

在这个文件中:

MYPROJECT.xcodeproj / project.xcworkspace / xcuserdata / MYUSERNAME.xcuserdatad / UserInterfaceState.xcuserstate

你认为问题可以来自这条线吗?


我昨天更新了我的应用程序时遇到了同样的问
在使用UDID搜索第三方库后,我意识到我正在使用iOS转换跟踪 。 这个库使用了UDID但是4月10日发布了修复此问题的更新:

iOS转换跟踪SDK v1.2.0不再访问UDID(2013年4月10日发布)。

我希望它有所帮助。


我遇到过同样的问题。 原来是RevMob sdk。 最新的5.9.0(2013/05/30)接缝来解决这个问题。


检查您使用strings命令生成的二进制文件,并查找uniqueIdentifier

$ strings YOUR_BINARY | grep uniqueIdentifier

很可能你会在那里找到它。

我发现OpenSSL在其标题中声明了一个字符串uniqueIdentifier ,因此很可能您的应用程序(或您提供的应用程序中的任何静态库)都包含它。

在我的情况下,罪魁祸首是libspotify


这就是Apple所做的一切,您需要做的就是:

strings - -a -arch armv7 "App.app/App" | grep uniqueIdentifier

App.app是在您解压缩App.ipa后,它将在有效负载目录中。

只需在payload目录中运行该命令即可。 您可以通过greping您使用的已知方法来进行测试。

如果要搜索为其构建的所有体系结构,可以将armv7替换为all。


通常用于分析和beta测试的第三方库使用uniqueIdentifier来跟踪用户(例如测试航班或旧版GA),检查您使用的任何第三方库是否使用此功能。 如果不是这种情况,您可以在http://itunesconnect.apple.com上要求澄清。





udid