顯示具有 cordova 標籤的文章。 顯示所有文章
顯示具有 cordova 標籤的文章。 顯示所有文章

2019-07-15

使用 cordova-plugin-camera 後,在調用相機時會詢問相機權限

將
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
放進 project-root/plugin/cordova-plugin-camera/plugin.xml 的「<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE />」之後

像這樣
        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
            <uses-permission android:name="android.permission.CAMERA" />
            <uses-feature android:name="android.hardware.camera" />
            <uses-feature android:name="android.hardware.camera.autofocus" />
        </config-file>

不過其實不特別加,我在測試時相機是可以正常開啟然後拍照的…我不確實是不是 cordova-plugin-camera 某個版本之後已經可以省略掉詢問相機權限的動作,但照上面的加確實在啟動相機前是會詢問權限的。

不過,其實我覺得應該是做在安裝 app 時會先告知本程式會使用哪一些權限,但我找不到應該怎麼寫是能在安裝 app 前就告知權限的方式,我是覺得應該是放在 project-root/config.xml 中,但…把上面的那個方式放進 config.xml 中在 build 時會 failed…

所以
todo:1 - 應該要找到是可以在安裝前就宣告權限的方法
todo:2 - 上面的方式不適用 PhoneGapBuild ,但相機仍可使用,但只會出現詢問儲存媒體的權限而已,所以可能也要想想 PhoneGapBuild 會詢問相機權限的方法

2019-07-14

如何要求 PhoneGap Build 在建置(build)專案時要求使用新一點的 android sdk 來建置

標題不太確定這樣用會不會怪,先主要說明一下狀況…

同事那有個案子的需求是要 app 在今年八月前更新內核 api 上 android 8(api 26) 和 ios 13(?…這我不確定,反正是要新一點的)。

但公司給的開發機,一支小米 4i 在不去刷 thirdparty rom 的情況下只能官方更新到 android 5 ,而一支 iphone 5 還 6 只能到 ios 10 ,所以我同事除了只能先發佈上架後請有支援比較新的系統的其他同事手機去試之外,他就想要在 mac mini 上來當作以後建置的環境。

mac mini 的操作和環境建置的問題先不論,主要是這個案子的 app 在之前的人在寫時是使用 phonegap 來開發,然後用 Adobe PhoneGap Build(以下簡稱 PGB) 來做線上建置(build)的。

但同事說他原本在 local 使用 cordova build android 的過程並沒有 fail ,然後將專案 zip 後上傳至 PBO 建置後的 app 在上架 google play 後,有測試的同事反應其中某個功能的相機是沒有反應的,同事讓我協助測試一下。