Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save POMBuilds/eb439cfa2300b080c7b75006ab69265e to your computer and use it in GitHub Desktop.
Save POMBuilds/eb439cfa2300b080c7b75006ab69265e to your computer and use it in GitHub Desktop.

The POSSIBLE Mobile Seaworthy Framework Checklist for Vendors

✔ Provide a sample project that cleanly builds and runs in a simulator and on device with zero issues or warnings.

✔ The sample project and framework do not require third-party tools such as CocoaPods.

✔ The sample project is written in Swift.

✔ The framework is built with the latest non-beta version of Xcode.

✔ The framework provides configurable debug log levels with the option to completely silence them.

✔ The framework has a small memory and on-disk footprint.

✔ The framework has been tested with all of the deployment targets supported.

✔ The framework supports Bitcode and can build with Bitcode enabled.

✔ The framework doesn't swizzle system API methods.

✔ The framework's public interfaces are commented with Headerdoc.

✔ The framework's public interfaces use Objective-C nullability tags and typed collection syntax.

✔ If the framework includes a Universal binary, the provided fat binary must have the architectures needed (run lipo -info on the binary from Terminal to see what architectures it supports): arm64, armv7, i386, x86_64.

✔ The SDK package provides comprehensive documentation that describes SDK setup and use.

✔ The SDK package provides a list of bundled third-party libraries used in the framework so we can assess compatibility with our other third-party frameworks.

✔ Dependencies that must be built into your binary are name-mangled so we do not have symbol collisions.

✔ Until we have ABI (application binary interface) compatibility with Swift, build your framework with Objective-C or make it open-source.

✔ We depend on you, so be faster than us at shipping updates when new iOS versions are released! During iOS Beta Season, proactively provide beta frameworks that address the deprecations, bugs, and new APIs that accompany every iOS release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment