A high-performance Swift framework for loading and displaying APNG (Animated PNG) images in iOS and macOS apps.
APNGKit is a Swift framework for loading and displaying APNG (Animated Portable Network Graphics) images on iOS and macOS. It solves the problem of using low-quality GIFs for animations by providing support for APNG, which offers 24-bit color and 8-bit transparency in a comparable file size. The framework delivers high performance and a developer-friendly API for seamless integration into Apple ecosystem apps.
iOS and macOS developers who need to display high-quality animated images in their apps, particularly those looking to replace GIFs with better alternatives. It's also suitable for developers working on media-rich applications like messaging apps, social platforms, or creative tools.
Developers choose APNGKit because it provides a native, performant solution for APNG support on Apple platforms with an API that feels like part of the system frameworks. Its comprehensive error handling, streaming loading, and Interface Builder compatibility make it more robust and easier to use than implementing APNG support from scratch.
High performance and delightful way to play with APNG format in iOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Optimized for smooth APNG playback with efficient memory usage, ensuring animations run smoothly even on resource-constrained devices, as stated in the key features.
Provides an intuitive Swift interface that feels native to iOS/macOS development, making integration seamless and reducing learning curve for Apple developers.
Includes robust error handling with fallbacks to static images and delegate callbacks for decoding issues, ensuring reliability in production apps, as detailed in the error handling section.
Loads frames progressively by default with options for full preloading, and offers delegate callbacks for animation events like loop completion, giving developers fine-grained control.
The README explicitly admits that creating APNG files is not yet supported, requiring external tools like iSparta or apngasm, which limits in-app animation generation.
Requires disabling PNG compression or renaming files to .apng to avoid Xcode interference, adding setup complexity and potential maintenance overhead for teams.
Limited to Apple platforms (iOS/macOS/tvOS) and only supports APNG format, making it unsuitable for cross-platform projects or apps needing other animation formats like GIF.