应用程序被拒绝,但我没有使用UDID

45

今天我们收到了有关我们提交的反馈,但我们不理解报告的问题:“应用程序不允许访问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?解决方案是什么?


6
你是否在使用可能包含设备唯一标识符(UDID)的第三方库或类? - sangony
你是否从你的应用程序向服务器传递任何东西,可能是你正在构建的东西,以识别iPhone? - GoZoner
1
也许一些分析库? - Undo
1
你的应用程序中是否有另外一种名为 uniqueIdentifier 的方法?有时,即使选择器不在苹果类上,苹果也会错误地标记私有/弃用选择器的使用。 - Mike Weller
这个答案可能会对你有所帮助:https://dev59.com/YWYq5IYBdhLWcg3weQky#14448057。 - JohnK
14个回答

1

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

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

希望这能帮到你。


1
我认为Facebook IOS SDK本身并没有使用已弃用的“uniqueIdentifier”。我查看了https://github.com/facebook/facebook-ios-sdk上的源代码。
但是,当Facebook SDK从这些源代码生成时,所创建的二进制文件包含该字符串。唯一使用SDK的库是IOS自带的Accounts.framework!
因此看起来苹果自己搬起了石头砸自己的脚!
编辑: Eric 给出了正确答案。UIDevice在facebook-ios-sdk/src/FBSession.m中被使用。Accounts.framework不是问题所在。

0
今天我也遇到了同样的问题。在openssl中有一个名为uniqueIdentifier的变量,可能是它引起了问题。

你是否使用了libspotify?我发现它是我今天提交的罪魁祸首。 - Igor

0

我曾经遇到过同样的问题。最后发现是RevMob sdk引起的。最新版本5.9.0(2013/05/30)似乎已经解决了这个问题。


你好!这不是一个答案,请将其转换为评论。 - vav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接