rive-app / rive-ios

iOS runtime for Rive
MIT License
468 stars 53 forks source link

Require only app-extension-safe APIs #267

Closed mattlarose closed 11 months ago

mattlarose commented 11 months ago

tl;dr: Marks Rive library as safe, to prevent potential App Store rejection.

If an app extension (e.g., a widget) depends on Rive, when you build your app you'll be warned that you're Linking against a dylib which is not safe for use in application extensions. Apple may reject the app for this.

A library is safe for application extensions if APPLICATION_EXTENSION_API_ONLY = YES.

Right now, APPLICATION_EXTENSION_API_ONLY is unspecified in Rive, but Rive is only using APIs that are safe for app extensions. Since Rive is safe, I marked it as safe. If an unsafe API is ever used in the future, Xcode will generate errors. I'd guess that given the usual unsafe APIs, this seems unlikely ever to be a problem for Rive.

I didn't see some project file management setup, so I edited the .pbxproj directly.

zplata commented 11 months ago

Thanks for contributing this! We've patched this from an upstream repo and this has landed in v5.1.4