Hi Apple Engineers and fellow developers,
I'm a student developer working on an educational focus management app that helps users hide distracting apps during study sessions. The app consists of:
macOS app: Simple "Hide apps" button that triggers app hidding sessions
iOS app: Uses Screen Time API to temporarily hide selected apps from home screen
Communication: Bonjour networking between Mac and iPhone for session coordination
The Challenge My app requires two entitlements that aren't available with Personal Developer Teams:
com.apple.developer.family-controls (for Screen Time API)
com.apple.developer.networking.multicast (for Bonjour device discovery)
Current Error Messages text Cannot create a iOS App Development provisioning profile for "focuser.focuser-app". Personal development teams, including "My Name", do not support the Family Controls (Development) capability.
Provisioning profile doesn't include the com.apple.developer.family-controls and com.apple.developer.networking.multicast entitlements. My Question for Apple Engineers Is there any legitimate way to test these privacy-sensitive APIs on my own devices for educational/learning purposes without purchasing the $99/year Apple Developer Program membership?
I understand the security reasons behind these restrictions, but as a student just learning iOS development, it creates a significant barrier to experimenting with these technologies.
I have a two part answer for you:
- Entitlements
- Networking
On the entitlements front, I recommend that you review the table in Developer Account Help > Reference > Supported capabilities (iOS). The Apple Developer column shows all the capabilities available to folks using free provisioning, aka a Personal Team. There’s no supported way to use capabilities that aren’t listed there.
On the networking front, you wrote:
Bonjour networking between Mac and iPhone for session coordination
You don’t need the multicast entitlement if you’re using Bonjour [1]. You only need that entitlement if you’re sending and receive multicasts yourself.
If you’re having problems getting Bonjour to work, I recommend that you work through the steps in Getting Started with Bonjour.
That doesn’t help you with Family Controls, alas )-:
Oh, I should mentioned one other thing: Many educational institutions have their own developer team. If that’s the case for you, and you can blag an invite to said team, then that’s a good way around these limitations.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] Unless you’re doing something bananas, like embedding your own multicast DNS implementation in your app.