1

与最近 AppStore 拒绝访问 UDID 的应用程序一样,Facebook SDK 和 API 是否会访问 iDevices UDID?好心提醒。谢谢!

4

2 回答 2

1

是的,当您使用命令时,确实最新的 Facebook IOS SDK 3.5.1 仍然使用字符串“uniqueIdentifier”,如您所见

cd facebook-ios-sdk/
strings FacebookSDK.framework/FacebookSDK | grep uniqueIdentifier

不幸的是,这会导致任何使用 Facebook SDK 的应用程序在第一步中被拒绝并被标记为“无效的二进制文件”。无需上传,您就可以在 Xcode Organizer - Archives 中使用 Validate 功能验证这一点。

所以,是的,这是一个问题,欢迎任何解决这个问题的提示!

关于这个问题的更多研究:

我在github上查看了 facebook ios sdk 3.5.1 的来源。实际上,源中没有对标识符“uniqueIdentifier”的引用。唯一使用的库是 IOS 本身的Accounts.framework。所以看起来苹果自己必须更新他们的图书馆!!

于 2013-05-15T15:55:11.857 回答
0

我正在使用旧版本的 facebook-ios-sdk,但它似乎没有访问 UDID。在 iOS 上获取 UDID 的正确方法是调用

   [[UIDevice currentDevice] uniqueIdentifier]

如果您使用的是 facebook sdk,它可以让您访问源代码。因此,您可以搜索源代码,看看是否使用了uniqueIdentifier消息。在 UNIX(或 OS X 终端)上,您可以尝试:

   cd facebook-ios-sdk/
   find . -name '*.m' | xargs grep uniqueIdentifier

这与我使用的 SDK 版本(大约一年前)没有任何关系。

肯定有一些更邪恶的方式来访问函数以避免容易检测(例如我使用的 UNIX grep),但是 Apple 已经批准了许多使用这个 SDK 的应用程序。我认为你是安全的。

于 2012-04-22T07:40:19.510 回答