9

从 2013 年 5 月 1 日起,Apple 将拒绝使用uniqueIdentifier. 在我的应用程序中,我使用的是 Paypal 库,我发现 libpaypalmpl.a 正在使用uniqueIdentifier并且我的应用程序因为uniqueIdentifier. 如何解决这个问题呢?

4

3 回答 3

6

来自PayPal的迈克在这里。我们正在弃用旧的 MPL 库。正如您所指出的,它确实调用了 [UIDevice uniqueIdentifier]。

PayPal iOS SDK 应该是安全的 - 其他应用程序正在使用它,并且它不会调用 [UIDevice uniqueIdentifier]。我们将继续维护此版本并添加新功能,因此它应该为您的客户提供更好的体验。

正如您正确指出的那样,PayPal iOS SDK 仅适用于美国企业。我们正在努力扩大对非美国国家/地区的支持,希望很快会有更新!


更新:没有引用 uniqueIdentifier 的新 iOS SDK(版本 2.0.0)在这里:https ://github.com/paypal/sdk-packages/blob/gh-pages/MPL/PayPalMPL_2-0-0-iPhone_DevelopersPackage.zip

于 2013-05-08T22:28:09.897 回答
3

问题不在于如何引用库中的对象,而是静态库本身造成了麻烦。它包含对 UIDevice 上的 uniqueIdentifier 的调用,或者至少包含一个具有相同名称的方法。自 5 月 1 日起,链接到此库将使应用程序被苹果拒绝。需要新版本的库。

于 2013-05-08T15:09:57.170 回答
0

因此第三方库正在使用uniqueIdentifier,你不能做任何事情。

这是一个受欢迎的图书馆,所以他们很快就会发布更新,希望如此。等到那时,或删除库并实现您自己的方式来执行此操作。

编辑:

我阅读了 Paypal 的文件。可能有一种方法可以具有 uniqueIdentifier:

PayPalPaymentViewController *paymentViewController = [[PayPalPaymentViewController alloc] initWithClientId:@"YOUR_CLIENT_ID" receiverEmail:@"YOUR_PAYPAL_EMAIL_ADDRESS" payerId:aPayerId payment:payment delegate:self];

其中payerId可以具有您设备的唯一 ID 的值。如果您像这样添加:将其更改为 emailId 或 nil。

请查看Paypal SDK 文档

于 2013-05-08T05:56:57.373 回答