Изменение идентификатора пакета приложения для iPhone - сохранить основное хранилище данных? - PullRequest
0 голосов
/ 25 июня 2010

Мне нужно изменить идентификатор пакета моего приложения для iPhone, прежде чем я смогу загрузить его в магазин приложений.Тем не менее, у меня также есть данные в моем Базовом хранилище данных, которые я хочу продолжать использовать даже после того, как я изменю идентификатор пакета.Однако кажется, что идентификатор пакета - это то, как iPhone узнает, идентичны ли приложения друг другу, поэтому я получаю две разные копии приложения - с двумя разными хранилищами основных данных - на моем телефоне!Я знаю, что могу загрузить хранилище данных sqlite через органайзер XCode, как я могу убедиться, что мои данные переносятся в новый пакет приложения с новым идентификатором пакета?

Ответы [ 2 ]

1 голос
/ 16 марта 2013

Я знаю, что этот вопрос очень старый, но я только заметил это, когда искал ответ на ту же проблему, и подумал, что он все еще может быть полезен для других.Оригинальный постер наполовину ответил на свой вопрос, но не сделал следующего шага.

Если вы еще не выпустили свое приложение в магазине приложений и хотите изменить идентификатор пакета, возможно,скопировать ваше хранилище CoreData из одной песочницы в другую, используя органайзер Xcode, как предложено выше.Очевидно, что это полезно только для вашего собственного устройства (что, я думаю, именно то, что хотел сделать оригинальный постер);этот процесс не позволит передавать данные на устройства других пользователей, если они купили ваше приложение, поэтому НЕ меняйте идентификатор пакета после его выпуска.

Сначала запустите старое приложение.(со старым идентификатором пакета) на вашем устройстве.В органайзере XCode выберите свое устройство, затем «Приложения», затем выберите приложение (со старым идентификатором) и загрузите данные на свой Mac.

Затем установите новое приложение на свое устройство (соберите и запустите его,затем выйти)В органайзере Xcode (и на самом устройстве) вы теперь сможете видеть два приложения, по одному с каждым идентификатором пакета.Выберите файл с новым идентификатором, выберите «Загрузить» и загрузить файл данных, который вы сохранили из старой песочницы.Теперь у вас должен быть доступ ко всем вашим старым данным в новом приложении.Очень удобно, если вы не хотите воссоздавать все данные.

1 голос
/ 25 июня 2010

За некоторыми исключениями для OS4 каждое приложение (обозначенное как BI) имеет свое изолированное хранилище на телефоне. Если вам действительно нужно изменить это (также отключите бесплатные обновления для покупателей «старой версии»), вам нужно найти способ внешней миграции.

Многие приложения предлагают какое-то «резервное копирование» (на ПК / MAC или что-то еще). Для клиента мы создали веб-сайт, который позволяет «кратковременно хранить данные». Чтобы старое приложение могло загружать данные, а новое загружало их. Конечно, это означает, что сначала нужно обновить старое приложение для «экспорта».

Но идея «ваше приложение живет в своем изолированном мире» также означает, что у вас нет доступа к данным других приложений. С точки зрения безопасности это важно и важно. Для создания "приложений", где приложения хотят обмениваться данными, это плохо. Но Apple сделала улучшения для OS4 - что (я думаю) не поможет вам в вашем случае, так как «совместное использование приложений» также должно быть специально разработано.

...