2017-10-27 2 views
0

der Fall: Ich verwende iOS Enterprise Program für Ionic 2 App. Eines der Probleme für einen solchen Verteilungstyp bestand darin, den Aktualisierungsablauf zu unterstützen. Um dies zu beheben, haben wir auf der Serverseite einfach JSON erstellt, um das verfügbare Update zu überprüfen. Wenn das Update verfügbar ist, wird dem Benutzer eine Warnung mit einem Vorschlag angezeigt, die App zu aktualisieren oder zu beenden.iOS Enterprise-Update-Integration

app.component.ts

iosUpdateCheck() { 
     this.http.get(`${this.config.iosEnterpriseEndpoint}latest.json`).map(res => 
      <{version: string}>res.json()).subscribe((res) => { 

      if (res.version !== this.config.appVersionNumber) { 
      this.message.alertCtrl.create({ 
       title: 'Update is available!', 
       message: 'Please, update your terminal to proceed', 
       buttons: [ 
       { 
        text: 'Update', 
        handler:() => { 
        console.log(this.TAG + 'iosUpdateCheck: update clicked'); 
//I tried just href also 
        window.window.open(`<a href=itms-services://?action=download-manifest&url=${this.config.iosEnterpriseEndpoint}manifest.plist />`,'_system'); 
        } 
       }, 
       { 
        text: 'Exit', 
        role: 'cancel', 
        handler:() => { 
        console.log(this.TAG + 'iosUpdateCheck: exit clicked'); 
        this.platform.exitApp(); 
        } 
       }, 
       ] 
      }).present(); 
      } 
     }); 
     } 

ich auch in config.xml<allow-intent href="itms-services:*"/> hinzugefügt, aber immer noch gleiche Fehler (sorry für Screenshot, ist es unmöglich, Fehler Link in Safari kopieren): enter image description here Wenn ich will, Verwenden Sie nur einen Link, es funktioniert gut, aber entspricht nicht den verfolgten Zielen.

Antwort

0

Ich denke, dieses ionische native Plugin könnte Ihnen helfen: Ionic Native Market plugin.

Installation:

ionic cordova plugin add cordova-plugin-market 
npm install --save @ionic-native/market 

Und nicht für bekommen es app.module Ihrem hinzuzufügen.

Verbrauch:

import { Market } from '@ionic-native/market'; 
constructor(private market: Market) { } 

this.market.open('your.package.name');