We're working on an update to the README to include the missing steps. For now here are some tips on configuring and running the sample code:
Apps using Local Push Connectivity require the App Push Provider entitlement entitlement. After receiving the entitlement:
Open SimplePush.xcworkspace and set the Development Team in the build settings of all five targets across the three projects. Once the team has been set, Xcode automatically creates unique bundle identifiers that can be used in the following steps.
Sign into your account on the Apple Developer website and register a new App Group and two App IDs, one for the SimplePush app and one for the SimplePushProvider extension. Each App ID should be configured with the App Groups and Network Extensions capabilities. Once the IDs are registered, create two provisioning profiles (one for each identifier) that includes the App Push Provider entitlement.
Import the newly created provisioning profiles into Xcode.
In the SimplePush project, configure the SimplePush and SimplePushProvider targets with the imported provisioning profiles, uncheck the existing App Group and select the new App Group identifier created in step 2.
Update the pushProviderBundleIdentifier in PushConfigurationManager.swift with the bundle identifier set on the SimplePushProvider target.
Select the SimplePushServer build scheme and your macOS machine as the run destination then run the project to start the server.
With the server running, select the SimplePush iOS build scheme and run the project on your iOS device. When SimplePush starts, update the app’s settings to connect to the server.
Tap the Settings button and enter the following information:
Enter the Server Address, which is the IP address or hostname of the macOS computer where SimplePushServer is running.
Enter the SSID of your local Wi-Fi network. The NEAppPushProvider will only run when your device is joined to the Wi-Fi network with the SSID you've specified.
After configuring those settings, the “Local Push Connectivity - Active” setting displays “Yes” when NEAppPushProvider is running. You should perform the steps above on at least two iOS devices so you can test and observe message exchanges between clients.