PHP*_*ger 8 ios cordova ionic-framework
我的应用程序更新被苹果拒绝,因为它需要应用程序跟踪透明度,我在我的 ios info.plist 文件中添加了以下几行
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to connect external sites to allow you to log-in and track your orders using your email.</string>
我试过这个插件https://github.com/chemerisuk/cordova-plugin-idfa
getInfo(){
return this.platform
.ready()
.then(() => cordova.plugins.idfa.getInfo())
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行 ionic cordova build iOS 时它显示错误。错误是:在cordova.plugins中找不到idfa属性
是否有任何官方的 ionic cordova 插件来实现应用程序跟踪透明度?或者任何人都有用于此目的的自定义解决方案?请帮忙。
小智 2
我在博客上找到了解决方案
首先,将其添加到位于platforms/ios/appname/appname-Info.plist 的 appname-Info.plist 文件中
<key>NSUserTrackingUsageDescription</key>
<string>Your Description</string>
Run Code Online (Sandbox Code Playgroud)
现在安装 Cordova 插件
cordova 插件添加 cordova-plugin-idfa
npm 我 cordova-plugin-idfa --save
然后将以下内容添加到 app.component 中
askTrackingPermission() {
if (this.platform.is('ios')) {
if (window.cordova) {
//console.log('trying to request permission ');
window.cordova.exec(win, fail, 'idfa', "requestPermission", []);
}
}
function win(res) {
//console.log('success ' + JSON.stringify(res));
}
function fail(res) {
//console.log('fail ' + JSON.stringify(res));
}
}
readTrackingPermission() {
if (this.platform.is('ios')) {
if (window.cordova) {
window.cordova.exec(win, fail, 'idfa', "getInfo", []);
}
}
function win(res) {
//console.log('success ' + JSON.stringify(res));
}
function fail(res) {
//console.log('fail ' + JSON.stringify(res));
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记声明窗口,如下所示
声明 let window: any; 导入后
最后从initializeApp函数调用
initializeApp() {
this.platform.ready().then(() => {
if (this.platform.is('ios')) {
this.askTrackingPermission();
this.readTrackingPermission();
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |