今天我试图发送我更新的应用程序,但苹果拒绝了我的应用程序使用 uniqueIdentifier。经过一些研究,我发现 libPayPalEC.a 使用了 uniqueIdentifier 3 次。
通过终端:字符串 .Lib/PayPal/libPayPalEC.a | grep 唯一标识符
现在有没有人可以下载更新的库?我到处找...
谢谢,
请参考github上的问题:https ://github.com/paypal/PayPal-iOS-SDK/issues/13
在 github 上进行了一些研究和很好的回答后:https ://github.com/paypal/PayPal-iOS-SDK/issues/13#issuecomment-17882240我已经删除了贝宝库,删除了 deviceToken 生成,并且 PayPal 手机正在工作!
如何在没有库的情况下使用 PayPal 付款:
您需要在后端(如 PHP)上创建支付流程,并且在 iOS 应用程序中只需打开带有后端 URL 的 Web 视图。要处理成功或错误,请处理 Web 视图请求,以便您可以捕获错误、取消或成功等链接(后端重定向的页面)。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *urlString = [[request.URL absoluteString] lowercaseString];
if (urlString.length > 0) {
//80 is the default HTTP port.
//The PayPal server may add the default port to the URL.
//This will break our string comparisons.
if ([request.URL.port intValue] == 80) {
urlString = [urlString stringByReplacingOccurrencesOfString:@":80" withString:@""];
}
NSLog(@"URL %@",urlString);
if ([urlString rangeOfString:@"success"].location != NSNotFound) {
// handle error
if (visible) {
[self dismissViewControllerAnimated:YES completion:complete];
} else {
dismissOnAppear = YES;
}
return FALSE;
} else if ([urlString rangeOfString:@"cancel"].location != NSNotFound) {
// handle error
if (visible) {
[self dismissViewControllerAnimated:YES completion:complete];
} else {
dismissOnAppear = YES;
}
return FALSE;
} else if ([urlString rangeOfString:@"error"].location != NSNotFound) {
// handle error
if (visible) {
[self dismissViewControllerAnimated:YES completion:complete];
} else {
dismissOnAppear = YES;
}
return FALSE;
}
}
return TRUE;
}
在后端处理中,您不再需要发送脏令牌(来自 iOS 库),您只需使用来自 paypal 的令牌作为标准方式。
作为付款方式,请使用 _express-checkout 而不是 _express-checkout-mobile,并且不要将 drt 作为 deviceToken 发送。