I have an app which uses the Local Push Connectivity API.
I have requested and received the entitlement and everything is working in dev-mode, but once I try to distribute the app to the AppStore I got the following error:
Provisioning profile failed qualification
Profile doesn't match the entitlements file's value for the com.apple.developer.networking.networkextension entitlement.
I was wondering if I need an other entitlement for this, mine is called Local Push Provider iOS Dev which makes me feel like there should be a Store counterpart - but I did not see how to request it on the Entitlement Request Page.
Thanks for any hints!
Entitlements
RSS for tagEntitlements allow specific capabilities or security permissions for your apps.
Post
Replies
Boosts
Views
Activity
Hi,
I am trying to distribute my Flutter macOS app, but it fails systematically.
The application works perfectly locally (in both Debug & Release modes).
My application uses the com.apple.developer.aps-environment entitlement (Push Notifications).
I set this entitlement to "production" everywhere (DebugProfile.entitlements, Release.entitlements & RunnerProfile.entitlements).
I have macOS distribution provisioning profile.
When I am running the 'Archive', I selected as destination: "Any Mac (Apple Silicon, Intel)".
When I am trying to deliver the archive, I receive the following error:
Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on macOS. Specifically, value 'development' for key 'com.apple.developer.aps-environment' in ...
and this... for every single asset !!
My configuration is:
Flutter 3.16.2
XCode 15.0.1
Mac OS: Ventura 13.6.1
Hardware: Mac mini 2018
Any help will be more than welcome...
Thanks in advance,
Hello all,
Does anyone know how long it will take Apple to approve multicast entitlement approval after the Apple form is submitted?
Any input would be appreciated.
Thank you
Allyson
I'm currently facing an issue with APNS token registration on iOS 16.7.1 specifically for iPhone 8+. I'm working on integrating Firebase into my iOS app for push notifications.
Problem:
The problem I'm encountering is that the didRegisterForRemoteNotificationsWithDeviceToken and didFailToRegisterForRemoteNotificationsWithError delegates are not being called at all, despite Firebase successfully generating the FCM token.
Environment:
Device: iPhone 8+
iOS Version: 16.7.1
Xcode Version: latest
Swift Version: latest
Firebase SDK Version: latest
Observations:
Firebase successfully generates the FCM token, indicating that the device is able to connect to Firebase Cloud Messaging.
However, the standard APNS delegate methods (didRegisterForRemoteNotificationsWithDeviceToken and didFailToRegisterForRemoteNotificationsWithError) are not being triggered.
This issue seems specific to iOS 16.7.1 on the iPhone 8+. I already tested on other iphone its work normaly.
Steps Taken:
1.Ensured that APNS is properly configured in the Apple Developer Console.
2.Firebase is set up correctly, as evidenced by the successful generation of FCM tokens.
3. No relevant errors or warnings in the Xcode console.
Question:
Has anyone else experienced a similar issue on iOS 16.7.1 or with iPhone 8+ devices? Any insights or suggestions on how to troubleshoot and resolve this issue would be greatly appreciated.
Thank you in advance for your time and assistance!
Additional Information:
If you need more information or code snippets, please let me know.
If there's a more appropriate place to post this issue or if it has already been addressed, kindly guide me.
403 error occurred
Please help a developer out. If you have gotten the user-assigned-device-name entitlement recently with the new questions, how did you answer the questions?
I ask Bard and my app DOES do all of the following and I provided screen shots and it's still rejected.
But the problem is, Apple doesn't tell you WHY??? We have to guess and guess.
Eligibility criteria:
User-facing functionality: Your app must use the user-assigned device name solely for functionality that's visible to the user and allows them to identify their own device.
YES!!!!!!
Multi-device interaction: The functionality must involve interaction between multiple devices that the same user operates.
YES!
UI visibility: The user-assigned device name must be visible to the user in your app's UI. You need to provide screenshots of this UI when requesting the entitlement.
YES!
Hi Support Team,
We have Magazine App please need to do External Link Account entitlement request form. But always getting not eligible for entitlement ERROR. Please help me on that.
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.
Electron app builded successfully with electron forge and @electron/osx-sign. But it crash when startup and get crash log below:
Time Awake Since Boot: 320000 seconds
Time Since Wake: 9200 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [95916]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
if I use custom entitlements, it shows:
Time Awake Since Boot: 310000 seconds
Time Since Wake: 8600 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [93221]
Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
Could not set sandbox profile data: Operation not permitted (1)
Application Specific Signatures:
SYSCALL_SET_PROFILE
here is entitlement:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>
inherit entitlement:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>
what can I do to resolve it?
Hey everyone,
I have translated my app using the newest String Catalog feature but im wondering how can I translate the strings from the Target -> Info tab.
I have read the string catalog documentation and searched on the internet but I can't find a recent post talking about it. I have found methods related to the info.plist file but afaik that would be legacy documentation as I can't even find a info.plist file in my project anymore. Also tried to look for posts talking about it here, but maybe I'm not using the right words as I couldn't find anything.
I only found this article that mentions translating the strings from info but still couldn't see how to do it: https://developer.apple.com/documentation/bundleresources/information_property_list/managing_your_app_s_information_property_list#3375316
So if someone could help me out, it would be very appreciated, thanks.
EDIT: I just followed the "creating a infoplist.strings" way and it worked, but im still wondering if there is a newer way to do it. I tried to just add a manual string in the string catalog using "NSContactsUsageDescription" as key but it didn't work
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~
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()
}
}
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
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?
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 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.
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?
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 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
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}"
)