1. 程式人生 > 其它 >關於uni app使用renderjs下 IOS 真機獲取路徑的問題

關於uni app使用renderjs下 IOS 真機獲取路徑的問題

做的專案使用uni引用three.js做的3D渲染圖。引用字型檔案時H5跟安卓都是沒有,就是IOS載入不了。後來uni論壇查到。

打包時新增釋放模式,在manifest.json裡面新增“runmode”:"liberate";

 在引用字型的更改更改使用plus.io.convertLocalFileSystemURL把路徑轉換

  

    function getfile(src){
                    // #ifdef APP-PLUS
                    let url = plus.io.convertLocalFileSystemURL( src )
                    
return new Promise((resolve,reject)=>{ plus.io.resolveLocalFileSystemURL(url, entry => { var reader = null; entry.file( file => { reader = new plus.io.FileReader(); reader.onloadend
= ( read )=> { resolve(read.target.result) }; reader.readAsDataURL( file ); }, function ( error ) { alert( error.message ); } ); },err
=>{ resolve(src) }) }) // #endif // #ifndef APP-PLUS return new Promise((resolve,reject)=>{ resolve(src) }) // #endif }

引用的字型更改為

let loader = new THREE.FontLoader();
let fontsrc = "./static/fonts/gentilis_regular.typeface.json"; loader.load(await getfile(fontsrc), (font) => {})

這樣就可以了