В настоящее время у меня есть приложение в 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)
Кто-нибудь знает, как я могу сделать эту работу, как я могу иметь принципиально новое приложение, перезаписывающее старое на моем устройстве и в симуляторе, поэтому он все равно будет использовать одну и ту же папку Documents?
Спасибо заранее!
Вещи, которые я уже пробовал, как это было предложено другими, но не помогли:
- Перезапуск Xcode
- Перезагрузите компьютер.
- Удаление папки
build
из папки проекта Xcode -
Touch
ingMainWindow.xib