Hi,
I've developed network extension that is being loaded from container application.
Currently, i'd like to test the extension using development profile in signature.
I've implemented 4 providers inside the extension, each derived from NE basic class. here are the definitions of my providers :
@interface myAppProxyProvider : NEAppProxyProvider
@interface myFilterDataProvider : NEFilterDataProvider
@interface myFilterPacketProvider : NEFilterPacketProvider
@interface myDnsProxyProvider : NEDNSProxyProvider
and added them in the Info.plist accordingly:
<key>NetworkExtension</key>
<dict>
<key>NEMachServiceName</key>
<string>MY_TEAM_ID.com.myBrand.ext</string>
<key>NEProviderClasses</key>
<dict>
<key>com.apple.networkextension.app-proxy</key>
<string>myAppProxyProvider</string>
<key>com.apple.networkextension.dns-proxy</key>
<string>myDnsProxyProvider</string>
<key>com.apple.networkextension.filter-data</key>
<string>myFilterDataProvider</string>
<key>com.apple.networkextension.filter-packet</key>
<string>myFilterPacketProvider</string>
</dict>
</dict>
I also gave the extension proper entitlements, that my developer provision profile supports.
<dict>
<key>com.apple.application-identifier</key>
<string>MY_TEAM_ID.com.myBrand.ext</string>
<key>com.apple.developer.networking.networkextension</key>
<array>
<string>app-proxy-provider</string>
<string>content-filter-provider</string>
<string>packet-tunnel-provider</string>
<string>dns-proxy</string>
<string>
</array>
<key>com.apple.developer.team-identifier</key>
<string>MY_TEAM_ID</string>
<key>com.apple.security.application-groups</key>
<array>
<string>MY_TEAM_ID.myGroup.com</string>
</array>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
</dict>
First, I activate the extension from the container app, so it set to [activated enabled]
Then, In order to spawn the xpc client process, I start the xpc connection from the container application. but the process gets immediate exception and crash right after startup for the following reason :
System Integrity Protection: enabledCrashed Thread: 0 Dispatch queue: com.apple.main-threadException Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001aab620f8
Exception Note: EXC_CORPSE_NOTIFYTermination Reason: Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process: exc handler [1268]Application Specific Information:
Configuration error: Couldn’t retrieve XPCService dictionary from service bundle.
The problem may hint wrong configuration of the Info.plist, no ? Any idea what can lead to this ?
Thanks