Commits
Adam Sharp committed facfade0a17
Compile under Xcode 8 beta 1
Sets "Use Legacy Swift Language Version" to YES, i.e., `SWIFT_VERSION = 2.3`.
This change alone causes the following linker error:
duplicate symbol __non_lazy_classes in:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
duplicate symbol _OBJC_METACLASS_$___ARCLite__ in:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o)
ld: 2 duplicate symbols for architecture x86_64
This appears to be caused by the "Implicitly Link Objective-C Runtime
Support" build setting (a.k.a. `CLANG_LINK_OBJC_RUNTIME`). Disabling
just this setting doesn't resolve the error, but disabling the
project-level ARC setting does resolve the linker error. As a result the
`-fobjc-arc` compiler flag has to be set on each Objective-C file to
ensure it is compiled with ARC enabled.
Related: https://github.com/Quick/Nimble/pull/302/commits/917a2eeebfdae4e5de06d568e24e95ff5a7da706