0

我有一个关于uniqueIdentifiervs的问题identifierforVendor。我们将 UDID 用于登录识别目的,并且我们正在切换到新的 iOS 6 版本的 forVendor...

我的问题是 1) Apple 是否拒绝仍在使用 uniqueIdentifier 的应用程序?2) 他们怎么能拒绝这种看法,因为他们不允许第一代 ipad 升级到 6.0?

PS - 还发现identifierforVendor在 6.0 中并不总是有效,看起来它在 6.0.1 中已解决

这是我正在使用的代码......你认为它会被拒绝吗?

static inline NSString* UniqueDeviceId() {
    if ([[[UIDevice currentDevice] systemVersion] compare:@"6.0.1" options:NSNumericSearch] != NSOrderedAscending)
        return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    return [[UIDevice currentDevice] uniqueIdentifier];
}

谢谢

4

2 回答 2

3

虽然我不能代表 Apple 审查团队发言。只要您的应用支持没有替代方案的 iOS 版本,您就不太可能因为使用此已弃用的 API 而被拒绝。

我会更新您的代码以正确检查新方法:

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
    return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
    return [[UIDevice currentDevice] uniqueIdentifier];
}
于 2012-11-06T22:04:03.503 回答
0

现在 App 不允许访问 UDID,并且不能使用 UIDevice 的 uniqueIdentifier 方法。请更新您的应用程序和服务器以将用户与 iOS 6 中引入的供应商或广告标识符相关联

NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor];
NSString *uuidString = [uuid UUIDString];

并且必须添加 ADSupport 框架

于 2013-05-09T11:20:47.157 回答