पर अलग-अलग परिणाम देता है मैंने डिफ़ॉल्ट एक्सकोड टेम्पलेट के साथ वॉचकिट एप्लिकेशन बनाया है। मैंने वॉचकिट ऐप लक्ष्य और वॉचकिट ऐप एक्सटेंशन लक्ष्य में आईओएस लक्ष्य के लिए ऐप समूह एंटाइटेलमेंट जोड़ा। (इस एप्लिकेशन को समूह का नाम है: group.com.lombax.fiveminutes) फिर , मैं दोनों iOS एप्लिकेशन और WatchKit एक्सटेंशन के साथ साझा किए गए फ़ोल्डर यूआरएल पहुँचने का प्रयास किया:containerURLForSecurityAplicationGroupIdentifier: आईफोन और घड़ी सिम्युलेटर
एक्सटेंशन:
@implementation ExtensionDelegate
- (void)applicationDidFinishLaunching {
// Perform any final initialization of your application.
NSURL *test = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.lombax.fiveminutes"];
}
iOS एप्लिकेशन:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSURL *test = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.lombax.fiveminutes"];
// ...
}
हालांकि, test
NSURL अलग है:
iOS पर:
घड़ी परfile: /// उपयोगकर्ताओं/Lombardo/Library/डेवलपर/CoreSimulator/उपकरण/38B983DB-342F-4A47-8C26-5D2C92CDB666/डेटा/कंटेनर/साझा/AppGroup/8DEE182E-AFE6-47DD-BA2B-6B0520158A8B/
:
file: /// उपयोगकर्ताओं/Lombardo/Library/डेवलपर/CoreSimulator/उपकरण/BF52D613-25FF-4092-A5B2-9C3F1B616160/डेटा/कंटेनर/साझा/AppGroup/सीईसीबी 5 ईएफसी -7 एफबीडी -4 सी 84-ए 878-1314 सीबी 7 सीएफ 211/
और इस कारण से मैं आईओएस ऐप और वॉचकिट एक्सटेंशन के बीच डेटा साझा करने में असमर्थ हूं।
मैं एक असली डिवाइस पर कोशिश कर सकता हूं क्योंकि मेरे पास मेरे ऐप्पल वॉच पर वॉचोज़ 2.0 नहीं है। कोई सलाह?
- स्थापित WatchOS 2, समस्या अभी भी वास्तविक उपकरणों पर बनी रहती है: धन्यवाद
अद्यतन मैं कुछ अन्य परीक्षण किया था।
NSURL * @ "फ़ाइल:
यह मेरी iPhone के लिए दुकान यूआरएल है /// निजी/var/मोबाइल/कंटेनर/साझा/AppGroup/3D05D159-94D6-409C-9A38 -90E0830D0C3F/FiveMinutes.sqlite "
और ये मेरे घड़ी के लिए दुकान यूआरएल है:
NSURL * @" file: /// निजी ई/var/मोबाइल/कंटेनर/साझा/AppGroup/F1E89377-F456-4FC2-BAAC-3DD705EF381A/FiveMinutes.sqlite "
दो क्षुधा पढ़ता है और करने के लिए से दो अलग अलग .sqlite
फ़ाइलें लिखने।
- सिम्युलेटर पर, अगर मैं कड़ी मेहनत से कोड URL में से एक है, दोनों आईओएस सिम्युलेटर और घड़ी सिम्युलेटर ही
.sqlite
फ़ाइल को पढ़ने-लिखने और सामग्री साझा करने में सक्षम हैं। बहरहाल, यह वास्तविक उपकरणों पर संभव नहीं है के बाद से घड़ी विस्तार आईओएस पथ के लिए नहीं लिख सकता:
यूआरएल: file: /// निजी/var/मोबाइल/कंटेनर/साझा/AppGroup/3D05D159-94D6 -40 9 सी -9 ए 38-90E0830D0C3F/FiveMinutes.sqlite विकल्प: (शून्य) ... त्रुटि लौटा त्रुटि डोमेन = NSCocoaErrorDomain कोड = 512 "फ़ाइल सहेजी नहीं जा सका।" UserInfo = {कारण = फ़ाइल बनाने में विफल; कोड = 2} userInfo शब्दकोश के साथ { कारण = "फ़ाइल बनाने में विफल; कोड = 2"; }
लेकिन क्या आपने वास्तव में फ़ाइलों को रखने और उन्हें एक्सेस करने का प्रयास किया? भगवान जानता है कि कैसे सिम्युलेटर काम करता है और यह किस फ़ोल्डर्स का उपयोग करता है। WatchOS 2.0 के बोलते हुए। वे अब मूल एप्स हैं। क्या आपको ऐप देखने के लिए एंटाइटेलमेंट भी नहीं जोड़ना चाहिए? – Yaroslav
हां, मैंने फ़ाइलों को लिखने की कोशिश की और उन्हें अलग-अलग स्थानों पर रखा गया, आईओएस घड़ी फ़ाइल तक नहीं पहुंच सकता है और आईओएस फाइल तक नहीं पहुंच सकता है। मैंने आईओएस ऐप, घड़ी ऐप और घड़ी एक्सटेंशन में एंटाइटेलमेंट जोड़ा। एंटाइटेलमेंट को ठीक जोड़ा जाना प्रतीत होता है, क्योंकि अगर मैं कुछ अलग करने के लिए एंटाइटेलमेंट स्ट्रिंग बदलता हूं तो वापस लौटाए गए NSURL शून्य हो जाते हैं – LombaX