app bundle id bei neuer App beibehalten?

Kann ich bei einer neuen Version meiner App die bundle id beibehalten? Also die soll auch als ganz neue App im MAS erscheinen…
Wenn ich die bundle id beibehalten könnte, würde die neue App auf die Daten der Vorversion zugreifen können.

Wenn ich zwangsweise eine neue bundle id benötige, wie schiebe ich die Daten rüber?
Beim Umstieg zu Sandboxed ging das mit der container-migration.plist

OK, ich brauche eine neue Bundle ID, wie bekomme ich die Daten von der dem alten COntainer in den neuen Container??

Mit “Temporary Entitlements” und “Specific File & Folder Access” “Read-Only” auf $HOME/Containers//Data/Library/Application Support/. Und zur Sicherheit in iTunesConnect bei der App im Feld “Anmerkungen” diesen temporren Zugriff genau beschreiben.

Ok, danke… und dann?
Muss ich die Daten dann per Code in den neuen Container schieben? Shellstring?

Nein, nicht mit einer Shell, sondern mit einem FolderItem. Sonst lehnen die Apple Kollegen die App wieder ab.

Danke, ich spiele das mal morgen in einem test durch…

Wenn ich die App neu anlege im AppStore, muss ich dann auch bei “Informationen zur App-Sandbox” die erforderliche Berechtigung angeben… nur, welche whle ich davon?

diese hier?
com.apple.security.temporary-exception.files.absolute-path.read-write

Ich mchte ja die Daten in den neuen Order moven…

Ja das sind die richtigen Exceptions. Warum nicht com.apple.security.temporary-exception.files.absolute-path.read-only? Dann luft die alte Software noch.

Ich verstehe nicht, wie du das meinst…
Ich schau beim Start der neuen Version ob für diese bereits ein Ordner in Containers vorhanden ist.
Wenn nicht schaue ich, ob es einen altem Ordner gibt, finde ich diesen verschiebe oder kopiere ich die Daten in den neuen Container…
Meinst du, dass ich sie kopieren soll… also nur lesen?

Ich empfehle:

  1. Starte die neue Version.
  2. Prüfe per Setting ob bereits in einem früheren Start der neuen App, alte Daten importiert wurden.
  3. Schaue nach “alten” Daten.
  4. Lade die “alten” Daten.
  5. Notiere in einem setting das die “alten” Daten geladen/importiert wurden.
  6. Arbeite mit den “alten” Daten in der neuen App.

OK, soweit so gut, das scheint alles zu funktioneiren jedoch habe ich folgende Meldung ind er Console:

Wie gesagt, die Version luft wie sie soll, woher knnte diese Meldung kommen?

storeaccountd(443) deny file-write-create /Users/stefan/Library/Caches/de.onlymac.eurofaktura6

Process: storeaccountd [443]
Path: /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/storeaccountd
Load Address: 0x10dfff000
Identifier: storeaccountd
Version: ??? (???)
Code Type: x86_64 (Native)
Parent Process: launchd [1]
User ID: 503

Die obige Meldung kam nur einmalig… also mal ignorieren :wink: