Search code examples
iosios13

How to restrict access to fonts while using the new font-management feature in iOS 13?


I want to create a fonts App where users can purchase new fonts and use them systemwide in iOS 13.

But according to this WWDC-2019 video about the new font-management feature, you need to submit all the fonts with the App-bundle, either in an asset-catalog or as on-demand resources.

If you want to restrict users to access only the fonts they have purchased, it makes sense to add these fonts as on-demand resources. But even then the un-purchased fonts are not all that secure.

What would be the best way to ensure that only the purchased fonts are accessible to a user?


Solution

  • Looks like the font files may not be encrypted and must go through App Store review. So I think your best bet is:

    • Use secure random generation for the on-demand resource tag strings
    • Don’t bundle the tags in the client
    • Provide the tags to your client from your server only over a secure connection, and only after verifying the in-app purchase receipt with Apple
    • If you think it’s worth it, periodically cycle the ODR tags

    Imperfect, but hopefully good enough. I doubt there will be much font piracy on iOS due to the difficulty of jailbreaking & side loading icons.