I'm trying to diagnose an issue with a Message Filtering Extension not working.
The associated domain for the server is not currently publicly hosted, so the associated domains specified for the app are postpended with ?mode=developer
On application installation I filtered OS logging by the swcd process and saw this logged:
debug 08:40:01.125071-0800 swcd Skipping domain vz….qa….cl….ce….com?mode=developer because developer mode is disabled
But developer mode IS enabled on the phone (Settings/Privacy & Security/Developer Mode is set to On).
Therefore why is swcd saying developer mode is disabled?
Is the developer mode mentioned in the documentation not actually the Developer Mode in the iPhone's setting but something else? That wouldn't appear to be the case because the documentation explicitly states
"Specifies that only devices in developer mode can access the domain."
Full Documentation: https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.developer.associated-domains
If you use a private web server, which is unreachable from the public internet, while developing your app, enable the alternate mode feature to bypass the CDN and connect directly to your server. To do this, add a query string to your associated domains entitlement, as shown in the following example:
<service>:<fully qualified domain>?mode=<alternate mode>
developer
Specifies that only devices in developer mode can access the domain.
So I've:
- turned developer mode on for the device
- have added ?mode=developer to the domain
- am building/running using a developer certificate.
But why does swcd log that developer mode is disabled?
So I discovered that in order to stop the OS saying developer mode was disabled, I had to go into the iPhone developer settings and switch on Associated Domains Development. Having to do this is an extra step that is not documented anywhere.
However unfortunately it doesn't solve my larger issue, which is getting Network URL Unauthorized in the message filter extension when deferring the request to the server.