2017-10-27 6 views
0

사례 : Ionic 2 앱용 iOS 엔터프라이즈 프로그램을 사용하고 있습니다. 이러한 배포 유형의 문제 중 하나는 업데이트 흐름을 지원하는 데있었습니다. 이 문제를 해결하기 위해 서버 측에 간단한 JSON을 만들어 사용 가능한 업데이트를 확인했습니다. 업데이트를 사용할 수있는 경우 사용자는 알림을보고 앱을 업데이트하거나 종료합니다.iOS Enterprise 업데이트 통합

는 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(); 
      } 
     }); 
     } 

나는 또한 config.xml<allow-intent href="itms-services:*"/>에 추가하지만 여전히 같은 오류지고 (스크린 샷에 대한 미안, 그것은 Safari에서 오류 링크를 복사하는 것은 불가능) : 할 것입니다 경우 enter image description here 을 단지 링크 만 사용하면 잘 작동하지만 추구하는 목표에는 해당하지 않습니다.

답변

0

이 이온 성 네이티브 플러그인이 도움이 될 것이라고 생각합니다. Ionic Native Market plugin.

설치 :

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

그리고하지에 대한 app.module에 추가 얻을.

사용법 :

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

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