2015-09-22 8 views
6

फेसबुक ने [FBSDKMessengerSharer messengerPlatformCapabilities] विधि को बहिष्कृत कर दिया है जिसका उपयोग यह जांचने के लिए किया जाता है कि उपयोगकर्ता के पास मैसेंजर ऐप इंस्टॉल है या नहीं। चेतावनी संदेश में, यह कहते हैं:जांचें कि क्या उपयोगकर्ता के पास फेसबुक मैसेंजर स्थापित है आईओएस 9

messengerPlatformCapabilities अब मान्य नहीं है: यह https://developers.facebook.com/docs/ios/ios9

में वर्णित के रूप में मैं चाहते हैं आईओएस 9. के रूप में हटा दिया गया है तो आप इस का उपयोग करते हैं, तो आप अपने plist कॉन्फ़िगर करना होगा

if (![FBSDKMessengerSharer messengerPlatformCapabilities]) { 
    [self.inviteFriendsButton setEnabled:NO]; 
    [self.inviteFriendsButton setAlpha:0.5f]; 
} 

वहाँ किसी भी अन्य विधि है: इस विधि को दूर है, लेकिन इस कोड को बदलने के लिए किसी भी अन्य विकल्प नहीं मिला है (है कि एक बटन अक्षम है, तो उपयोगकर्ता स्थापित मैसेंजर ऐप नहीं है बनाता है)? या, नई आईओएस आवश्यकताओं के रूप में मुझे इस if का उपयोग करने से बचना चाहिए? पहले ही, आपका बहुत धन्यवाद।

उत्तर

12

कस्टम URL योजना fb-messenger:// खोला जा सकता है या नहीं, यह देखने के लिए आप canOpenURL का उपयोग करना चाहेंगे। canOpenURL एक BOOL मान देता है जो इंगित करता है कि डिवाइस पर स्थापित कुछ ऐप द्वारा यूआरएल की योजना को नियंत्रित किया जा सकता है या नहीं। यदि canOpenURLYES देता है तो एप्लिकेशन डिवाइस पर मौजूद है।

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb-messenger://"]]) { 
    // Installed 
    [self.inviteFriendsButton setEnabled:YES]; 
    [self.inviteFriendsButton setAlpha:1.0]; 
} 
else { 
    // NOT Installed 
    [self.inviteFriendsButton setEnabled:NO]; 
    [self.inviteFriendsButton setAlpha:0.5]; 
} 

इसके अलावा, आईओएस 9 से शुरू आप अपने info.plist में LSApplicationQueriesSchemes शामिल करना चाहिए।

enter image description here

2

फेसबुक एसडीके v4.6.0 की रिलीज के बाद वे अपने URL योजना के रूप में fb-messenger-api का उपयोग करें।

स्विफ्ट 2,3

if UIApplication.sharedApplication().canOpenURL(NSURL(string: "fb-messenger-api://")!) { 
    // Installed 
} else { 
    // Not installed 
} 

स्रोत: https://developers.facebook.com/docs/ios/ios9

0

स्विफ्ट 3 का उपयोग करने वालों के लिए, इस का उपयोग करें:

UIApplication.shared.canOpenURL(URL(string: "fb-messenger-api://")!) 
0

मेरे मामले में मुझे पता है कि एक बटन दिखाया जाए या जरूरत उपयोगकर्ता मैसेंजर पर सामग्री साझा करने के लिए दबा सकते हैं। यह मेरे मामले के लिए काम करता है, और यह भी जांचता है कि मैसेंजर ऐप इंस्टॉल है या नहीं।

-(BOOL) canShareViaMessenger { 
    [[[FBSDKMessageDialog alloc] init] canShow] 
} 
संबंधित मुद्दे