1

今天我试图发送我更新的应用程序,但苹果拒绝了我的应用程序使用 uniqueIdentifier。经过一些研究,我发现 libPayPalEC.a 使用了 uniqueIdentifier 3 次。

通过终端:字符串 .Lib/PayPal/libPayPalEC.a | grep 唯一标识符

现在有没有人可以下载更新的库?我到处找...

谢谢,

4

2 回答 2

2

请参考github上的问题:https ://github.com/paypal/PayPal-iOS-SDK/issues/13

于 2013-05-14T05:58:13.563 回答
2

在 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 发送。

于 2013-05-14T15:33:04.213 回答