Xcode 8 does full project rebuild

Vlad picture Vlad · Sep 12, 2016 · Viewed 12.9k times · Source

Having updated Swift + ObjC project to Xcode 8 (Swift 2.3) I found 50% or more of the time Xcode does a full rebuild of the project instead of an incremental build.

The changes made are adding simple print statements. There seems to be no logic as to when it performs a full rebuild.

It appears in the "Check dependencies" phase it decides this. On Xcode 7 this did not seem to be a problem.

Has anyone else encountered this?

Answer

Vlad picture Vlad · Sep 13, 2016

I have found this works consistently, it will however compile swift files if you modify a header included in the bridging header. It will also do full compile if you switch git branches back and forth.

Firstly make sure optimization level for debug is set to None (Not whole module optimization) enter image description here enter image description here

Then, according to https://forums.developer.apple.com/thread/62737 Apple Staff (ddunbar):

We believe that setting:

HEADERMAP_USES_VFS = YES

to true in your project (or for all your targets) may be an effective workaround > for many people. This is not guaranteed to work (which is the reason it isn't > already on by default), but it should work for most projects.

This should be added through "Add user-defined setting" under your target Build Settings.

enter image description here

.

enter image description here