Update your apps icon on iOS using Apples alternate icons API.
Installation
yarn add @candlefinance/app-icon
Features
- ✅ Supports the new React Native architecture
- ✅ Simple async API
- ✅ TypeScript support
Pre-requisites
To add icons to your iOS app you need to:
-
Add the icons to your Xcode project, simply create a new folder and add your icons in at 2x (120 x 120) and 3x (180 x 180) sizes. See the example app for reference.
-
Update your Info.plist to include the names of your icons. See the example for reference or add the following to your Info.plist:
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-1</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AppIcon-2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-2</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</dict>
For more info check out the this tutorial by Paul Hudson.
Usage
Check out the (example)[./example/src/index.tsx] app for a full working example.
import { getIconName, setIconName } from '@candlefinance/app-icon';
const [icon, setIcon] = React.useState('default');
getIconName()
.then((name) => {
setIcon(name);
})
.catch(console.error);
setIconName('AppIcon-2')
.then((name) => {
setIcon(name);
})
.catch(console.error);
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT