Dan*_*nny 61 indexing xcode ios swift3 xcode8
我已经安装了Xcode 8.0并将Swift 2.2转换为3.0(这个过程也花费了很多时间,我只是让我的Mac一整晚都在运行).我没有一个大项目(大约20个文件).我也在用Pods.索引以前的Xcode版本(<8.0)工作得很快但现在,升级后,进度条卡在一个位置(我已经等了一个小时).
我试过的事情对我没有帮助:
DerivedData文件夹并重新启动XcodePods目录,<project>.xcworkspace然后重新安装当开发人员花费数小时来解决这些荒谬的问题时,制作这样的软件版本真的不是很酷.这非常令人失望.任何想法如何解决这一问题?
Chr*_*ris 52
转到项目设置,然后选择编辑器>添加构建设置>添加用户定义的设置,并添加以下内容:
SWIFT_WHOLE_MODULE_OPTIMIZATION = YES
Run Code Online (Sandbox Code Playgroud)
添加此标志会使我们的清理构建编译时间从7分钟下降到65秒,这对于40KLOC swift项目来说是奇迹般的.也可以确认2个朋友在企业项目上看到了类似的改进.
我只能假设这是Xcode 8.0中的某种错误
Dan*_*nny 24
我通过评论所有文件然后逐个删除注释来解决问题.我发现问题仍然在这里描述的数组声明中.
我有这样的代码,项目没有索引:
class {
var first: String!
var second: String!
var third: String!
var fourth: String!
var fifth: String!
func abc() -> [String] {
var array = [first, second, third, fourth, fifth]
}
}
Run Code Online (Sandbox Code Playgroud)
我已将其更改为此并且索引开始工作:
class {
var first: String!
var second: String!
var third: String!
var fourth: String!
var fifth: String!
func abc() -> [String] {
var array = [first]
array.append(second)
array.append(third)
array.append(fourth)
array.append(fifth)
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
自从升级到Swift 3/XCode 8以来,我遇到了同样的问题,它似乎是由大数组文字引起的.
我能够通过向分配给数组文字的变量添加类型注释来解决问题,例如
let array: Array<String> = ["1", "2", "3", "4", "5", "6", "7", "8"]
Run Code Online (Sandbox Code Playgroud)
代替
let array = ["1", "2", "3", "4", "5", "6", "7", "8"]
Run Code Online (Sandbox Code Playgroud)
我有类似的问题,并按照本指南调试:http://irace.me/swift-profiling 我的问题是我在一些字符串中有nil合并运算符,例如:
let name = "\(someString ?? "")"
Run Code Online (Sandbox Code Playgroud)
并且有四种方法造成2分钟的额外建造时间.
我遇到了同样的问题,并通过逐行仔细地检查代码来解决了这个问题,事实证明,Swift 3更喜欢字符串插值而不是使用+符号,即
let url = "http://yahoo.com" + "someWebPage" + "whereItsInteresting"
Run Code Online (Sandbox Code Playgroud)
如果你已经使用上面的代码样式取代它;
let url = "http://yahoo.com\(someWebPage)\(whereItsInteresting)"
Run Code Online (Sandbox Code Playgroud)
您的构建时间将立即恢复正常。
| 归档时间: |
|
| 查看次数: |
28932 次 |
| 最近记录: |