मैं अपने ऐप के लिए ऐप्पल पे को लागू करने की कोशिश कर रहा हूं। मेरे पास PKPaymentAuthorizationViewController ऐप्पल पे व्यू लोड करने का प्रयास कर रहा है। इस दृश्य नियंत्रक को कन्स्ट्रक्टर द्वारा नील के रूप में वापस किया जा रहा था अगर मेरे पास पहले से ही मेरे वॉलेट में कोई कार्ड नहीं था। इसलिए, मैंने उपयोगकर्ता को गाइड करने का फैसला किया, हालांकि प्रक्रिया जहां वे अपनी कार्ड जानकारी दर्ज करते हैं। मैं का उपयोग करऐप्पल पे डिटेक्ट वॉलेट में कोई क्रेडिट कार्ड नहीं है
PKPassLibrary* lib = [[PKPassLibrary alloc] init];
[lib openPaymentSetup];
यहाँ हिस्सा है जहाँ मैं PKPaymentAuthorizationViewController का प्रारंभ है इस लक्ष्य को हासिल करने में सक्षम था। यह दृश्य दिखाते हुए सिम्युलेटर पर एक मान्य वस्तु देता है। लेकिन कॉन्फ़िगर किए गए क्रेडिट कार्ड के बिना वास्तविक डिवाइस पर शून्य रिटर्न होता है और रनटाइम अपवाद में चलता है।
if ([PKPaymentAuthorizationViewController canMakePayments]) {
// init arr
[arr addObject:total];
request.paymentSummaryItems = arr;
PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentPane.delegate = self;
[self presentViewController:paymentPane animated:TRUE completion:nil];
}
यहाँ सरणी PKPaymentSummaryItem का एक मान्य NSArray जिसके कारण सफलतापूर्वक सिम्युलेटर पर काम करता है है: यहाँ प्रवर्तन कोड है।
मुझे ओपनपेमेंट सेटअप के उपरोक्त विधि को कॉल करने की आवश्यकता है, हर बार जब मैं अपने वॉलेट में क्रेडिट कार्ड के बिना उपयोगकर्ता को देखता हूं। क्या इसका पता लगाने का कोई तरीका है?
वर्तमान में मैं
if ([PKPassLibrary isPassLibraryAvailable]) {
PKPassLibrary* lib = [[PKPassLibrary alloc] init];
if ([lib passesOfType:PKPassTypePayment].count == 0) {
[lib openPaymentSetup];
}
}
उपयोग कर रहा हूँ लेकिन चूंकि मैं बटुए में गुजरता की गिनती से देख रहा हूँ इस काम नहीं करेगा। PKPaymentAuthorizationViewController present as nil view controller
Apple pay PKPaymentauthorizationViewController always returning nil when loaded with Payment request
क्या कोई कारण है कि आप सेब दस्तावेज़ों से canMakePayments विधि का उपयोग नहीं कर सकते हैं? (https://developer.apple.com/library/ios/documentation/PassKit/Reference/PKPaymentAuthorizationViewController_Ref/#//apple_ref/occ/clm/PKPaymentAuthorizationViewController/canMakePayments) – bplattenburg
@bplattenburg यह हमेशा सत्य देता है। संपादन की जांच करें। – Rushabh
आपको 'canMakePaymentsUsingNetworks:' विधि का उपयोग करने की आवश्यकता है, 'canMakePayments' विधि नहीं। – rmaddy