问题
Today we received a feedback about our submission and we do not understand the reported problem: "Apps are not permitted to access the UDID and must not use the uniqueIdentifier method of UIDevice. Please update your apps and servers to associate users with the Vendor or Advertising identifiers introduced in iOS 6.".
We know about the rejections about udid, but our App do not use this! After read this, our team reevaluated the App and we do not found occurrences from "UIDevice uniqueIdentifier". We also revised all used libraries and really we do not find any call from UDID.
Someone have ideas?
After research, I executed "greap" command:
my-app-directory $ grep -Rnis 'uniqueIdentifier' * Binary file John.xcodeproj/project.xcworkspace/xcuserdata/franz.xcuserdatad/UserInterfaceState.xcuserstate matches
Binary file John.xcodeproj/project.xcworkspace/xcuserdata/mahendra.xcuserdatad/UserInterfaceState.xcuserstate matches
Binary file John.xcodeproj/project.xcworkspace/xcuserdata/pareshrathod.xcuserdatad/UserInterfaceState.xcuserstate matches
Binary file John.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate matches
How to i solve above issues?
by John
回答1:
You should remove any usage of UDIDs. Apple started rejecting apps using this as of May 1, 2013.
Using Identifiers in Your Apps
Starting May 1, the App Store will no longer accept new apps or app updates that access UDIDs. Please update your apps and servers to associate users with the Vendor or Advertising identifiers introduced in iOS 6. You can find more details in the UIDevice Class Reference.
Source: https://developer.apple.com/news/
Although I've not independently confirmed it, I believe this is what you should use:
NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor];
NSString *uuidString = [uuid UUIDString];
回答2:
According to New Review Guideline by Apple, Its not permitted or Banned to use UDID of your Device for any kind of Identification or any other purpose in your Application. Apple found after a long time that UDID is also used to crack some of the Data hack of users and variety of other hacks, as they realize it immediately they Restricted the use of UDID in any of the applications.
So i advice you to remove any snipped or code from your application which used UDID, search following line of code in your application
[[UIDevice currentDevice] uniqueIdentifier]
if you find it, just replace it with other unique identifier or some other business logic and create a fresh binary with that and upload it. it will be through the review process.
you can find more news and updates of IOS apps here and about usage of UDID here
来源:https://stackoverflow.com/questions/16468310/invalid-binary-replied-from-apple