gpt4 book ai didi

iPhone 应用程序升级和移动 xibs/nibs 导致资源过时

转载 作者:行者123 更新时间:2023-12-03 19:14:48 25 4
gpt4 key购买 nike

我有一个未本地化的运输应用程序,其主项目目录中有 foo.xib。为了准备本地化,我将其移至 en.lproj/foo.xib。现在,当我构建我的应用程序并安装在我的测试设备上时,它最终会使用陈旧的 foo.nib ,它必须是之前存在的(安装过程不得删除应用程序包中的旧文件)。从测试设备中删除该应用并重新安装即可修复该问题 - 但我不希望我的现有客户必须这样做。

其中一些来自对 UIViewController 的 -initWithNibName:bundle 方法的调用(我目前正在向该方法传递 nibBundle 的 nil )。我也许可以在这里创建一个 NSBundle 实例,它指向正确的本地化目录。其他的在 Info.plist 或界面生成器的“NIB 名称”部分中指定,我没有看到为这些指定 bundle 的方法。

将我的所有 xib 重命名为(例如)en.lproj/newfoo.xib 可能会更容易,然后我认为它会在运行时找到正确的 Nib 。 (而且我必须记住永远不要在新版本中再次使用旧的“foo.xib”名称。)这里有更聪明的解决方案吗? (除了回到过去并从头开始使用 en.lproj 目录;-)

谢谢!-迈克

最佳答案

回答我自己的问题,以防其他人遇到这个问题。看来这是 Xcode 构建-发布周期的产物,当用户通过 App Store 升级时这不是问题。我继续发布了我的更新,没有人注意到陈旧资源会导致的问题。

作为开发加速,Xcode 似乎仅复制在您构建并安装到模拟器或测试设备时检测到已更改的资源。 (为了防止每次构建和测试时都必须重新复制具有 500MB 资源的游戏。)但是,当您从项目中(重新)移动资源时,它不会检测到这一点并(重新)移动该资源。旧副本。我将向 Apple 提交有关此问题的错误。

但是,应用程序商店似乎确实会在每次升级时进行全新安装(复制用户的文档目录),因此这不是应用程序商店的问题。我不确定向 Beta 测试人员发送电子邮件 .ipa 文件时是否存在问题。

关于iPhone 应用程序升级和移动 xibs/nibs 导致资源过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com