I am new to macOS programming. I am trying to run an example from Apple that installs a "NullDriver" and then accesses it from a client CPP app (example available on line, driver kit, "com.example.apple-samplecode.dext-to-user-client)
I seem to be able to install the the DEXT correctly; I can see the system extension and the IOUserService. When I run the CPP client access program auto signed by Xcode, the app crashes with "CODESIGNING 1 Taskgated Invalid Signature". If I sign the app with "Sign to Run Locally", the app runs but is unable to connect to the IOUserService.
This is being run on Sonoma Beta 5 with a newly paid membership.
I am willing to attach whatever files are required but I wonder whether others have had the same code signing problem. My apology if I did not read a post with the answer I hope to find.
Gene
Post
Replies
Boosts
Views
Activity
I have an xcodeproj file which was generated by Cmake. Xcode generates an executable but not an app. What do I need to do in order to get Xcode to create an app containing the executable?
Gene
I cannot get an assembly language file for architecture aarch64 (iOS) to assemble. The error message is Command CompileC failed with a non-zero exit code. I have been able to compile C, C++ and Swift without problems.
The assembly language file has type "Assembly".
When I change the file type to "Assembly-LLVM", Xcode says that there is no rule. When I change the file type to "Assembly-NASM" Xcode says that the script must have at least one output.
Do I need to load something additional for Xcode to assemble files?
Thanks!
Gene
https://docs-assets.developer.apple.com/published/a3e438f759/EqualizingAudioWithDiscreteCosineTransformsDCTs.zip
Example builds but does not run properly under Sonoma (23A344) on MBP with Intel hardware. (drum beat sound track is not played)
It does run properly under iPadOS 17.0.1 on iPad Air 5 (M1 chip)
I have a simple C++ program that #includes a header from a framework (#include <SDL2/SDL.h>). My program both compiles correctly initially and then complains (in Xcode) that the header file can't be found. The compiler is looking at the Derived Data copy of the framework the second time it compiles, which does not include the Headers folder, so it then fails building. If I then clean the build folder and start again , the program builds and runs once correctly.
Listing the framework headers in the "Public Headers" section does not work for me because the headers includes other headers which are using the <framework-name / header-file-name> for their includes.
Is this a bug or am I missing something that fixes the problem?
I just started getting lots of "redefinition of" errors with headers that start with #pragma once. The C++ clang compiler is set to "C++17". Did something change with handling #pragma?
Does this exist? Apple seems to have a unique syntax it recognizes (vs GCC arm64 assembler) and getting assembly code cross compiled it for iOS in Xcode has been very frustrating and unfruitful. Is there any guidance on how to do this? The reason for assembly is to support "volk, vector optimized library".
I am trying to run something I built with the CLI versions of clang on my M3 MBP. The application is signed:
codesign -d -v /usr/local/bin/wine*
Executable=/usr/local/bin/wine
Identifier=org.winehq.wine
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=275 flags=0x0(none) hashes=3+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:06 AM
Info.plist entries=12
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=176
Executable=/usr/local/bin/wineboot
Identifier=wineboot
Format=generic
CodeDirectory v=20200 size=168 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9053
Timestamp=Dec 15, 2023 at 10:35:06 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/winebuild
Identifier=winebuild
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=1933 flags=0x0(none) hashes=55+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:06 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=172
Executable=/usr/local/bin/winecfg
Identifier=winecfg
Format=generic
CodeDirectory v=20200 size=167 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9053
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/wineconsole
Identifier=wineconsole
Format=generic
CodeDirectory v=20200 size=171 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9053
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=220
Executable=/usr/local/bin/winegcc
Identifier=winegcc
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=747 flags=0x0(none) hashes=18+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=168
Executable=/usr/local/bin/winedbg
Identifier=winedbg
Format=generic
CodeDirectory v=20200 size=167 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9052
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/winedump
Identifier=winedump
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=3052 flags=0x0(none) hashes=90+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=168
Executable=/usr/local/bin/winefile
Identifier=winefile
Format=generic
CodeDirectory v=20200 size=168 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9053
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/winegcc
Identifier=winegcc
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=747 flags=0x0(none) hashes=18+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=168
Executable=/usr/local/bin/winegcc
Identifier=winegcc
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=747 flags=0x0(none) hashes=18+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=168
Executable=/usr/local/bin/winemaker
Identifier=winemaker
Format=generic
CodeDirectory v=20200 size=169 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9052
Timestamp=Dec 15, 2023 at 10:35:07 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=224
Executable=/usr/local/bin/winemine
Identifier=winemine
Format=generic
CodeDirectory v=20200 size=168 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9052
Timestamp=Dec 15, 2023 at 10:35:08 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/winepath
Identifier=winepath
Format=generic
CodeDirectory v=20200 size=168 flags=0x0(none) hashes=1+2 location=embedded
Signature size=9053
Timestamp=Dec 15, 2023 at 10:35:08 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=2 size=216
Executable=/usr/local/bin/wineserver
Identifier=wineserver
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=5838 flags=0x0(none) hashes=177+2 location=embedded
Signature size=8972
Timestamp=Dec 15, 2023 at 10:35:08 AM
Info.plist=not bound
TeamIdentifier=L479DU3G63
Sealed Resources=none
Internal requirements count=1 size=172
but I still get:
default 11:47:19.051342-0500 kernel ASP: Security policy would not allow process: 1501, /usr/local/bin/wine
Permissions:
ls -al wine*
-rwxr-xr-x 1 root wheel 28368 Dec 15 10:35 wine
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 wineboot
-rwxr-xr-x 1 root wheel 245424 Dec 15 10:35 winebuild
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 winecfg
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 wineconsole
lrwxr-xr-x 1 root wheel 7 Dec 14 23:41 winecpp -> winegcc
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 winedbg
-rwxr-xr-x 1 root wheel 388400 Dec 15 10:35 winedump
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 winefile
lrwxr-xr-x 1 root wheel 7 Dec 14 23:41 wineg++ -> winegcc
-rwxr-xr-x 1 root wheel 91840 Dec 15 10:35 winegcc
-rwxr-xr-x@ 1 root wheel 95127 Dec 14 23:41 winemaker
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 winemine
-rwxr-xr-x@ 1 root wheel 1973 Dec 14 23:41 winepath
-rwxr-xr-x 1 root wheel 747120 Dec 15 10:35 wineserver
xattr wine*
wineboot: com.apple.cs.CodeDirectory
wineboot: com.apple.cs.CodeRequirements
wineboot: com.apple.cs.CodeRequirements-1
wineboot: com.apple.cs.CodeSignature
winecfg: com.apple.cs.CodeDirectory
winecfg: com.apple.cs.CodeRequirements
winecfg: com.apple.cs.CodeRequirements-1
winecfg: com.apple.cs.CodeSignature
wineconsole: com.apple.cs.CodeDirectory
wineconsole: com.apple.cs.CodeRequirements
wineconsole: com.apple.cs.CodeRequirements-1
wineconsole: com.apple.cs.CodeSignature
winedbg: com.apple.cs.CodeDirectory
winedbg: com.apple.cs.CodeRequirements
winedbg: com.apple.cs.CodeRequirements-1
winedbg: com.apple.cs.CodeSignature
winefile: com.apple.cs.CodeDirectory
winefile: com.apple.cs.CodeRequirements
winefile: com.apple.cs.CodeRequirements-1
etc., etc...
Since this is a new machine, maybe something is missing? How do I debug this problem? The most common response to ASP would not allow progress is that there is an unsigned binary. If this is the case, how do I find what binary it is?
Thanks!
Gene R.
I am trying to run a program that queries a device connected to the USB-C connection on my iPad Air (IpadOS 17). Some IOKit calls work and some fail, with the error message
Sandbox: iOSNXLauncher(5338) deny(1) iokit-get-properties iokit-class:IOUSBHostDevice property:sessionID
or something similar. Which entitlement should I use to be able to execute the IOKit calls needed to see, for example, the Device ID and the Vendor ID? I would like to use the IOKit calls to communicate withUSB devices.
If IOKit doesn't allow USB device communication in iOS, does DriverKit have all of the capabilities to query USB attached devices and pass data back and forth? I am trying to port a program from MacOS to iOS. The MacOS software uses "libUSB" to interface to USB devices. I am trying to use a version compiled for iOS but Sandbox is stopping me (even when Xcode has the "Sandbox App" option set to NO.).
Am I missing entitlements or will this approach not work?
Gene
I am stuck. I have an iPadOS app that installs and calls a DEXT. I have a provisioning file for the DEXT and another for the app. Xcode shows me that the respective provisioning files match the bundle ids and that the entitlements and provisions match up. I have a developer certificate (two, actually) on the iPad. Xcode shows me, via "Devices" that the provisioning files are installed. When I try to run the app, I get:
0x16d3db000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 78: Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.vyncZ7/extracted/USBApp.app/SystemExtensions/w1ebr.MUUI.ipadOS.driver.dext : 0xe8008015 (A valid provisioning profile for this executable was not found.)
I don't know what to check next.
How does VMWare access USB devices without have any specifics of the USB device? Does it use the same profile/entitlement process or does it take a different approach?