2015-11-18 11 views
11

का समर्थन करता है मैं एक ऐप्पल पे एकीकरण प्रोजेक्ट शुरू कर रहा हूं और डिवाइस पर एक लेनदेन को तार करने में सक्षम हूं, और भुगतान को अधिकृत करने के लिए स्ट्रिप का उपयोग कर रहा हूं। जिस हिस्से में मैं वास्तव में संघर्ष कर रहा हूं वह डिवाइस के परीक्षण के लिए उचित तरीका है कि ऐप्पल पे का समर्थन किया गया है या नहीं? इस प्रकार, पुराने आईफोन मॉडल के लिए मैं ऐप्पल पे फीचर्स को छिपाने का विकल्प चुनूंगा, भले ही उनके पास आईओएस 8 या आईओएस 9 इंस्टॉल हो।आईओएस डिवाइस को कैसे सत्यापित करें ऐप्पल पे

मैं शायद डिवाइस मॉडल की जांच कर सकता हूं, और < Iphone5S के लिए लागू आवेदन को अनदेखा कर सकता हूं। हालांकि यह जटिल हो जाता है अगर मुझे आईपैड संस्करणों का परीक्षण शुरू करने की भी आवश्यकता है, आदि

मैं सोच रहा था कि अगर ऐप्पलपे समर्थित है तो किसी भी तरह की जांच करने के लिए कोई तरीका है?

मुझे यह विधि ऑनलाइन एक विचार के रूप में मिली, हालांकि दावा किया गया कि आईफोन 5 सिम्युलेटर में सेब का भुगतान समर्थित था, जिसे मैं कल्पना करता हूं कि पूरी तरह से सच नहीं है। दुर्भाग्य से परीक्षण करने के लिए मेरे पास आईफोन 5 वास्तविक डिवाइस नहीं है।

- (BOOL) applePaySupported { 
    return [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]]; 
} 

संपादित करें/समाधान:

मैं अब इस लाइन का उपयोग करें और यह Iphone5 (समर्थित नहीं) बनाम iphone6 ​​(समर्थित) के लिए काम करने के लिए सत्यापित किया गया है; और मैं अन्य उपकरणों को मानता हूं। मुझे पूरी तरह से यकीन नहीं है कि यह हमेशा सिम्युलेटर में काम करता है लेकिन ऐप्पलपे वहाँ वैसे भी थोड़ा अजीब है और डिवाइस पर परीक्षण सबसे अच्छा किया जाता है।

- (BOOL) applePaySupported { 
    return [PKPaymentAuthorizationViewController canMakePayments] && [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]]; 
} 

उत्तर

6

canMakePayments - "हाँ" (सही/1) कार्ड विन्यास की वापसी होगी पर ध्यान दिए बिना।

canMakePaymentsUsingNetworks - अगर कार्ड कॉन्फ़िगर नहीं किया गया है या ठीक से कॉन्फ़िगर नहीं किया गया है, तो "नहीं" वापस आ जाएगा।

तो, दोनों को जांचना चाहिए ... यदि दोनों को सत्य होना चाहिए तो केवल बटन "ऐप्पल पे" दिखाई देने की आवश्यकता है।

उम्मीद है कि इससे मदद मिलती है।

+0

मैंने दोनों स्थितियों को एक साथ करने की कोशिश की है लेकिन यह हमेशा सच हो रहा है, कृपया मुझे बताएं कि क्या करना है? –

+0

रोनाक सही है, दोनों चेक आवश्यक हैं। – Rushabh

2

एस में स्विफ्ट 3.0 आप इस डिवाइस के समर्थन सेब का भुगतान कर सकते हैं या नहीं, इस funcation के माध्यम से यह आपके डिवाइस का समर्थन सेब का भुगतान सही है।

iPhone 5sआप खरीद ही अगर नवीनतम शांति

iPhone एसई,

iPhone 6 या बाद में,

: यहाँ है कि सेब वेतन का समर्थन उपकरण की सूची

आईपैड प्रो,

आईपैड 5 वीं पीढ़ी,

iPad Air 2,

iPad मिनी 3 या बाद में,

और एप्पल घड़ी।

func applePaySupported() -> Bool { 
      return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard]) 
} 
+1

प्रतिस्थापित करें || द्वारा && और यह सही होगा –

+0

@YauheniShauchenka सुधार के लिए धन्यवाद। –

संबंधित मुद्दे