我的应用程序需要加载json数据,并且可以在浏览器(离子服务)和Android应用程序(apk)中运行,但是json不会加载到我的IOS应用程序(ipa)中。
我正在使用Ionic Pro构建应用程序,以下是相关的版本号: | macOS版本| 10.13.2 | | Xcode版本| Xcode 9.2 | | |生成版本9C40b | | Node.js版本| v8.11.1 | | Cordova CLI版本| 7.1.0 | | npm版本| 5.6.0
当前,我的客户端正在将.json文件推送到其Web服务器,而我正在从那里读取该文件。这是我们希望继续使用的过程,但是我还尝试了加载本地存储在应用程序中的json,并从firebase获取json(请参阅代码中的2条注释掉的行)。所有这三种方法都可以在浏览器/ Android中工作,而在IOS中失败。
这是我的提供程序中应加载json的代码(仅相关部分,公共仓库https://github.com/marvabban/antitour中的完整代码):
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Storage } from '@ionic/storage';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class DataProvider {
data: any;
sitePrefix: string = "http://xxxxxx.com/app-data/";
//sitePrefix: string = "https://xxxx.firebaseapp.com/";
//sitePrefix: string = "assets/";
cities: Array<any> = []
currentCityID: number = -1;
currentCity: any = {};
currentStory: number = 0;
constructor(public http: HttpClient, public storage:Storage) {
this.load();
}
load() {
let data:Observable<any> = this.http.get(this.sitePrefix+'data/data5.json');
data.subscribe(result => {
this.data = result;
this.storage.set('localdata', JSON.stringify(this.data));
});
}
}
答案 0 :(得分:0)
您可能会发现我在此线程上建议的解决方案很有帮助https://stackoverflow.com/questions/48689049/ngx-translate-not-working-on-ios-device/62694449#62694449