Per App VPN Manual Profile

I Found I can use Per App VPN without MDM using Test Per App VPN. I created a profile which contains VPNUUID, PayloadType, VPNTYPE, VPNSubType etc (profile attached & it is created manually ).

  1. when I sent profile using air drop to my iPhone (from my Mac).
  2. profile appears in settings to install.

2A. after this installation failed with the message:

THE VPN SERVICE "VPN" could not be installed.

Here is my info.plist of my source app

	<key>NETestAppMapping</key>
	<dict>
		<key>825886EA-BB00-4805-ADD6-1616161616</key>
		<array>
			<string>added the app ids for which I want to implement per App VPN like chrome and Firefox bundle identifier</string>
		</array>
	</dict>

Here is my profile

<?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>PayloadContent</key>
      <array>
         <dict>
            <key>PayloadUUID</key>
            <string>E6671FFB-66C2-49F7-AB1B-CD5A0CD5A0</string>
            <key>PayloadType</key>
            <string>com.apple.vpn.managed.applayer</string>
            <key>PayloadIdentifier</key>
            <string>com.apple.vpn.managed.applayer.388257C2-7902-42B5-BDAE-6E69A441C3A2</string>
            <key>VPNType</key>
            <string>VPN</string>
            <key>VPNSubType</key>
            <string>Here bundle identifier of my source app Main target</string>
            <key>UserDefinedName</key>
            <string>VPN_CONFIG</string>
            <key>PayloadDescription</key>
            <string>VPN Configuring</string>
            <key>PayloadDisplayName</key>
            <string>VPN_Config</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>VPNUUID</key>
            <string>825886EA-BB00-4805-ADD6-1616161616</string>
         </dict>
      </array>
      <key>PayloadDisplayName</key>
      <string>Name not set</string>
      <key>PayloadIdentifier</key>
      <string>Ignored</string>
      <key>PayloadRemovalDisallowed</key>
      <false />
      <key>PayloadType</key>
      <string>Configuration</string>
      <key>PayloadUUID</key>
      <string>Ignored</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
   </dict>
</plist>

Are you building a packet tunnel provider? Or an app proxy?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Are you building a packet tunnel provider? Or an app proxy?

I'm Building Packet-Tunnel. I would appreciate if I can get a sample configuration profile. additionally I've added the apps (on which I want to trigger my Test Per App VPN ) like this

	<dict>
		<key>825886EA-BB00-4805-ADD6-1616161616</key>
		<array>
			<string>added the app ids for which I want to implement per App VPN like chrome and Firefox bundle identifier</string>
		</array>
	</dict>

I posted a working example — well it worked the last time I tried this (-: — of this setup here. A quick vdiff suggests you’re missing the VPN > RemoteAddress element, which is absolutely required.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Per App VPN Manual Profile
 
 
Q