XCode: 3rd Party Library Uses “uniqueIdentifier” Causing Apple to Reject Binary

六月ゝ 毕业季﹏ 提交于 2019-12-12 05:22:24

问题


I receive the following error when I try and validate my binary file for submission to the App Store:

"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."

I've determined that the culprit lies in a 3rd party library I am using called, "libScannerKit.a". I am looking into whether the library has since been updated, but is there any way I can update the file myself, or decompile the code and update so that I comply with iTunesConnect rules for iOS binary files? Below is an example of one spot "uniqueIdentifier" is called out in libScannerKit.a (opened in a text editor).

Any help would be appreciated!

��˘��-[SKDeviceManager canReachInternetUsingWiFi]�ˇ��-[SKDeviceManager init]�ô��-[SKDeviceManager dealloc]���-[SKDeviceManager isGreaterThanVersion41]�â��-[SKDeviceManager deviceId]�É��-[SKDeviceManager canReachInternet]�Ã��-[SKDeviceManager hasAutofocusCameraCapability]�]��-[SKDeviceManager canReachInternetUsingCellularNetwork]�á��-[SKDeviceManager apiKey]�3��-[SKDeviceManager hasCamera]�‹��-[SKDeviceManager platform]�˘��-[SKDeviceManager userAgent]�∫��-[SKDeviceManager checkReachabilityIfNeccessary]�ß��+[SKDeviceManager sharedManager]�~��gDeviceCapabilitiesManager�����L����������T��objc_object�e��NSObject���SKDeviceManager�ÿ��NSString����������������@è@����ÄOAffffff@,��������������à������������������<����������������������������alloc�init�checkReachabilityIfNeccessary�mainBundle�objectForInfoDictionaryKey:�infoDictionary�objectForKey:�sharedManager�apiKey�pathForResource:ofType:�initWithContentsOfFile:�platform�currentDevice�systemVersion�stringWithFormat:�stringByAppendingFormat:�release�uniqueIdentifier�stringWithCString:encoding:�timeIntervalSinceReferenceDate�sharedReachability�internetConnectionStatus�floatValue�length�substringToIndex:�dealloc�canReachInternet�canReachInternetUsingWiFi�canReachInternetUsingCellularNetwork�hasAutofocusCameraCapability�hasCamera�userAgent�deviceId�isGreaterThanVersion41�_lastReachabilityCheckTimestamp�_networkStatus���\��b��g��Ö��ê��¨��ª��…��◊��fi��ˆ������%��3��E��^��f��w��ì��≤��≈��fi��È��������������CFBundleIdentifier�CFBundleDisplayName�CFBundleVersion�ScannerKitInfo�plist�%@-v%@ %@ %@ iPhoneOSv%@� ScannerKit-v%@�hw.machine�canReachInternet�Tc,R,N�canReachInternetUsingWiFi�canReachInternetUsingCellularNetwork�hasAutofocusCameraCapability�hasCamera�apiKey�T@"NSString",R,N�userAgent�deviceId�platform�����������»��P���������»��c���������»��w���������»��á���������»��ñ���������»��ú���������»��µ�����SKDeviceManager�@8@0:4�c8@0:4�v8@0:4�d�i��������������…���������������������¯��(������������������


回答1:


Unfortunately, until the author of the library issues an update that does not use the UDID, I think your best bet is to try to find another library that provides similar functionality and does not use the UDID (if you can). Maybe one of the libraries mentioned at: iOS library for Barcode reader?



来源:https://stackoverflow.com/questions/17635612/xcode-3rd-party-library-uses-uniqueidentifier-causing-apple-to-reject-binary

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!