2016-08-16 8 views
7

हाल ही में एक्सकोड 8 बीटा 6 (8 एस201h) में, यह एक समस्या बन गई है।यूआईपीप्लिकेशंस लॉन्चऑप्शनशॉर्टकट इटैमकी स्विफ्ट 3 में नहीं है?

enter image description here

कोई और समस्या आ रही:

UIApplicationLaunchOptionsShortcutItemKey 

यहाँ त्रुटि है?

var performShortcutDelegate = true 
if let shortcutItem = launchOptions[UIApplicationLaunchOptionsKey.shortcutItem] as? UIApplicationShortcutItem { 
    print("ok") 
    self.shortcutItem = shortcutItem 
    performShortcutDelegate = false 
} 
return performShortcutDelegate 
+0

का उपयोग कर 'प्रयास करें guard': http://stackoverflow.com/questions/33689933/ambiguous-reference-to-member -स्क्रिप्टस्क्रिप्ट-ऑन-डिक्शनरी –

+0

कोई भाग्य नहीं :(एक ही त्रुटि –

+0

तो आपको अभी भी 'सदस्य सबस्क्रिप्ट' त्रुटि के अस्पष्ट संदर्भ मिल रहे हैं? आपका कोड दिखाए गए अनुसार सही दिखता है, इसलिए इसमें संलग्न कार्य के साथ कुछ करना पड़ सकता है। यह भी संभव है कि आपको अपने शॉर्टकट कोड के आस-पास ब्लॉक 'if # उपलब्ध (आईओएस 9.0, *) {} 'शामिल करना होगा। अधिक जानकारी/संदर्भ उपयोगी होगा। :) –

उत्तर

5

निरंतर बदल गया है (documentation देखें)। इसमें किसी भी मूल्य का उपयोग करने से पहले आपको launchOptions को अनदेखा करने की भी आवश्यकता है।

संदर्भ के लिए संलग्न कार्य शामिल है।

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    if let launchOptions = launchOptions { 
     if #available(iOS 9.0, *) { 
      if let shortcutItem = launchOptions[UIApplicationLaunchOptionsKey.shortcutItem] as? UIApplicationShortcutItem { 
       print("Shortcut: \(shortcutItem)") 
      } 
     } 
    } 
    return true 
} 
+1

के साथ काम नहीं कर रहा है यदि यह ['एप्लिकेशन (_: willFinishLaunchingWithOptions:)'] (https://developer.apple.com/reference/uikit/uiapplicationdelegate/1623032- एप्लिकेशन) में है, तो 'लॉन्चऑप्शन' शब्दकोष पहले से ही कुंजी प्रकार 'UIAplplicationLaunchOptionsKey' के लिए जाना जाता है। तो आप केवल 'लॉन्चऑप्शन [.shortcutItem] 'का उपयोग कर सकते हैं। – rickster

+1

नहीं, मुझे अभी भी वही सटीक त्रुटि मिलती है। –

+0

क्या आप अपना प्रश्न अपडेट कर सकते हैं जिसमें कोड और फ़ंक्शन शामिल है? (आदर्श रूप में, कृपया इसे स्क्रीनशॉट के रूप में नहीं, इनलाइन कोड के रूप में पेस्ट करें।) –

1

launchOptions शब्दकोश प्रकार [: AnyObject UIApplicationLaunchOptionsKey] को समारोह मापदंडों में बदल गया है।

private func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: AnyObject]?) -> Bool { 

    ... 

} 
0

प्रयास करें इस .. मुझे Xcode8 प्रयोग करने के लिए अपने काम है, swift3

//Check for ShortCutItem 
    if #available(iOS 9.0, *) { 
     if let shortcutItem = launchOptions?[UIApplicationLaunchOptionsKey.shortcutItem] as? UIApplicationShortcutItem { 
     } 
    }