Xcode Macos 10.15

Hi all,


  1. Apple just pushed out the official release of Xcode 11. That removes the older macOS SDKs and only includes macOS SDK 10.15. The current version of il2cpp included in Unity only handles up to macOS SDK 10.14.
  2. Download Xcode for macOS 10.15.4 or later and enjoy it on your Mac. ‎Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging.

I need to create a DEXT controllable by a client, the sample project 'CommunicatingBetweenADriverKitExtensionAndAClientApp.zip' provided https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app came in really handy to get a head start on this.

Design great apps on either Mac, iPad, or iPhone using Xcode. MacOS or iOS developers need look no further than the Xcode developer tool to design great apps. Xcode featuresSwift UI, which offers up its own syntax. Easy to read and write, Swift UI will help keep your apps smaller and download faster by using less code. Configure and build xdebug on macOS Catalina. The reason for these errors is that the /usr/include folder is missing because Apple removed it when they released Xcode 11. But, you can work around this problem. Here is how: First, you need to make sure that Xcode and the command line tools installed. I can confirm that gcc builds if I force gmp to build with -fno-stack-check, using Xcode Version 11.2 (11B41) on macOS Catalina 10.15.1 (19B68f). (As a side note, it seems like Xcode 11.2 does not fix the stack alignment issue for gmp, at least not yet.

The only modification was to the 'DriverKitSampleAPP' target, which I changed from Swift to Objective-C. The deployment targets were set to macOS 10.15 / DriverKit 19.0 respectively (as far as I found, DriverKit 19.0 relates to macOS 10.15).

The project builds fine on both macOS 10.15.7 (19H1217) and macOS 11.4 (20F71) and Xcode 12.4 (12D4e)

On macOS 11 the DEXT can be registered, debugged and the client can control it.

On macOS 10.15 - the DEXT can be registered/installed and 'systemextensionctl' shows it 'activated' and 'enabled':

systemextensionsctl list
2 extension(s)
--- com.apple.system_extension.driver_extension
enabled active teamID bundleID (version) name [state]
* * - com.example.apple-samplecode.dext-to-user-client.driver (1.0/1) com.example.apple-samplecode.dext-to-user-client.driver [activated enabled]


But the process for the DEXT can't be found. Looking in the crashlogs, I found that macOS tries five times to load the DEXT (five crash logs) and then gives up on loading it.


The crash log reads like this:

Dyld Error Message:
Symbol not found: __ZN8OSAction18CreateWithTypeNameEP8OSObjectyymP8OSStringPPS_
Referenced from: /Library/SystemExtensions/*/com.example.apple-samplecode.dext-to-user-client.driver (which was built for Mac OS X 19.0)
Expected in: /System/DriverKit/System/Library/Frameworks/DriverKit.framework/DriverKit

Xcode Macos 10.15 Iso

Thread 2 Crashed:: Dispatch queue: NullDriverUserClient-Default
0 dyld 0x000000011bb05ede __abort_with_payload + 10
1 dyld 0x000000011bb2f55d abort_with_payload_wrapper_internal + 80
2 dyld 0x000000011bb2f58f abort_with_payload + 9
3 dyld 0x000000011bb2cbf4 dyld::halt(char const*) + 463
4 dyld 0x000000011bab4bc3 dyld::fastBindLazySymbol(ImageLoader**, unsigned long) + 140
5 libdyld.dylib 0x000000010dcf5936 dyld_stub_binder + 282
6 ??? 0x000000010da6f1a0 0 + 4524011936

Xcode Macos 10.15

7 com.example.apple-samplecode.dext-to-user-client.driver 0x000000010da64c41 NullDriverUserClient::Start_Impl(IOService*) + 705 (NullDriverUserClient.cpp:223)
8 com.apple.DriverKit 0x000000010dae09e4 IOService::Start_Invoke(IORPC, OSMetaClassBase*, int (*)(OSMetaClassBase*, IOService*)) + 86
9 com.example.apple-samplecode.dext-to-user-client.driver 0x000000010da67f75 NullDriverUserClient::_Dispatch(NullDriverUserClient*, IORPC) + 293 (NullDriverUserClient.iig.cpp:180)
10 com.example.apple-samplecode.dext-to-user-client.driver 0x000000010da67e3d NullDriverUserClient::Dispatch(IORPC) + 77 (NullDriverUserClient.iig.cpp:167)
11 com.apple.DriverKit 0x000000010dacd241 invocation function for block in OSMetaClassBase::Invoke(IORPC) + 117


On macOS11 I could debug the DEXT and found 'CreateWithTypeName' to be in an auto-created method via the .iig in .iig.cpp:



Xcode Requires Macos 10.15.2 Or Later

I've checked for the symbol via 'nm':


On macOS 11 the DriverKit.framework has the symbol '__ZN8OSAction18CreateWithTypeNameEP8OSObjectyymP8OSStringPPS_', whereas on macOS 10.15.7 it does not.

Xcode for macos 10.15 beta

Xcode Macos 10.15.7


My question now is:

Xcode Macos 10.15 Download

Is this a bug in the DriverKit.framework on macOS 10.15.7 or did I set up the project in an incorrect / inappropriate way?

I'm currently on Xcode 12.4 (12D4e) and the DEXT ideally should also run on macOS 10.15.


Xcode For Macos 10.15.1

Many thanks in advance for any information!

Xcode For Macos 10.15 Beta



Regards,


Christian

Posted on May 31, 2021 1:57 AM