从 2013 年 5 月 1 日起,Apple 将拒绝使用uniqueIdentifier
. 在我的应用程序中,我使用的是 Paypal 库,我发现 libpaypalmpl.a 正在使用uniqueIdentifier
并且我的应用程序因为uniqueIdentifier
. 如何解决这个问题呢?
3 回答
来自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
问题不在于如何引用库中的对象,而是静态库本身造成了麻烦。它包含对 UIDevice 上的 uniqueIdentifier 的调用,或者至少包含一个具有相同名称的方法。自 5 月 1 日起,链接到此库将使应用程序被苹果拒绝。需要新版本的库。
因此第三方库正在使用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。