I am developing a carkey application.
I have applied to MFi and have obtained a com.apple.developer.carkey.session entitlement.
By setting session in Entitlement.plist, the program I created can call CarKeyRemoteControl.start and obtain the session.
However, even if VehicleReport() is called, information cannot be obtained and the return value is always empty.
In the iPhone standard Wallet, a button is displayed below CarKey, and you can lock and unlock it.
My question is, com.apple.developer.carkey.session is set in Entitlement.plist, but do I need to set anything else, such as manufacturerIdentifier? . Also, if I need it, what format should I use?
for example,
What should I do if I want to specify "TEST" for manufacturerIdentifier?
Entitlements
RSS for tagEntitlements allow specific capabilities or security permissions for your apps.
Post
Replies
Boosts
Views
Activity
I would like the ability to add to the menu. I can add to the share sheet, but is there something special Chrome gets?
Maybe there is an entitlement to add?
Thanks,
Rob
When I try to submit the app, I get the following error. Is there a way to solve this?
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIRequiresFullScreen' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleDisplayName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIMainStoryboardFile' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'MinimumOSVersion' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSCameraUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSPhotoLibraryUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'XSAppIconAssets' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UILaunchStoryboardName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIStatusBarHidden' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleIdentifier' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIDeviceFamily' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleShortVersionString' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UISupportedInterfaceOrientations' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleVersion' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045) Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSPhotoLibraryAddUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported
my Info.plist is
And my Entitlements.plist is
Our app uses Family Control and have 2 extensions for monitoring and shielding.
We got Family controls Distribution entitlement for main app bundle and we have applied to get for extensions too, but its like 2 months we didn't get the Distribution entitlements for extensions. We need to upload the app to TestFlight, but without Distribution entitlements for extensions we can't do it.
Bundle id exp:
com.example.example -- Distribution entitlement provided
com.example.example.MonitorExtension -- only development entitlement
com.example.example.ShieldConfiguratoionExtension -- only development entitlement
Is there nay workaround?
Share Extension can access files from the Photos app but not the Files app. In case of the Photos app the file url is something like file:///var/mobile/... In case of the Files app the url stars with file:///private/var/mobile/... The following error is thrown in case of the Files app
Error Domain=NSCocoaErrorDomain Code=260 "The file “file.pdf” couldn’t be opened because there is no such file."
However the file is there, it was selected via the Files app and the share button was used to launch the Share Extension.
Also the access to the file is within the following block
url.startAccessingSecurityScopedResource()
...
url.stopAccessingSecurityScopedResource()
Another issue is that the Share Extension does not appear in the Settings / Privacy / Files and Folders. Here are the apps which have the "Applications that have requested access to files and folders will appear here".
What is the solution to allow the Share extension access the files from the Files app ?
When I try to submit the app, I get the following error.
Is there a way to solve this?
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIRequiresFullScreen' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleDisplayName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIMainStoryboardFile' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'MinimumOSVersion' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSCameraUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSPhotoLibraryUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'XSAppIconAssets' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UILaunchStoryboardName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIStatusBarHidden' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleIdentifier' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UIDeviceFamily' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleShortVersionString' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleName' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'UISupportedInterfaceOrientations' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'CFBundleVersion' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported.
Asset validation failed (90045)
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, key 'NSPhotoLibraryAddUsageDescription' in 'Payload/MyApp.iOS.app/MyApp.iOS' is not supported
Hi,
Please take a response to me about my Notification Service Entitlement Request.
I have requested 5 times but i didn't get any repsonses.
The application cannot be released because authorization is not granted.
Please check my case and leave a response as soon as.
Thanks,
hello,
I work for a telecommunications company specializing in signal quality and field testing. We need to collect radio signal level measurements and L3 traces with iPhones. Since the chipset in the latest models is Qualcomm, we believe there is a possibility of using QXDM, but we're not sure how to proceed.
<array>
<string>dns-settings</string>
<string>packet-tunnel-provider</string>
</array>
<key>com.apple.security.application-groups</key>
<array/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)</string>
</array>
⚠️ Could not save VPN Configuration: Missing protocol or protocol has invalid type
vpn connection error started with error : Missing protocol or protocol has invalid type
I recently built an update to one of our apps, which installs a driver extension.
The new version won't launch on my Mac, Finder says it "can't be opened".
I captured the logs, which say "no matching profile found":
error 2024-01-10 14:36:03.306061 -0800 taskgated-helper <app-bundle-id>: Unsatisfied entitlements: com.apple.developer.system-extension.install, com.apple.developer.team-identifier
info 2024-01-10 14:36:03.306279 -0800 amfid Requirements for restricted entitlements failed to validate, error -67671, requirements: '<private>'
error 2024-01-10 14:36:03.306287 -0800 amfid Restricted entitlements not validated, bailing out. Error: Error Domain=AppleMobileFileIntegrityError Code=-413 "No matching profile found" UserInfo={NSURL=<private>, unsatisfiedEntitlements=<private>, NSLocalizedDescription=No matching profile found}
default 2024-01-10 14:36:03.306432 -0800 amfid /Applications/<app-bundle-id>/Contents/MacOS/<app-name> not valid: Error Domain=AppleMobileFileIntegrityError Code=-413 "No matching profile found" UserInfo={NSURL=file:///Applications/C<escaped-app-name>/, unsatisfiedEntitlements=<CFArray 0x14f3041d0 [0x1dd7d39a0]>{type = immutable, count = 2, values = (
0 : <CFString 0x14f3055a0 [0x1dd7d39a0]>{contents = "com.apple.developer.system-extension.install"}
1 : <CFString 0x14f304130 [0x1dd7d39a0]>{contents = "com.apple.developer.team-identifier"}
)}, NSLocalizedDescription=No matching profile found}
default 2024-01-10 14:36:03.306514 -0800 kernel AMFI: bailing out because of restricted entitlements.
default 2024-01-10 14:36:03.306523 -0800 kernel mac_vnode_check_signature: /Applications/<app-bundle-id>/Contents/MacOS/<app-name>: code signature validation failed fatally: When validating /Applications/<app-bundle-id>/Contents/MacOS/<app-name>:
Code has restricted entitlements, but the validation of its code signature failed.
Unsatisfied Entitlements: com.apple.developer.system-extension.installcom.apple.developer.team-identifier
The thing is, when I run this command
codesign -v -vvv <path-to-app>
the app is valid on disk and satisfies its Designated Requirement
and these two commands:
codesign --display --entitlements - security cms -D -i <path-to-app>/Contents/embedded.provisionprofile
when run against the old app (which works) and the new app (which doesn't) have absolutely identical outputs. The certificates haven't expired yet.
Where else should we be looking to figure out where we've messed up? We know we changed the signing and notarization flow; the working build was made by a person using Xcode, the new app was built, signed and notarized using the command line tools (xcodebuild and notarytool).
Hello everyone,
I'm encountering an issue while trying to publish an app on TestFlight. The app in question is Home Assistant, which I've compiled from the source. I am able to compile and install the app on my device without any problems. My company's developer account is properly configured, and I have set Xcode to automatically manage the provisioning profile.
The archive is also created successfully, but when I attempt to upload it to Apple Store Connect for testing via TestFlight, I receive the following error:
ERROR: [ContentDelivery.Uploader] Asset validation failed (90525) Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: ceac6dcc-9c76-412e-8ea7-f2d2845f8013)
I've made several attempts to resolve this issue to no avail. For instance, if I add the missing capability manually, then I am informed that the provisioning profile is incorrect. However, checking the network extension settings on my company's dev account, I see nothing related to push notifications, which are located elsewhere. Thus, I am stuck in a loop where either the provisioning file is correct but the entitlement is missing, or if the entitlement is present, then the provisioning profile is deemed incorrect.
URL:https://contentdelivery.itunes.apple.com
status code: 409 (conflict)
httpBody: {
"errors" : [ {
"id" : "ceac6dcc-9c76-412e-8ea7-f2d2845f8013",
"status" : "409",
"code" : "STATE_ERROR.VALIDATION_ERROR.90525",
"title" : "Asset validation failed",
"detail" : "Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'."
}, {
"id" : "9ff2143b-3c00-4912-b59f-8342fa6fe5c0",
"status" : "409",
"code" : "STATE_ERROR.VALIDATION_ERROR.90525",
"title" : "Asset validation failed",
"detail" : "Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'."
} ]
}
=======================================
2024-01-10 23:19:35.506 ERROR: [ContentDelivery.Uploader] Asset validation failed (90525) Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: ceac6dcc-9c76-412e-8ea7-f2d2845f8013)
2024-01-10 23:19:35.506 DEBUG: [ContentDelivery.Uploader] Error Domain=ContentDelivery Code=90525 "Asset validation failed" UserInfo={NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: ceac6dcc-9c76-412e-8ea7-f2d2845f8013), NSUnderlyingError=0x6000022b6430 {Error Domain=IrisAPI Code=-19241 "Asset validation failed" UserInfo={status=409, detail=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'., id=ceac6dcc-9c76-412e-8ea7-f2d2845f8013, code=STATE_ERROR.VALIDATION_ERROR.90525, title=Asset validation failed, NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'., NSLocalizedDescription=Asset validation failed}}, iris-code=STATE_ERROR.VALIDATION_ERROR.90525, NSLocalizedDescription=Asset validation failed}
2024-01-10 23:19:35.507 ERROR: [ContentDelivery.Uploader] Asset validation failed (90525) Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: 9ff2143b-3c00-4912-b59f-8342fa6fe5c0)
2024-01-10 23:19:35.507 DEBUG: [ContentDelivery.Uploader] Error Domain=ContentDelivery Code=90525 "Asset validation failed" UserInfo={NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: 9ff2143b-3c00-4912-b59f-8342fa6fe5c0), NSUnderlyingError=0x6000022b6640 {Error Domain=IrisAPI Code=-19241 "Asset validation failed" UserInfo={status=409, detail=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'., id=9ff2143b-3c00-4912-b59f-8342fa6fe5c0, code=STATE_ERROR.VALIDATION_ERROR.90525, title=Asset validation failed, NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'., NSLocalizedDescription=Asset validation failed}}, iris-code=STATE_ERROR.VALIDATION_ERROR.90525, NSLocalizedDescription=Asset validation failed}
2024-01-10 23:19:35.507 DEBUG: [ContentDelivery.Uploader] swinfo errors: (
"Error Domain=ContentDelivery Code=90525 \"Asset validation failed\" UserInfo={NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: ceac6dcc-9c76-412e-8ea7-f2d2845f8013), NSUnderlyingError=0x6000022b6430 {Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'., id=ceac6dcc-9c76-412e-8ea7-f2d2845f8013, code=STATE_ERROR.VALIDATION_ERROR.90525, title=Asset validation failed, NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app/PlugIns/HomeAssistant-Extensions-PushProvider.appex' is missing entitlement 'com.apple.developer.networking.networkextension'., NSLocalizedDescription=Asset validation failed}}, iris-code=STATE_ERROR.VALIDATION_ERROR.90525, NSLocalizedDescription=Asset validation failed}",
"Error Domain=ContentDelivery Code=90525 \"Asset validation failed\" UserInfo={NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'. (ID: 9ff2143b-3c00-4912-b59f-8342fa6fe5c0), NSUnderlyingError=0x6000022b6640 {Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'., id=9ff2143b-3c00-4912-b59f-8342fa6fe5c0, code=STATE_ERROR.VALIDATION_ERROR.90525, title=Asset validation failed, NSLocalizedFailureReason=Missing Entitlement. The bundle 'Home Assistant.app' is missing entitlement 'com.apple.developer.networking.networkextension'., NSLocalizedDescription=Asset validation failed}}, iris-code=STATE_ERROR.VALIDATION_ERROR.90525, NSLocalizedDescription=Asset validation failed}"
)
I am trying to use Firebase’s Remote Config in the context of an Authorization Plugin. I’m doing this in order to implement feature flag support in our Auth Plugin. When I try to fetch remote Firebase settings, I get a -34018 indicating that there is an error with access to the keychain on the Mac.
Based on https://forums.developer.apple.com/forums/thread/114456, I have an entitlement problem. It’s my impression that it is not possible to grant entitlements to an Authorization Plugin, so I’m wondering if this kind of keychain access that Firebase requires is simply not possible. Or, if perhaps there is something I can do with entitlements to get this to work?
Working with macOS 13.6.2, XCode 15.1
Case-ID: 4977264
I am writing to inquire about the status of my location push service extension entitlement, which I submitted a consent form for on November 16, 2023., It has been 50 days with no response from Apple since I submitted, Can anyone help regarding the entitlement and why Apple takes time to approve OR is there any specific reason to deny entitlement?
Thanks in advance.
I encountered this in Apple's doc:
Users must grant permission for your app to access their music data. Add the NSAppleMusicUsageDescription key to your app’s Info.plist file
Info.plist is no longer generated as part of Xcode projects. Do we add a key like this to the app's .entitlements file instead?
I can't find the webpage to request access to parts of iOS that are restricted from Developers. It's more than entitlements. It's to access actual hardware, specifically the lightning port. I need to be able to send signals to the right pins or what-not. What is that called when a developer makes that request? Or where is that on Apple's Developer website?
I logged in with the wrong Apple ID. I'm ShinehahGnolaum.
Hello all!
I'm having problems with capacitor built to iOS. The audio plays correctly (.wav files/ sound effect triggered in a game), but the debugger pops the error:
Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)" UserInfo={NSLocalizedFailureReason=(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)}>
I've added the entitlements for:
Audio, AirPlay, and Picture in Picture
Background fetch
Remote notifications
Background processing
Help is appreciated!
I have a driving task app and am trying to show a CPActionSheetTemplate or a CPAlertTemplate. Both of these are crashing showing:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported object <CPActionSheetTemplate: 0x6000030319e0> <identifier: C744031B-99F6-4999-AF19-6ED43140502B, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to pushTemplate:animated:completion:. Allowed classes: {(
CPSearchTemplate,
CPNowPlayingTemplate,
CPPointOfInterestTemplate,
CPListTemplate,
CPInformationTemplate,
CPContactTemplate,
CPGridTemplate,
CPMapTemplate
)}'
This is very strange, because in the docs all app types are allowed to show ActionSheets and Alerts.
Why is this crashing?
We asked for and received confirmation that we have received the Critical alert entitlement.
I have also tested it in development build with a development profile and it worked.
However when we try to send an update to test flight to test in release mode on our device, we get the following error:
The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.usernotifications.critical-alerts'
NSLocalizedFailureReason = "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.usernotifications.critical-alerts' in our app.
SUnderlyingError = "Error Domain=IrisAPI Code=-19241 "Asset validation failed" UserInfo={status=409, detail=Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.usernotifications.critical-alerts in our app code=STATE_ERROR.VALIDATION_ERROR.90163, title=Asset validation failed
we added the following entitlement to the entitlements.plist file:
com.apple.developer.usernotifications.critical-alerts
Problem
I am trying to send out a broadcast using NWConnection and then listen for responses using NWListener on port 50913. Although the broadcast is sent out correctly (= no error is thrown upon sending), I only get responses to my broadcast from what I suppose are the network interfaces of my own MacBook. In other words, it seems like the broadcast is never really submitted to the network.
Context
I don't have in-depth knowledge about the behavior of UDP which is why I am confused about this behavior. I've been reading online about this and couldn't find anything really related to the behavior I am experiencing. I've also looked at this developer forums entry and implemented the broadcast accordingly. The response from @meaton does not suggest that broadcasts are not supported by NWConnection (which is what I thought to be the culprit initially), and I am not getting the error they are talking about in their post, but a behavior that is entirely different.
Does anyone know what is wrong with my implementation?
Code
final public class BroadcastDiscoveryEngine {
private let logger: Logger = Logger.init(for: BroadcastDiscoveryEngine.self)
private let broadcastConnection: NWConnection
private let broadcastResponseListener: NWListener
private let responseParser: BroadcastResponseParser = BroadcastResponseParser()
private var discoveryContinuation: AsyncStream<Discovery>.Continuation? = nil
init() throws {
let parameters = NWParameters.udp
parameters.allowLocalEndpointReuse = true
parameters.allowFastOpen = true
parameters.includePeerToPeer = true
broadcastConnection = NWConnection(host: .ipv4(.broadcast), port: .init(integerLiteral: 50913), using: parameters)
broadcastResponseListener = try NWListener(using: parameters, on: 50913)
}
func startBroadcast(continuation: AsyncStream<Discovery>.Continuation) {
discoveryContinuation = continuation
broadcastConnection.stateUpdateHandler = handleBroadcastConnectionStateUpdate(state:)
broadcastConnection.start(queue: .global(qos: .default))
startBroadcastListener()
}
func stopBroadcast() {
broadcastConnection.cancel()
broadcastResponseListener.cancel()
}
private func sendBroadcastMessage() {
broadcastConnection.send(content: "my_broadcast_message".data(using: .utf8), completion: .contentProcessed({ error in
if let error = error {
self.logger.error("Sending broadcast message failed with error: \(error.debugDescription, privacy: .public)")
self.broadcastConnection.cancel()
self.broadcastResponseListener.cancel()
}
self.logger.info("Broadcast message sent.")
}))
}
private func handleBroadcastConnectionStateUpdate(state: NWConnection.State) {
switch state {
// shortened other cases since only logging occurs
case .ready:
logger.info("Broadcast connection established, ready to send and receive data.")
sendBroadcastMessage()
}
}
}
extension BroadcastDiscoveryEngine {
private func startBroadcastListener() {
broadcastResponseListener.stateUpdateHandler = handleBroadcastResponseListenerStateUpdate(state:)
broadcastResponseListener.newConnectionHandler = handleIncomingConnection(connection:)
broadcastResponseListener.start(queue: .global(qos: .default))
}
private func handleBroadcastResponseListenerStateUpdate(state: NWListener.State) {
switch state {
// shortened cases since only logging occurs
}
}
private func handleIncomingConnection(connection: NWConnection) {
connection.stateUpdateHandler = { state in self.handleIncomingConnectionStateUpdate(connection: connection, state: state) }
connection.start(queue: .global(qos: .default))
}
private func handleIncomingConnectionStateUpdate(connection: NWConnection, state: NWConnection.State) {
switch state {
// shortened other cases since only logging occurs
case .ready:
logger.info("Incoming connection (\(connection.debugDescription, privacy: .public) established, ready to send and receive data.")
connection.receiveMessage { content, contentContext, isComplete, error in
self.receiveBroadcastResponse(connection: connection, content: content, contentContext: contentContext, isComplete: isComplete, error: error)
}
}
}
private func receiveBroadcastResponse(connection: NWConnection, content: Data?, contentContext: NWConnection.ContentContext?, isComplete: Bool, error: NWError?) {
// shortened: handles parsing accordingly and then cancels connection
connection.cancel()
}
}
I have developed a process monitoring software for internal use in my company using the endpointsecurity API. When I tried to package and distribute it to my colleagues, I found out that I need to apply for the com.apple.developer.endpoint-security.client entitlement from Apple. It has been almost 2 months since I submitted the application, but it hasn't been approved yet. I sought help from customer service, but they haven't provided any useful feedback. I'm hoping to get help from the developer community. How can I expedite the approval of the com.apple.developer.endpoint-security.client entitlement? thanks~