我最近一直在体验我创建的每个应用程序的奇怪问题。当我将它部署到设备时,我注意到它需要很长时间才能启动。我是通过Xcode调试还是随时随地启动它。当我点击应用程序图标时,实际应用程序启动前需要大约4秒钟。在此期间,设备几乎被冻结,直到应用程序启动。
但是,我有一个通过App Store分发的应用程序,它似乎没有这个问题。它会立即启动。但是当我通过Xcode配置我的手机(与App Store上的应用程序相同)时,我遇到了这个问题。
我的问题是,App二进制文件中是否存在某种调试信息会导致启动过程中的这些长时间延迟未构建到发布版本中?如果是这样,有没有办法在调试版本中禁用它?
答案 0 :(得分:0)
尝试重置手机设置(不是内容!)。它偶尔会解决一些性能问题。
我遇到同样问题的唯一原因是我在设备上安装了大量的配置文件。我们的开发团队拥有100多个应用程序,因此iOS在启动应用程序时必须处理所有配置文件。
答案 1 :(得分:0)
将Xcode设置为固定的DerivedData位置 - 否则每次吹掉DerivedData时,您都必须重复所有这些步骤。转到XCODE
设置>衍生数据>进展>选择" Unique"
制作新剧本。说:quick_compile.sh。给它标准的“#!/ bin / bash”或顶部的任何东西和chmod + x它。 3.做一个干净的项目构建。 4.转到Xcode报告导航器(Cmd-8),然后选择最近构建的报告。 5.在右上角滤波器中键入“merge”,展开“Merge Khan_Academy.swiftmodule”阶段的日志,并将内容减去第一行复制到脚本中。
对“i386.swiftmodule”执行相同操作。 3.对“链接”执行相同操作。 4.对你正在迭代的文件执行相同的操作(例如,ContentItemView.swift);把它放在脚本的顶部
一旦你为文件设置了这个,只需运行你的脚本来更新新文件的构建。 2.在Xcode中使用Cmd + Ctrl + R启动应用程序。 不幸的是,无论何时将新文件添加到项目中或更改您正在迭代的文件,您都必须重复这些步骤,但是当您处理重点工作时它会很好
答案 2 :(得分:0)
我看到同样的问题@purrrminator了。我有一个iOS 8.3设备,用于在一家大公司进行测试,这些设备有很多条款,最终可以解决这个问题。我正在测试我现在需要花费很多秒才能启动。
基于:
https://apple.stackexchange.com/questions/148792/installed-provision-profiles-not-seen-on-ios8
我所做的是手动将时间设置为将来的日期,允许现有条款到期并自动修剪。一个快速重启(好的措施)和全新安装的应用程序,我很高兴(重置不是我的选择)。