MacOS उत्प्रेरक अनुप्रयोग में एक नई विंडो खोलने का प्रयास करते समय, मैं NSUserActivity के उदाहरण का वर्णन करने के लिए इस एनम का उपयोग कर रहा हूं:

enum Activity: String {
  case list
  case settings

  var type: String {
    "com.example.app.\(rawValue)"
  }

  var userActivity: NSUserActivity {
    NSUserActivity(activityType: type)
  }
}

फिर एक नई विंडो खोलने के लिए, मैं इस कोड का उपयोग बटन टैप हैंडलर में करता हूं, जैसा कि यह raywenderlich.com ट्यूटोरियल:

UIApplication
  .shared
  .requestSceneSessionActivation(
    nil,
    userActivity: Activity.settings.userActivity,
    options: nil,
    errorHandler: nil
  )

हालांकि, यह काम नहीं करता है और मुझे हमेशा यह त्रुटि संदेश डीबगर कंसोल में मिलता है:

[Scene] Calling -[UIApplication requestSceneSessionActivation:] requires multiwindow adoption.

इस त्रुटि संदेश का क्या अर्थ है और उत्प्रेरक ऐप में एकाधिक विंडोज़ कार्य के लिए समर्थन करने के लिए यहां संभावित रूप से अनुपलब्ध चरण क्या हैं?

0
Max Desiatov 29 मार्च 2020, 22:17

1 उत्तर

सबसे बढ़िया उत्तर

आपके Info.plist में UIApplicationSceneManifest डिक्शनरी में UIApplicationSupportsMultipleScenes की को YES पर सेट करना वास्तव में कारगर है:

    <key>UIApplicationSceneManifest</key>
    <dict>
        <key>UIApplicationSupportsMultipleScenes</key>
        <true/>
    </dict>

या यदि आप Xcode GUI पसंद करते हैं, तो इस स्क्रीनशॉट को देखें:

Info.plist in Xcode with the "Enable Multiple Windows" setting

दुर्भाग्य से, यह सेटिंग raywenderlich.com ट्यूटोरियल< में प्रलेखित प्रतीत नहीं होती है। /a> या उत्प्रेरक पर Apple के किसी भी गाइड में। ऐसा लगता है कि यह केवल इस डेवलपर संदर्भ पृष्ठ पर प्रलेखित है।

0
Max Desiatov 29 मार्च 2020, 19:17