Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save clayellis/be12b78676aff9e87f5574164806204e to your computer and use it in GitHub Desktop.
Save clayellis/be12b78676aff9e87f5574164806204e to your computer and use it in GitHub Desktop.
This is a public checklist updated every year after the latest version of iOS and iPadOS are shipped. It's a boiled down version of a "Best in Class" app checklist created by Jordan Morgan.
# A Best in Class Checklist
A boiled down checklist adapted from this [post](https://www.swiftjectivec.com/a-best-in-class-app/), created by @jordanmorgan10.
> To use this, create a Github Issue in your own repo, and simply copy and paste this text.
## iOS Core Technology
_Things any iOS app can benefit from_
- [ ] iCloud Sync
- [ ] [Core Spotlight integration](https://github.com/DreamingInBinary/Spend-Stack/issues/120)
- [ ] Widgets
- [ ] System extensions (most commonly an action or share extension)
- [ ] Sticker pack
- [ ] iMessage App
- [ ] Siri Shortcuts
- [ ] Airdrop
- [ ] Rich Notifications
## iOS APIs
_Not neccesarrily frameworks, but these things are core to a great app_
- [ ] [Two finger](https://developer.apple.com/documentation/uikit/uitableviewdelegate/3183943-tableview?language=objc) drag to edit
- [ ] Undo and redo
- [ ] Dark Mode
- [ ] iPadOS Cursor Support.
- [ ] Contextual Actions
- [ ] Pull down menus
- [ ] Home screen quick action
- [ ] `UIAcitivty` and `UIActivityViewController`
- [ ] [Full Keyboard support](https://www.swiftbysundell.com/tips/handling-keyup-and-keydown-events/)
- [ ] SF Symbols
- [ ] Robust drag and drop (internal and external support)
- [ ] Full multitasking and `UIScene` support.
- [ ] Dynamic Type
- [ ] Multiple icons
- [ ] [Search token](https://developer.apple.com/documentation/uikit/uisearchtextfield) support in search bars.
- [ ] Live Photos Support
- [ ] [Callback URL support](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app?language=objc)
- [ ] [State Restoration](https://developer.apple.com/news/?id=4ixc0yxs)
## Accessibility and Internationalization
_A key component to designing for everyone_
- [ ] Voice Over/Voice Control
- [ ] Support RTL settings.
- [ ] Fullly pass accessibility inspector. Good [tips here](https://developer.apple.com/documentation/objectivec/nsobject/1615093-accessibilityhint)
## Misc
- [ ] HIG advice is followed for navigation, stock control usage and more. Refer to the linked post for more.
## Contextual Technology
_Important technology that should be used if it fits your project_
- [ ] Apple watch app
- [ ] Handoff between iPhone and iPad (Mac, if applicable)
- [ ] Sign in with Apple
- [ ] Core ML support
- [ ] AR Kit
- [ ] Local Authentication
- [ ] Apple Pencil Support
- [ ] Airplay
- [ ] Business Chat
- [ ] HealthKit
- [ ] ResearchKit
- [ ] CareKit
- [ ] Homekit
- [ ] App clips
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment