Skip to content

Instantly share code, notes, and snippets.

@DreamingInBinary
Last active October 14, 2024 16:16
Show Gist options
  • Save DreamingInBinary/0ccd49e3578c5ae1ebb20632c6c3af73 to your computer and use it in GitHub Desktop.
Save DreamingInBinary/0ccd49e3578c5ae1ebb20632c6c3af73 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
- [ ] Focus Filter Support
- [ ] Wind Down Support
- [ ] [Core Spotlight integration](https://github.com/DreamingInBinary/Spend-Stack/issues/120)
- [ ] Widgets(Lock Screen, Home Screen (with interactivity), Standby, macOS and iPadOS.)
- [ ] System extensions (most commonly an action or share extension)
- [ ] Sticker pack
- [ ] iMessage App
- [ ] App Intents for Siri Shortcuts, Widgets, Spotlight, Apple Watch Ultra Action Button.
- [ ] Live Activities
- [ ] Airdrop
- [ ] Rich Notifications
## iOS APIs
_Not all 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
- [ ] [Pinch Out in Collection View](https://developer.apple.com/documentation/uikit/uicollectionviewdelegate/3752185-collectionview) for a new scene.
- [ ] 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, multiple scene support and Stage Manager support.
- [ ] Dynamic Type, Voice Contro, Rotor Control and VoiceOver Support
- [ ] Multiple icons
- [ ] Scribble support for Apple Pencil
- [ ] [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)
- [ ] Quick Note
## 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
- [ ] SharePlay
- [ ] Shared with You
- [ ] ShazamKit
- [ ] Passkey Sypport
- [ ] [Journal Suggestions](https://developer.apple.com/documentation/JournalingSuggestions)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment