Vla*_*lad 50 swift xcode8 xcode8-beta6
将Swift + ObjC项目更新到Xcode 8(Swift 2.3)后,我发现50%或更多的时间Xcode完全重建项目而不是增量构建.
所做的更改是添加简单的打印语句.似乎没有关于何时执行完全重建的逻辑.
它出现在"检查依赖关系"阶段,它决定了这一点.在Xcode 7上,这似乎不是问题.
有人遇到过这种情况么?
Vla*_*lad 33
我发现这个工作一致,但是如果你修改了桥接头中包含的头文件,它会编译swift文件.如果你来回切换git分支,它也会完全编译.
然后,根据https://forums.developer.apple.com/thread/62737 Apple员工(ddunbar):
我们相信设定:
Run Code Online (Sandbox Code Playgroud)HEADERMAP_USES_VFS = YES对于许多人来说,在项目中(或针对所有目标)的真实可能是一种有效的解决方法.这不能保证工作(默认情况下它不是>已经打开的原因),但它应该适用于大多数项目.
这应该通过目标Build Settings下的"Add user-defined setting"添加.
.
And*_*ter 12
好的,这是为什么它正在发生的答案,但我不知道解决方案.如果你使用"其他Swift标志"-driver-show-incremental Xcode将根据它的依赖性输出它决定需要编译的内容.你会看到像这样的东西:
Queuing EditProfileViewController.swift because of dependencies discovered later
Queuing ChangePasswordViewController.swift because of dependencies discovered later
Queuing JoinViewController.swift because of dependencies discovered later
Queuing JoinProfileViewController.swift because of dependencies discovered later
Queuing FormViewBuildable.swift because of dependencies discovered later
Queuing RadioTextFormView.swift because of dependencies discovered later
Queuing TextFieldFormView.swift because of dependencies discovered later
Queuing AccountProfileViewController.swift because of dependencies discovered later
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是一个快速的问题,因为我在转换之前没有遇到这个问题.我做了一个小例子项目
FileA包含来自FileB的东西包含来自FileC的东西
甚至在FileC中添加一个文件私有更改,而不是在任何地方使用它会导致FileA,FileB和FileC因依赖性而排队等待编译.我将在今天晚些时候在Xcode 7中测试这个例子,看看会发生什么.
因此看起来swift 3的依赖性解析效果不佳.我已经在其他2个swift 3项目中对此进行了测试,同样适用.对任何文件进行任何更改,并编译每个文件.在您开始使用大约15,000行代码的项目之前,它并不会感到缓慢,这可能就是为什么没有人在谈论这个问题.除非你有一个中等大小的swift 3应用程序,你可能甚至不会注意到增量并发症不能正常工作.如果我学到更多东西,我会更新.
Joh*_*nny 10
Apple昨天(11月14日)发布了Xcode的新测试版
Xcode 8.2 beta 2
此问题已在发行说明中标记为已解决.
构建系统
•仅在发生小的更改时,Xcode不会重建整个目标.(28892475)
它对我有用.构建速度像往常一样回归.每个面对这个问题的人都应该试一试!
https://developer.apple.com/download/
| 归档时间: |
|
| 查看次数: |
11800 次 |
| 最近记录: |