Non-public API usage!
Posted: Fri May 10, 2013 8:53 am
Colleagues
There seems to be other changes in the App screening process after uploading binaries. Just uploaded a new version of one of our apps via iTunes Connect and received an email which included the following message:
"Non-public API usage:
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.
If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed.
If you think this message was sent in error and that you have only used Apple-published APIs in accordance with the guidelines, send the app's nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to Apple (email address removed). For further information, visit the Technical Support Information page."
Never seen this before and the App does not contain iAds, Push Notifications or anything else other than just a standard build without . The build was using LC 5.5.4 as this is stable and was reliable. Any suggestions on how to fix this? Why were APIs incorrectly flagged? Is LC now designated as a non-Apple API!!!
The App review will not be processed until this is resolved. There were also other notifications about "Missing Push Notification Entitlement" and "Non-PIE Binary". Apparently "The executable is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables." whatever that means!
Has anyone else come across this? Any advice and suggestions most welcome.
There seems to be other changes in the App screening process after uploading binaries. Just uploaded a new version of one of our apps via iTunes Connect and received an email which included the following message:
"Non-public API usage:
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.
If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed.
If you think this message was sent in error and that you have only used Apple-published APIs in accordance with the guidelines, send the app's nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to Apple (email address removed). For further information, visit the Technical Support Information page."
Never seen this before and the App does not contain iAds, Push Notifications or anything else other than just a standard build without . The build was using LC 5.5.4 as this is stable and was reliable. Any suggestions on how to fix this? Why were APIs incorrectly flagged? Is LC now designated as a non-Apple API!!!
The App review will not be processed until this is resolved. There were also other notifications about "Missing Push Notification Entitlement" and "Non-PIE Binary". Apparently "The executable is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables." whatever that means!
Has anyone else come across this? Any advice and suggestions most welcome.