Reputation: 2154
We got an app for iPad which has two targets one for the App itself (MainApp target ) and another one for the Driver ( Driver Target ) using DriverKit.
The app works fine in Development, but I'm trying to distribute it with adhoc.
I've requested the Distribution Entitlement to Apple, after getting it, the App Id for the Driver has the following Capabilities:
DriverKit, DriverKit (development), DriverKit USB Transport (development), DriverKit USB Transport - VendorID, In-App Purchase
Now in the profile section, I've created a adhoc profile for the Driver AppId (Identifier). Obviously I've also created an Adhoc profile for the Main AppId
Finally in the Signing & Capabilities Section I set up the profiles for MainApp target, int the Debug one I set up the Development one and int the Release one I set up the adhoc one.
I do the same in the Driver Target, but when I set up the Adhoc one in the Release, I've got a warning:
Xcode 14 and later requires a DriverKit development profile enabled for iOS and macOS. Visit the developer website to create or download a DriverKit profile.
Also interestingly the Signing Certificate section says: None
I also set up the Capabilities for the Driver Target:
Inside these capabilities I set up the vendor ID as dictionary
The problem is, if I try to Archive the app I will get the previous Warning message as error:
Xcode 14 and later requires a DriverKit development profile enabled for iOS and macOS. Visit the developer website to create or download a DriverKit profile.
Any idea what I'm missing?
Thanks
Upvotes: 2
Views: 320
Reputation: 137
I'd share my experience. I prepared:
1 bundle id - which I checked all I need capabilities in both "Capabilities" tab and "Additional Capabilities" tab.
2 Provision Profiles - both using the same bundle id, one is DriverKit App developer, another one is Developer ID.
In my XCode 15.3, I set my project using developer certificate so that it can build success. Then I go terminal and issue build command:
xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -alltargets -configuration Release build
In my codesign script, I sign it with copying the Developer ID provision profile, the content is:
codesign \
--sign $CODE_SIGN_IDENTITY \
--entitlements <entitlement-file> \
--options runtime \
--verbose \
--force \
build/Release/<my-driver>.app
The driver seems workable and notarization pass.
Upvotes: 0