问题
From the 1st, May 2013 Apple will reject the app which will use uniqueIdentifier
. In my app i am using Paypal library and i found that libpaypalmpl.a is using uniqueIdentifier
and my app is rejected because of uniqueIdentifier
. how to solve this problem?
回答1:
Mike from PayPal here. We're in the process of deprecating the old MPL library. As you point out, it does call [UIDevice uniqueIdentifier].
The PayPal iOS SDK should be safe - other apps are using it, and it does not call [UIDevice uniqueIdentifier]. We'll be maintaining this version going forward and adding new features, so it should be a much nicer experience for your customers.
As you correctly point out, the PayPal iOS SDK is only available to US businesses. We're working on expanding support to non-US countries, and should hopefully have an update soon!
Update: the new iOS SDK (version 2.0.0) without references to uniqueIdentifier is here: https://github.com/paypal/sdk-packages/blob/gh-pages/MPL/PayPalMPL_2-0-0-iPhone_DevelopersPackage.zip
回答2:
The problem is not how the objects in the library are referenced, it's the static library itself that is causing the trouble. It contains a call to uniqueIdentifier on UIDevice or at least a method that has the same name. Linking against this library will get the app rejected by apple as of May 1st. A new version of the library is needed.
回答3:
Hence the third party library is using the uniqueIdentifier
, you cannot do anything.
It's a popular library, so they will release an update soon, hope so. Wait till then, or remove the library and implement your own way for doing this.
Edit:
I read the documents of Paypal. Possibly there is one method that can have the uniqueIdentifier:
PayPalPaymentViewController *paymentViewController = [[PayPalPaymentViewController alloc] initWithClientId:@"YOUR_CLIENT_ID" receiverEmail:@"YOUR_PAYPAL_EMAIL_ADDRESS" payerId:aPayerId payment:payment delegate:self];
In which the payerId
can have the value of your device's unique Id. If you added like so: change it to either an emailId or nil.
Please check Paypal SDK Documentation
来源:https://stackoverflow.com/questions/16432866/libpaypalmpl-a-is-using-uniqueidentifier-and-apple-reject-reject-the-app