Beim Erstellen einer App-Gruppen-ID im Provisioning-Portal (oder wie auch immer es jetzt heißt), heißt es "Geben Sie einen eindeutigen Bezeichner für Ihre App-Gruppe ein, beginnend mit der Zeichenfolge 'group'" und scheint dies im Eingabefeld zu erzwingen . Außerdem verwenden viele Beispielcodes App-Gruppen-ID-Zeichenfolgen wie "group.com.company.blah".iOS/OSX App Group IDs, starten Sie sie mit "Gruppe". oder "Team-ID"?
jedoch die endgültigen Abschnitte ich gesehen habe auf der ganzen Dokumentation verknüpft, App Sandbox Design Guide > App Sandbox In Depth > Container Directories and File System Access > The Application Group Container Directory und Entitlements Key Rerefence > Enabling App Sandbox > Adding an App to an App Group, direkt dies im Widerspruch, eindeutig erklärt, „muss durch einen Punkt mit Ihrem Entwicklungsteam ID, gefolgt beginnen“.
Die Beispiele in diesem Abschnitt sind wie "Z123456789.com.example.app-group" bzw. "DG29478A379Q6483R9214.HolstFirstAppSuite". (Whah, ist das letzte eine super komische Team ID oder was?)
Also, mit dieser Inkonsistenz, was mache ich, um eine App Group ID zu arbeiten? Soll ich im Provisioning Portal "group.TEAM-ID.com.example.blah" eingeben? Und sollte ich dieselbe Zeichenfolge in meinen Quelltextzeichenfolgen verwenden oder die "Gruppe" weglassen? Teil sein wie die vielen Codebeispiele? Oder ist die Dokumentation falsch und die Team ID wird nie benötigt?
Kontext ... Ich habe versucht, eine iOS-Cocoapod-Test-App zu aktualisieren, so dass ich die Erweiterung < -> App-Kommunikation in Aktion sehen kann. Nach dem Aktualisieren der App IDs und Gruppen-ID zu einem in meiner Kontrolle und bei der Verwendung einer Gruppen-ID ähnlich wie im ursprünglichen Projekt, wie "group.com.mycompany.thothie", sehe ich containerURLForSecurityApplicationGroupIdentifier:
nichts tun, aber Null zurückgeben und nothing else hat behoben es.
UPDATE: (hat dieses Bild für Klarheit zu sehen, wie SO mich darüber informiert, dass diese Q viele Hits bekommt) Es stellt sich heraus das Zeug toleranter ist, als ich ursprünglich dachte, da das nil
Ergebnis stellt sich heraus gewesen zu sein (meist ?) mein Tun. Siehe die Antwort & ihr Kommentar Thread. Ich habe nicht überprüft, ob die Dokumentation & Beispiele noch klarer sind.
"Solange com.companyname.appname mit dem übereinstimmt, was Sie als Bundle-Bezeichner eingerichtet haben" .. kann nicht sowohl für App als auch für Erweiterung oder für eine Sammlung mehrerer Apps gelten. Es gibt also eine Einschränkung für den Gruppen-ID-Wert, der der "Gruppe" folgt. Teil oder nicht? –
Für eine Erweiterung, die ich in Apples Beispielcode aus "WatchKit Catalogue Watchkit App" gesehen habe, hat der Bundle Identifier einen zusätzlichen Abschnitt, wie "com.example.apple-samplecode.WatchKit-Catalog.watchkitextension" und dann für die WatchKit App es hat auch einen zusätzlichen Abschnitt "com.example.apple-samplecode.WatchKit-Catalog.watchkitapp" abgeholt Also vielleicht ist die einzige Einschränkung der erste Teil der Bundle-Kennung. – gregyoung14
"vielleicht" .. Yup, die mein eigenes Vertrauen in all das spiegelt. Ich hatte gehofft, definitive Antworten zu bekommen und alles, was ich gefunden habe, ist "das scheint basierend auf dem Beispielcode zu funktionieren". Vielen Dank, dass Sie sich angemeldet haben, und da dies der beste ist, den man angesichts des aktuellen Stands der Dokumentation sagen kann, wird Ihre Antwort vergeben. –