Capabilities
Capabilities are advanced iOS features that require special entitlements from Apple. They enable powerful functionality but require additional setup.What Are Capabilities?
Capabilities are different from permissions:| Permissions | Capabilities |
|---|---|
| Runtime access (camera, location) | System-level features |
| User grants access | Requires Apple provisioning |
| Works immediately | Needs developer account setup |
Available Capabilities
Push Notifications
Send alerts to users even when the app isn’t open. Requirements:- Apple Developer account ($99/year)
- APNS (Apple Push Notification Service) setup
- Server to send notifications (or service like Firebase, OneSignal)
- New message alerts
- Order updates
- Reminders
- Marketing (with user consent)
Sign in with Apple
Let users sign in with their Apple ID. Requirements:- Apple Developer account
- Properly configured entitlements
- User authentication
- Required if you offer other social sign-ins (Google, Facebook)
- Privacy-focused (can hide email)
- Quick, trusted sign-in
- No password to remember
HealthKit
Access health and fitness data from the Health app. Requirements:- Apple Developer account
- Specific usage descriptions
- Health data review by Apple
- Fitness tracking apps
- Health monitoring
- Workout apps
- Nutrition apps
HomeKit
Control smart home devices. Requirements:- Apple Developer account
- MFi (Made for iPhone) certification for accessories
- Home automation apps
- Smart device control
CloudKit
Store data in iCloud. Requirements:- Apple Developer account
- CloudKit dashboard setup
- Sync data across user’s devices
- Server-free data storage
- Sharing between users
In-App Purchases
Sell content within your app. Requirements:- Apple Developer account
- Products configured in App Store Connect
- Review process
- Premium features
- Subscriptions
- Consumables (coins, credits)
- Digital content
App Groups
Share data between your apps or app extensions. Use cases:- Widget data sharing
- Share extension
- Multiple apps from same developer
Background Modes
Run tasks in the background. Types:- Audio (music apps)
- Location (navigation)
- Background fetch (refresh data)
- Remote notifications
Enabling Capabilities
In Nativeline
- Open your project
- Go to Settings → Capabilities
- Toggle on the capabilities you need
- Complete any additional setup (API keys, etc.)
Via Chat
You can ask:Some capabilities require additional setup in Apple Developer Portal or App Store Connect.
Apple Developer Account
Most capabilities require an Apple Developer account: Cost: $99/year What you get:- Ability to use capabilities
- TestFlight distribution
- App Store submission
- Access to developer resources
Setting Up Common Capabilities
Push Notifications Setup
Sign in with Apple Setup
HealthKit Setup
Capabilities and App Review
Apple reviews capability usage. They may reject apps that:- Don’t actually use enabled capabilities
- Use capabilities inappropriately
- Don’t explain capability usage clearly
- Request sensitive data without justification
HealthKit Specific
HealthKit apps face extra scrutiny:- Must have clear health/fitness purpose
- Need detailed privacy policy
- May require additional review time
Sign in with Apple
If your app offers third-party sign-in (Google, Facebook), you must also offer Sign in with Apple. This is an App Store requirement.Troubleshooting
Push notifications not working
Push notifications not working
Common issues:
- APNS key not configured correctly
- Bundle ID doesn’t match
- Device not registered for push
- Check certificate expiration
Sign in with Apple fails
Sign in with Apple fails
Check:
- Capability enabled in Developer Portal
- Bundle ID matches exactly
- Entitlements file is correct
- Testing on real device (Simulator has limitations)
HealthKit authorization denied
HealthKit authorization denied
Capability not appearing
Capability not appearing
- Ensure Apple Developer account is connected
- Check Team ID is correct
- Regenerate provisioning profiles
- Some capabilities need explicit enabling in Developer Portal