更改主 nib 文件基本名称、可执行文件名称和更新应用程序

Posted

技术标签:

【中文标题】更改主 nib 文件基本名称、可执行文件名称和更新应用程序【英文标题】:Changing main nib file base name, executable name and updating app 【发布时间】:2012-07-11 15:34:27 【问题描述】:

我的应用程序的 1.0 版本在 plist 文件中将“主 nib 文件基本名称”设置为 MainWindow。现在在 2.0 中,我将其更改为 MyMainWindow 并将 MainWindow.xib 重命名为 MyMainWindow.xib。

当我们的用户将我们的应用更新到 2.0. MainWindow.nib 是否仍将保留在应用程序包中,并且还将复制一个新文件 MyMainWindow.xib ?这有什么问题吗?我希望 ios 现在会加载 MyMainWindow.xib 而不是 MainWindow.xib,即使它会在那里。

一般来说,我想知道应用程序包中的所有旧文件在更新后会保留在那里,或者所有东西都被替换了吗?当我从应用商店安装的 XCode 中执行我的应用 2.0 时,我可以在 .app 文件夹中看到两个 nib 文件。我用iExplorer检查文件。

另一个变化是可执行文件(和包显示)名称。例如。在 1.0 app1 现在是 app2。它会在更新时产生任何问题吗?

当我从 XCode 中执行我的应用程序 2.0 时更改应用程序 exe 名称后,从 App Store 安装的超过 1.0 的应用程序在启动时崩溃。 这是控制台日志

7 月 12 日 16:17:36 未知 com.apple.launchd1 : (UIKitApplication:com.myapp[0x8e12]) posix_spawn("/var/mobile/Applications/FFF6DFCF-F641-4E04-8774-71A2A3619BD9/myapp.app/app2", ...): Permission denied Jul 12 16:17:36 unknown SpringBoard[15] : 无法获得 pid 2401 的任务名称端口权: (os/kern) 失败 7 月 12 日 16:17:36 未知 com.apple.launchd1 : (UIKitApplication:com.myapp[0x8e12]) 退出代码:1 7 月 12 日 16:17:37 未知 SpringBoard[15]:无法发送 com.myapp 的激活事件 动画 statusBarOrientation = 2 激活:安全动画开始 = 0 停用: : (ipc/send) 无效的目标端口 Jul 12 16:17:37 未知的 SpringBoard [15]:应用程序“app2”已退出 异常退出状态 1

虽然,如果我再次从 XCode 运行崩溃后,它会成功执行(不确定是第二次运行还是第三次运行)

【问题讨论】:

【参考方案1】:

因此,当我使用 testflight 更新应用程序时,一切都按预期正常工作。我已经更改了包显示名称以及可执行文件名称,更新后旧包 app1.app 被删除,应用程序正常执行。

【讨论】:

以上是关于更改主 nib 文件基本名称、可执行文件名称和更新应用程序的主要内容,如果未能解决你的问题,请参考以下文章

更新的 iOS 二进制文件未更新 MainView NIB

如何更改使用 CPack 安装的可执行文件的名称?

如何从可执行文件更改mac应用程序名称?

Xcode:无法更改主笔尖文件

更改 Xcode 中的默认 Xib 文件

更改 C++ netbeans 项目中的主文件