新的iPhone应用程序作为旧应用程序的更新,相同的Bundle标识符,Xcode给出错误

Dou*_*aan 12 iphone xcode

我目前在App Store和我的设备上有一个应用程序,为了这个帖子MyApp1,带有包标识符com.myname.myapp.

在过去的几周里,我一直在重写整个应用程序,同时添加了许多新功能,作为一个新的Xcode项目与旧的一起.就iTunes Connect和iOS而言,它应该仍然是旧的(版本)应用程序的更新.

在测试期间,我让两个应用程序在我的设备和模拟器中并排运行,新应用程序使用包标识符com.myname.myapp2,一切正常.

但是现在应用程序已经完成,我希望它覆盖/更新我的设备和模拟器中的旧应用程序,以查看从旧应用程序导入数据的代码是否按预期工作.于是,我改变了它的新的应用的软件包标识符Info.plistcom.myname.myapp,并选择Build and Debug在Xcode.但是,而不是新的应用程序覆盖旧的应用程序,同时仍然使用相同的Documents文件夹,所以它可以导入旧数据,正如我所期望的那样,我收到了一个错误.

这就是我正在做的事情和发生的事情:

  • 模拟器: Reset cache
  • MyApp1的Xcode: Clean All Targets
  • MyApp1的Xcode :( Build and Run使用Release配置)
  • MyApp1:NSUserDefaults使用应用程序更改一些数据,稍后应由MyApp2导入的更改使用不同的数据模型
  • MyApp1的Xcode: Stop
  • MyApp2的Xcode: Clean All Targets
  • Xcode for MyApp2 :( Build and Run使用Release配置)

发生的情况是以下错误显示3次,每次在MyApp2的控制台中显示不同的类:

Unknown class [class referenced in the MyApp1 MainWindow.xib file] in Interface Builder file.
Run Code Online (Sandbox Code Playgroud)

因此,由于某些原因,并非所有文件都被覆盖,因为错误是由旧版本MainWindow.xib加载引起的.

(相对无趣的堆栈框架:http://cl.ly/1F1w1J1u3t1C2U2o2D2C)

有没有人碰巧知道我怎么能做这个工作,我怎么能有一个本质上新的应用程序覆盖我的设备和模拟器中的旧应用程序,所以它仍然会使用相同的文档文件夹?

提前致谢!


我已经尝试过的事情,正如其他人所建议的,但没有帮助:

  • 重启Xcode
  • 重启电脑
  • build从Xcode项目文件夹中删除文件夹
  • TouchING MainWindow.xib

Jul*_*rgé 3

使用 Xcode 管理器窗口将旧应用程序的文档文件夹下载到您的 Mac。然后完全删除旧应用程序,安装新应用程序。最后使用 Xcode 管理器恢复 Documents 文件夹备份。

  • 当涉及到覆盖文件时,Xcode 可能有点愚蠢。为什么不使用通过 iTunes 安装的临时版本来模拟升级?最终用户最终不会使用 Xcode 来同步他们的应用程序。 (4认同)