问题发生在XCode>'构建并运行',
不是在'仪器>中运行它泄漏。
所以Xcode似乎是一个问题
如果是这种情况,我不介意进行额外的重建。
但是,如果在应用程序发布到iTunes应用程序商店后也会发生问题,
并且客户在她的设备中安装应用程序,
每次更改语言/地区时,她都必须重新安装应用程序
(要说,这是不可接受的)。
这个问题:
a)只是在Xcode中(不在应用程序商店中)?
b)其他开发人员没有经历过,很可能是应用程序中的错误?或
c)即使从app store下载安装app也可能浮出水面?
如果'b'或'c',任何想法如何解决?
----------------重现问题的步骤-----------------
在发展过程中:
1)执行Xcode>'构建并运行',验证应用程序是否按预期工作(在模拟器或设备中);
2)更改语言和地区(在iPhone的“设置>一般>国际”中)
3)验证:
-Console显示无信息错误:
程序收到信号:“SIGKILL”。
-App在后台崩溃,
- 单击应用程序的图标图标不再启动应用程序
(应用程序的默认屏幕显示一秒钟,然后崩溃)
4)做另一个'建立并运行'
5)验证现在应用程序启动并运行良好
(按照预期的新语言和区域。所以应用程序的本地化字符串等工作正常。)
6)执行“使用性能工具运行”>泄漏
7)更改语言和地区(在iPhone的“设置”中)
8)验证没有问题
那就是:
仪器跟踪中断(应用程序或工具中没有崩溃)和
用户可以像往常一样在iPhone中重新启动应用程序(步骤3和4被删除)。
答案 0 :(得分:1)
我见过类似的行为。在第三步和第五步之间,你可能想在Xcode中尝试“停止调试”并跳过重建。
我可以更改设备上的语言,然后在不进行新构建的情况下使用新选择的语言,但我必须先按Xcode中的停止按钮。
答案 1 :(得分:0)
解决方案:问题出现在应用程序中 它在.plist中存储了一个本地化的值,并使用该值进行比较 当语言被更改时,.plist中的值仍然保留旧语言,因此比较(使用新语言中的值)失败 通过在.plist和比较中使用与语言无关的值来修复。