मैं सिर्फ स्विफ्ट 3 करने के लिए एक स्विफ्ट 2 एप्लिकेशन परिवर्तित की आवश्यकता है, मेरे कोड एक क्लास WCSessionDelegate
के रूप में चिह्नित है Xcode 8.WCSessionDelegate: sessionDidBecomeInactive और sessionDidDeactivate अनुपलब्ध चिह्नित किया गया है, लेकिन
की परिवर्तित समारोह का उपयोग कर।
स्विफ्ट 2 में यह sessionDidBecomeInactive
और sessionDidDeactivate
विधियों के बिना संकलित किया गया।
अगर मैं स्विफ्ट 3 संस्करण संकलित करता हूं, तो संकलक शिकायत करता है कि मेरी कक्षा प्रोटोकॉल WCSessionDelegate
के अनुरूप नहीं है, जो स्पष्ट रूप से सही है।
यह तो दोनों कार्यों के लिए स्टब्स सम्मिलित करने के लिए प्रदान करता है:
public func sessionDidBecomeInactive(_ session: WCSession) { }
public func sessionDidDeactivate(_ session: WCSession) { }
के बाद इन स्टब्स डाला जाता है, इन त्रुटियों को रिपोर्ट कर रहे हैं:
Cannot override 'sessionDidBecomeInactive' which has been marked unavailable
Cannot override 'sessionDidDeactivate' which has been marked unavailable
मैं इस समस्या का समाधान कैसे कर सकते हैं?
कक्षा को देखना चाहिए जहां आपने 'निष्क्रिय' और 'निष्क्रिय' कॉलबैक जोड़ा था; क्या यह आईओएस ऐप और वॉचकिट एक्सटेंशन दोनों के लिए संकलित और उपयोग किया जाता है? – ccjensen
@ccjensen: हाँ, यह कक्षा साझा की जाती है। –
@ccjensen: समस्या तब भी मौजूद है, यदि कक्षा में लक्ष्य के रूप में केवल घड़ी एक्सटेंशन है। –