npm i --save nativescript-app-icon-changer
- 版本:1.0.4
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-app-icon-changer
- 下载
- 昨日:5
- 上周:9
- 上个月:88
NativeScript App Icon Changer
这就是演示应用的实际操作,像老板一样切换应用图标!
安装
tns plugin add nativescript-app-icon-changer
API
要求/导入插件
以下所有示例都假设您正在使用 TypeScript,但这里也展示了如何使用常规 JS 需求插件
JavaScript
var AppIconChangerPlugin = require("nativescript-app-icon-changer");
var appIconChanger = new AppIconChangerPlugin.AppIconChanger();
TypeScript
import { AppIconChanger } from "nativescript-app-icon-changer";
export class MyClass {
private appIconChanger: AppIconChanger;
constructor() {
this.appIconChanger = new AppIconChanger();
}
}
isSupported
仅 iOS 10.3 及以上版本支持此功能,因此您可能需要事先检查
this.appIconChanger.isSupported().then(
supported => console.log(`Supported: ${supported}`));
changeIcon
要切换到不同的图标,请将其添加到 App_Resources/iOS
和 App_Resources/iOS/Info.plist
,如下所述,并将 iconName
传递给 changeIcon
。
要重置为默认图标,请使用 iconName: null
。
注意 1:iOS 会通知用户图标已更改,但此插件允许您抑制该消息(默认情况下就是如此)。这可能是苹果不希望您做的事情,但启用抑制功能后没有应用程序被拒绝。
注意 2:只有在应用处于前台时才允许更改应用图标,所以别再考虑那个无声更新应用图标的天气应用了。
this.appIconChanger.changeIcon({
iconName: "icon-blue", // or null to reset to the default
suppressUserNotification: true
});
currentAlternateIcon
想知道应用当前是否配置了替代图标?如果是,其名称是什么?请使用此功能
// synchronous
const currentAppIconName: string = this.appIconChanger.currentAlternateIcon();
为图标切换准备您的应用
苹果不允许切换到任意图标,因此必须在将应用发布到商店之前将其捆绑到您的应用中。
添加您希望用户能够切换到的所有相关分辨率的图标,就像通常那样。
请注意,您不需要提供所有这些分辨率;您只需添加最大的分辨率并在 plist 文件中引用它。iOS 会将其缩放到其他分辨率。
然后,在 App_Resources/iOS/Info.plist
中也引用这些图标
<plist>
<dict>
<!-- Add or merge this bit -->
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<!-- The name you use in code -->
<key>icon-blue</key>
<dict>
<key>UIPrerenderedIcon</key>
<true/>
<key>CFBundleIconFiles</key>
<array>
<!-- The actual filenames. Don't list the @2x/@3x files here -->
<string>icon-blue-57</string>
<string>icon-blue-60</string>
<string>icon-blue-72</string>
<string>icon-blue-76</string>
</array>
</dict>
</dict>
</dict>
</dict>
</plist>
需要 iPad 支持?只需复制该 plist 配置,将
<key>CFBundleIcons</key>
更改为<key>CFBundleIcons~ipad</key>
。
想看到实际项目中如何配置?请查看演示应用的详细信息。