В настоящее время у меня есть приложение в App Store и на моем устройстве, названное, ради этого поста, MyApp1, с идентификатором пакета com.myname.myapp
.
За последние пару недель я переписывал все приложение с нуля, также добавляя множество новых функций, как новый проект Xcode наряду со старым. Что касается iTunes Connect и iOS, тем не менее, это должно быть обновление для старого (версии) приложения.
Во время тестирования у меня на устройстве и в симуляторе работали оба приложения вместе с новым приложением, использующим идентификатор пакета com.myname.myapp2
, и все работало нормально.
Но теперь, когда приложение завершено, я хочу, чтобы оно перезаписало / обновило старое приложение на моем устройстве и в симуляторе, чтобы увидеть, работает ли код, импортирующий данные из старого приложения, как ожидалось.
Итак, я изменил идентификатор пакета нового приложения в Info.plist
на com.myname.myapp
и выбрал Build and Debug
в Xcode. Но вместо того, чтобы новое приложение перезаписывало старое приложение, все еще используя ту же папку Documents
, чтобы оно могло импортировать старые данные, как я и ожидал, я получил ошибку.
Вот что я делаю и что случилось:
- Симулятор:
Reset cache
- Xcode для MyApp1:
Clean All Targets
- Xcode для MyApp1:
Build and Run
(с использованием конфигурации Release
)
- MyApp1: измените некоторые данные
NSUserDefaults
с помощью приложения, изменения, которые впоследствии должны быть импортированы MyApp2, который использует другую модель данных
- Xcode для MyApp1:
Stop
- Xcode для MyApp2:
Clean All Targets
- Xcode для MyApp2:
Build and Run
(с использованием конфигурации Release
)
Что происходит, если следующая ошибка появляется 3 раза, каждый раз для разных классов в консоли MyApp2:
Unknown class [class referenced in the MyApp1 MainWindow.xib file] in Interface Builder file.
Похоже, почему-то не все файлы перезаписаны, так как ошибка вызвана загрузкой MainWindow.xib
старой версии.
(Относительно неинтересный кадр стека: http://cl.ly/1F1w1J1u3t1C2U2o2D2C)
Может кто-нибудь знает, как я могу заставить эту работу работать, как я могу заставить принципиально новое приложение перезаписать старое на моем устройстве и в симуляторе, чтобы оно все равно использовало одну и ту же папку «Документы»?
Заранее спасибо!
То, что я уже пробовал, как предлагали другие, но не помогло:
- Перезапуск Xcode
- Перезагрузка компьютера
- Удаление папки
build
из папки проекта Xcode
Touch
ing MainWindow.xib