Require only app-extension-safe APIs #266
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.