views:

201

answers:

1

I need to change the bundle identifier of my iPhone app before I can upload it to the app store. However, I also have data in my Core Data store which want to continue using even after I change the bundle identifier. However, it seems that the bundle identifier is how the iPhone knows whether apps are identical with one another, so I end up with two distinct copies of the app -- with two distinct core data stores -- on my phone! I know that I can download the sqlite data store through the Xcode organizer, how can I make sure that my data transfers to the new app package with the new bundle identifier?

+1  A: 

With some exceptions for OS4 every app (identified by it's BI) has it's own isolated storage on the phone. If you really have to change this (will also disable free updates for buyers of the "old version") you have to find an external migration way.

A lot of apps offer some kind of "backup" (on a PC / MAC or something else). What we did for a customer was to establish a website which allows "short time data storage". So that the old app could upload the data - and the new one loads it down. Of course this means updating your old app first for the "export".

But the idea "your app lives in it's own isolated world" also means that you have no access to the data of other apps. From the point of security this is imporant and good. For building "app suites" where the apps want to share data it's bad. But apples made enhancments for this in OS4 - which (I guess) won't help you in your case, since "sharing apps" must also be special designed.

ManniAT
Thanks, this is very helpful. Really this is just data that I am using for myself - the app has not yet been released to the public - but I'll just have to reconstruct it. Not the end of the world.
Jason