cifilter.io

CIFilter documentation and examples project

197
15
Swift

CIFilter.app

CIFilter.app is a project which documents parameters and examples for every CIFilter available on iOS and macOS as part of CoreImage.

This project used to be called cifilter.io, but due to some shennanigans with the domain registration I had to change the URL ๐Ÿ˜…

The project has two components:

  1. A website, CIFilter.app, which allows searching/filtering the CIFilters and viewing their documentation. It also provides examples of inputs and outputs for commonly used filters.
  2. An iOS app which allows you to apply each CIFilter with arbitrary parameters and save the output images.

The website is publically available and free, and I intend to continue to update it as new filters are added in each new iOS and macOS release. The iOS app is available in this repo as an open source project as well. If youโ€™d like to support this project and others like it, you can download the app from the app store ๐Ÿ™

More information about the project is available in this blog post.

Reporting issues

If you find something wrong with the website or app, please report an issue via GitHub.

Contributing

If youโ€™d like to implement a new feature, please open an issue first so we can discuss it. Iโ€™m happy to accept pull requests which improve the quality of this project ๐Ÿ’ช

Developing

iOS

The iOS app lives in the iOS folder of this repo. To build:

cd iOS
virtualenv venv
source venv/bin/activate
pre-commit install
make bundle
make pods
bundle exec pod keys set "SentryAuthToken" ""
bundle exec pod keys set "SENTRY_DSN" ""
bundle exec pod keys set "MixpanelToken" ""

Youโ€™ll then need to open the Xcode workspace and set the signing team to your personal team. After that, you should be able to build the app.

Web

The website lives in the web folder of this repo. To start a local Gatsby server:

cd web
npm install
make develop

Building for older devices

The CIFilter.io app intends to support only the current version of iOS. However, if youโ€™d like to build the app yourself using the commit compatible with a given iOS version, you can use the following branches:

  • iOS 12: compatibility/ios-12

Questions?

Donโ€™t hesitate to reach out on Twitter ๐Ÿ‘‹