Xcode 9 compatibility on macOS 10.15

Currently I'm developing plug-in software that must work in both legacy 32-bit as well as 64-bit applications. From Xcode 10, support for building 32-bit binaries was dropped, so, I continue to use Xcode 9 to build and sign 32-bit/64-bit fat binaries, and these get packaged into a .dmg file, and the altool and stapler utilities from Xcode 10 are used to notarise the package for distribution.


I recently upgraded to macOS 10.15 beta, but now Xcode 9 won't run.


The following crash occurs:

Process:               xcodebuild [7286]
Path:                  /Applications/Xcode9.app/Contents/Developer/usr/bin/xcodebuild
Identifier:            xcodebuild
Version:               9.4.1 (14028)
Code Type:             X86-64 (Native)
Parent Process:        bash [3194]
Responsible:           iTerm2 [1001]
User ID:               501

Date/Time:             2019-09-09 08:19:57.559 +1000
OS Version:            Mac OS X 10.15 (19A546d)
Report Version:        12
Anonymous UUID:        5C8F0FB0-1DEA-467E-2318-F40A71A4C5F6


Time Awake Since Boot: 250000 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x4] Symbol missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Symbol not found: _OBJC_IVAR_$_NSFont._fFlags
  Referenced from: /Applications/Xcode9.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
  Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 in /Applications/Xcode9.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit


Is there any way to build 32-bit/64-bit fat binaries on macOS 10.15? If not, will this mean I need to downgrade to macOS 10.14?

Replies

I don't know if there's some other sketchy way to build for 32 bit with newer Xcode, but since 32 bit executables don't run on macOS 10.15 I don't know how you would test your product on 10.15?


Either way, the error doesn't look like you could expect someone to fix it. So downgrade it is, or a VM.

Like I mentioned in my original post, the binaries are compiled as 32-bit/64-bit fat binaries (i.e. the built binary contains executable code for both architectures). It runs fine on macOS 10.15 and also runs fine going as far back as Mac OS X 10.6.

Were you able to resolve this issue and run Xcode9 on macOS 10.15?

It won't run for me - on launch it fails to load some dylib

This Dyld error is still present on in release Catalina, 10.15.3 (19D76). Looks like a “will not fix” to me.


The only practical solution seems to be to maintain a separate bootable partition/drive with Mojave 10.14 or High Sierra 10.13.