I can't find NEProviderTargetTemplates.pkg

Hi All,


I am using XCode Version8.0 on OSX Sierra 10.12. I can't find "

NEProviderTargetTemplates.pkg" file
in the
/System/Library/Frameworks/NetworkExtension.framework/Resources
.


Could you please help me to find the extension?

Replies

Clearly this installer package was removed in 10.12. I’m not sure how you’re supposed to get these templates currently. I’ll look into that. For the moment, I recommend you grab the package from a 10.11 install.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I’m not sure how you’re supposed to get these templates currently. I’ll look into that.

My conclusion is that there’s currently no way to get these templates )-: I’ve filed a bug about that (r. 28697094). For the moment your best option is to grab a copy of the SimpleTunnel sample code and clone things from there.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Why apple do these things? it's really frustrating....

Folks keeping pinging me about this so I thought I’d post a follow-up. Two points:

  • The underlying bug here (r. 28697094) is well on its way to being fixed. Alas, I can’t be more specific than that.

  • It’s relatively easy to work around this: create your target from some other extension template and then change the necessary values to make it a Network Extension provider. For example, to create an iOS packet tunnel provider:

    1. Create the target from the Spotlight Index Extension target

    2. Remove

      IndexRequestHandler.{swift,h,m}
    3. Add a new source file with your class that subclasses NEPacketTunnelProvider

    4. Edit the

      NSExtension
      dictionary in the
      Info.plist
      to make this a packet tunnel provider; this involves two substeps:
      • Set

        NSExtensionPointIdentifier
        to
        com.apple.networkextension.packet-tunnel
        (you can get values for other providers from the documentation, or from the SimpleTunnel sample code)
      • In

        NSExtensionPrincipalClass
        , replace
        IndexRequestHandler
        with the name of your class from step 3

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Earlier I wrote:

The underlying bug here (r. 28697094) is well on its way to being fixed. Alas, I can’t be more specific than that.

Xcode 9 includes a new Network Extension template that you can use to create various types of Network Extension providers. Yay! Please try it out, filing bugs if you encounter any problems.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"