看起来Apple已经收紧了5月1日的应用程序商店提交。我有一个使用Spotify的应用程序,并已多次被App Store接受。在最近的更新中,该应用因以下原因被拒绝...
非公开API用法:
不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法。请更新您的应用和服务器,以将用户与iOS 6中引入的供应商或广告标识符相关联。
在libspotify上执行以下操作
strings libspotify | grep uniqueIdentifier
返回了3个uniqueIdentifier实例。另一篇文章指出,这可能是由于openSSL,可能与UDID无关。但是,Apple拒绝了这些代码。有解决办法吗?
答案 0 :(得分:4)
这是一个 Cr4zY 快速修复程序,只有在您真正赶时间时才使用(就像我现在一样,船只或死亡!) ... < / p>
使用0xED http://www.suavetech.com/0xed/之类的工具将uniqueIdentifier
二进制文件中的libspotify
部分更改为uniqueXdentifier
。 (注意!必须有相同的长度或它会破坏!!!)
然后为您的项目添加UIDevice
的类别方法,例如,使用与更改为相同的名称
static NSString *alternativeUniqueIdentifier = nil;
#define DEFAULTS_KEY @"heartbreakridge" // "Improvise, adapt, overcome" - Clint Eastwood in DEFAULTS_KEY
@interface UIDevice (CrazyFix)
- (NSString *)uniqueXdentifier;
@end
@implementation UIDevice (CrazyFix)
- (NSString *)uniqueXdentifier
{
if (!alternativeUniqueIdentifier) {
@synchronized(self) {
alternativeUniqueIdentifier = [[NSUserDefaults standardUserDefaults] stringForKey:DEFAULTS_KEY];
if (!alternativeUniqueIdentifier) {
// XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (capital hex)
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
alternativeUniqueIdentifier = [(NSString*)CFBridgingRelease(uuidStringRef) lowercaseString];
alternativeUniqueIdentifier = [alternativeUniqueIdentifier stringByReplacingOccurrencesOfString:@"-" withString:@""];
alternativeUniqueIdentifier = [NSString stringWithFormat:@"%@%@", [alternativeUniqueIdentifier substringToIndex:8], alternativeUniqueIdentifier];
[[NSUserDefaults standardUserDefaults] setValue:alternativeUniqueIdentifier forKey:DEFAULTS_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
}
return alternativeUniqueIdentifier;
}
@end
答案 1 :(得分:2)
免责声明:我为Spotify工作
我们已经意识到了这个问题并正在努力为iOS制作热门修复程序,从而无需使用UDID。坚持下去!
修改:热修复已经结束!抓住http://developer.spotify.com/technologies/libspotify。 cocoalibspotify的相应版本即将推出,但同时可以轻松更改以支持不同版本的libspotify。
答案 2 :(得分:2)
已发布热修复,删除了uniqueIdentifier:
的使用http://devnews.spotify.com/2013/05/16/libspotify-12-ios-hot-fix/