2015-12-06 3 views
10

मैं बटन में एक गूगल संकेत लागू करने के लिए कोशिश कर रहा हूँ में iOS Google साइन, जब मैं अपने AppDelegate.swift फ़ाइल निम्न पंक्तियां जोड़ें, मैं इस त्रुटि मिलती है स्ट्रिंग: AnyObject] 'टाइपिंग इंडेक्स' स्ट्रिंग 'त्रुटि

कोई भी विचार इस कोड के साथ क्या गलत है? वैसे, इस कोड को बस की नकल की और पर गूगल पेज से चिपकाया जाता है: https://developers.google.com/identity/sign-in/ios/sign-in?configured&ver=swift

func application(application: UIApplication, 
    openURL url: NSURL, options options: [String: AnyObject]) -> Bool { 
     return GIDSignIn.sharedInstance().handleURL(url, 
      sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey], 
      annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) 
} 

iOS Google Sign In error

धन्यवाद

+0

आप त्रुटि इस बिंदु पर होता हैं? जब अपवाद होता है तो एक्सकोड द्वारा कौन सी रेखा को हाइलाइट किया जाता है? यदि यह वास्तव में इस फ़ंक्शन में है, तो 'विकल्प' का मूल्य क्या है? – jcaron

+0

प्रतिक्रिया jcaron के लिए धन्यवाद। हां, मैंने लाइन को जोड़ने के बाद मुझे आसानी से यह त्रुटि मिली। मैंने यह देखने के लिए बेहतर संदर्भ के लिए एक तस्वीर संलग्न की है कि कौन सी रेखा को हाइलाइट किया गया है। साथ ही, एक्सकोड त्रुटि के लिए यह अतिरिक्त स्पष्टीकरण दे रहा है: "इन आंशिक रूप से मेल खाने वाले पैरामीटर सूचियों के साथ 'सबस्क्रिप्ट' के लिए ओवरलोड मौजूद हैं: (शब्दकोशइंडेक्स ), (कुंजी), (रेंज ), (सेल्फ.इंडेक्स)" – NewbieWantsToMaster

+0

वैसे , मुझे विकल्पों के मूल्य की जांच कैसे करनी चाहिए? – NewbieWantsToMaster

उत्तर

11

handleURL sourceApplication और टिप्पणी के लिए के प्रकार "स्ट्रिंग" तर्कों की तलाश में है, लेकिन विकल्प "AnyObject" प्रदान कर रहा है। उन शब्द मानों को "स्ट्रिंग" कविता में कास्ट करना इसे करें। यह मैं हमेशा के लिए भी ले लिया स्विफ्ट 3

func application(_ application: UIApplication, 
       open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool 
    return GIDSignIn.sharedInstance().handle(url, 
     sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, 
     annotation: options[UIApplicationOpenURLOptionsKey.annotation] as? String) 
} 

स्विफ्ट 2

func application(application: UIApplication, 
    openURL url: NSURL, options: [String: AnyObject]) -> Bool { 
     return GIDSignIn.sharedInstance().handleURL(url, 
      sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String, 
      annotation: options[UIApplicationOpenURLOptionsAnnotationKey] as? String) 
} 

:

इस प्रयास करें:

अद्यतन। उम्मीद है की वो मदद करदे!

+0

एक आकर्षण की तरह काम किया। :) बहुत बढ़िया। – dhruvvyas90

8

Xcode 8 स्विफ्ट 3

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { 
    return GIDSignIn.sharedInstance().handle(
    url, 
    sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, 
    annotation: options[UIApplicationOpenURLOptionsKey.annotation]) 
} 
+0

मुझे लगता है कि यह कोड क्या करता है इसके बारे में कुछ नोट जोड़ना बेहतर होगा। धन्यवाद। – YoungHobbit

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