我目前在App Store和我的设备上有一个应用程序,为了这篇文章MyApp1,名为com.myname.myapp
。
在过去的几周里,我一直在从头开始重写整个应用程序,同时添加了许多新功能,作为新的Xcode项目与旧的一起。就iTunes Connect和iOS而言,它应该仍然是旧的(版本)应用程序的更新。
在测试期间,我让我的设备和模拟器中的两个应用程序并排运行,新应用程序使用包标识符com.myname.myapp2
,一切正常。
但是现在应用程序已经完成,我希望它覆盖/更新我的设备和模拟器中的旧应用程序,以查看从旧应用程序导入数据的代码是否按预期工作。
因此,我将Info.plist
中新应用的包标识更改为com.myname.myapp
,并在Xcode中选择了Build and Debug
。但是,如果仍然使用相同的Documents
文件夹,而不是新应用程序覆盖旧应用程序,那么它可以导入旧数据,正如我预期的那样,我收到了错误。
这就是我正在做的事情和发生的事情:
Reset cache
Clean All Targets
Build and Run
(使用Release
配置)NSUserDefaults
数据,稍后应由MyApp2导入的更改(使用不同的数据模型)Stop
Clean All Targets
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文件夹?
提前致谢!
我已经尝试过的事情,正如其他人所建议的那样,但没有帮助:
build
文件夹Touch
ing MainWindow.xib
答案 0 :(得分:3)
使用Xcode管理器窗口将旧应用程序的Documents文件夹下载到Mac。然后完全删除旧应用程序,安装新应用程序。最后使用Xcode管理器恢复Documents文件夹备份。