Dev iPhoneアプリのバンドル識別子の変更-Core Data Storeを保持しますか?

StackOverflow https://stackoverflow.com/questions/3114011

  •  29-09-2019
  •  | 
  •  

質問

App Storeにアップロードする前に、iPhoneアプリのバンドル識別子を変更する必要があります。ただし、コアデータストアには、バンドル識別子を変更した後でも使用を続けたいデータもあります。ただし、バンドル識別子は、iPhoneがアプリが互いに同一であるかどうかを知っている方法であるように思われます。そのため、アプリの2つの異なるコピー(2つの異なるコアデータストア)が携帯電話に表示されます。 Xcodeオーガナイザーを介してSQLiteデータストアをダウンロードできることを知っていますが、新しいバンドル識別子を使用してデータが新しいアプリパッケージに転送されるようにするにはどうすればよいですか?

役に立ちましたか?

解決

OS4のいくつかの例外を除いて、すべてのアプリ(IT'S BIで識別)には、電話に独自の分離されたストレージがあります。これを本当に変更する必要がある場合(「古いバージョン」のバイヤーの無料アップデートも無効にします)、外部移行方法を見つける必要があります。

多くのアプリは、ある種の「バックアップ」(PC / Macなど)を提供しています。顧客のために行ったことは、「短い時間データストレージ」を許可するWebサイトを確立することでした。古いアプリがデータをアップロードできるようになり、新しいアプリはそれをロードします。もちろん、これは「エクスポート」のために最初に古いアプリを更新することを意味します。

しかし、「あなたのアプリはそれ自身の孤立した世界に住んでいる」という考えは、他のアプリのデータにアクセスできないことも意味します。セキュリティの時点から、これは招待的で良いです。アプリがデータを共有したい「アプリスイート」を構築するためには、それは悪いことです。しかし、ApplesはOS4でこれを強化しました - 「アプリの共有」も特別に設計する必要があるため、これはあなたの場合に役立ちません。

他のヒント

私はこの質問が非常に古いことを知っていますが、同じ問題に対する答えを探している間に気づき、他の人にとってはまだ役立つかもしれないと思いました。オリジナルのポスターは彼自身の質問を半回っていましたが、次の一歩を踏み出しませんでした。

アプリストアでまだアプリをリリースしておらず、バンドル識別子を変更する場合は、上記のようにXcodeオーガナイザーを使用して、CoreDataストアから別のサンドボックスにコピーすることができます。明らかに、これはあなた自身のデバイスにのみ役立ちます(これは元のポスターがやりたいことだと思います)。このプロセスでは、アプリを購入した場合、他のユーザーのデバイスでデータを転送することはできません。そのため、アプリがリリースされた後、バンドル識別子を変更しないでください。

まず、デバイスで古いアプリ(古いバンドル識別子のあるもの)を実行します。 Xcodeオーガナイザーで、デバイスを選択してからアプリケーションを選択し、アプリ(古い識別子を使用して)を選択し、データをMacにダウンロードします。

次に、デバイスに新しいアプリをインストールします(ビルドして実行してから終了します)。 Xcodeオーガナイザー(およびデバイス自体)では、各バンドル識別子を備えた2つのアプリを表示できるようになりました。新しい識別子を使用して1つを選択し、[古いサンドボックスから保存したデータファイルをアップロードしてアップロードします。これで、新しいアプリのすべての古いデータにアクセスできるようになりました。すべてのデータを再作成したくない場合は非常に便利です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top