带有ionic 4的iOS设备上的Livereload(离子Cordova运行ios -l)似乎不起作用。它停留在初始屏幕的初始加载中。我已经尝试了离子项目开始空白后马上进行新项目,但仍然无法正常工作。
浏览器上的livereload(离子服务)和模拟器(离子cordova模拟ios -l)工作正常。
离子信息:
Ionic:
ionic (Ionic CLI) : 4.0.1 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.1.11
Cordova:
cordova (Cordova CLI) : 7.1.0
Cordova Platforms : ios 4.5.5
System:
ios-deploy : 2.0.0
NodeJS : v8.11.3 (/usr/local/bin/node)
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.4.1 Build version 9F2000
Device info:
iphone X, iOS 11.4 (15F79)
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何解决这个问题?
谢谢
我正在使用 cordova-plugin-nativeaudio 在应用程序中播放音频。当我尝试使用 iOS 设备预加载文件时:
preload('testsound', cordova.file.dataDirectory + "audio/0/Hello.mp3");
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误:未处理的承诺拒绝:(NATIVE AUDIO)未找到资产。(file:///var/mobile/Containers/Data/Application/"[GUID]/Library/NoCloud/audio/0/Hello.mp3) ; Zone: ; Task: setTimeout ; Value: (NATIVE AUDIO) Asset not found . (file:///var/mobile/Containers/Data/Application/[GUID]/Library/NoCloud/audio/0/Hello.mp3)
目标文件
目标文件(audio/0/Hello.mp3)从外部url下载并存储在cordova.file.dataDirectory中。它已成功下载,如下控制台输出:
下载完成:file:///var/mobile/Containers/Data/Application/[GUID]/Library/NoCloud/audio/0/Hello.mp3
为了确保它确实存储在预期位置,我检查了:
this.file.checkFile(cordova.file.dataDirectory, "audio/0/Hello.mp3")
Run Code Online (Sandbox Code Playgroud)
控制台输出显示它已成功存储:
file:///var/mobile/Containers/Data/Application/[GUID]/Library/NoCloud/audio/0/Hello.mp3 文件确实存在!
现在我尝试使用本机音频预加载文件,出现上述错误(此问题中的第一个错误)。
问题似乎是文件的存储位置
我还尝试从本地 applicationDirectory (/www/assets/audio/0/Hello.mp3) 预加载,预加载工作正常。但是 applicationDirectory 是只读目录,所以我无法从外部 url 下载音频并将它们保存在那里。
本机音频应该支持从 url(不仅是从本地 applicationDirectory)预加载,因为它在他们的 Ionic API 文档中有所说明。
我在模拟器和 iOS 设备上都遇到了同样的错误。
有没有人遇到过同样的问题,并设法解决它?
谢谢你的帮助。BR/