我正在考虑在我的应用中使用openUDID进行注册。
然而它仍然使用UDID号苹果问题,所以我只是通过.m文件阅读并遇到了这个:
// One day, this may no longer be allowed in iOS. When that is, just comment this line out.
//
#if TARGET_OS_IPHONE
if([UIDevice instancesRespondToSelector:@selector(uniqueIdentifier)]){
_openUDID = [[UIDevice currentDevice] uniqueIdentifier];
}
#endif
// Take this opportunity to give the simulator a proper UDID (i.e. nullify UDID and create an OpenUDID)
//
#if TARGET_IPHONE_SIMULATOR
_openUDID = nil;
#endif
// Next we try to use an alternative method which uses the host name, process ID, and a time stamp
// We then hash it with md5 to get 32 bytes, and then add 4 extra random bytes
// Collision is possible of course, but unlikely and suitable for most industry needs (e.g.. aggregate tracking)
//
但是我不确定要注释掉哪一行,以便它使用使用主机名,进程ID和时间戳的替代方法
答案 0 :(得分:4)
您可以在TARGET_OS_IPHONE
块
答案 1 :(得分:0)
您可以通过使用双斜杠评论为该行添加前缀来“注释”其中包含uniqueIdentifier
的行。或者您可以将#if TARGET_OS_IPHONE
行更改为#if 0
,意味着永远不会调用代码块。
然后替代代码将被替代使用。
当前编写代码的方式,让我保持原样似乎是非常安全的。 Apple完全取消uniqueIdentifier
方法后,instancesRespondToSelector
调用将正确失败,替代代码将自动使用。