iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
SideProject30

拿到一支Garmin錶,要怎麼開發app?系列 第 4

[Day-04]匯入其他人的CIQ App專案

  • 分享至 

  • xImage
  •  

找資料時看到很多人都直接把Connect IQ簡稱CIQ,
Connect IQ是Garmin的app下載平台,所以這些平台上發佈的app都簡稱CIQ App。

昨天成功建立了一個新專案之後,對於要開發怎麼樣的錶面,暫時還沒有什麼想法,
所以我想今天就來參考看看網路上其他人都是怎麼寫的。

首先,用git把Garmin的官方示範https://github.com/garmin/connectiq-apps clone下來

git clone https://github.com/garmin/connectiq-apps.git

clone完畢之後,前往Visual Studio Code > 右上角 File > Open folder...
https://ithelp.ithome.com.tw/upload/images/20230918/20128973mkOAJAB9lS.png
官方示範裡,watchfaces之中有兩個範例,我想先開TypedFace來看看

開啟folder之後,如果直接執行Run > Run Without Debugging會沒辦法執行,
像我是遇到以下錯誤

......ERROR: Invalid device id found.
......terminated with exit code: 102. 

發生錯誤的原因是這個project的manifest.xml設定了很多我沒有下載的device,

https://ithelp.ithome.com.tw/upload/images/20230918/20128973Dyv0tls5zk.png
此時可以把缺少的device都下載下來,也可以把<iq:product />刪到只剩你有下載的裝置
最快的方法是按快捷鍵ctrl+shift+p ,輸入>monkey c edit products
勾選適用的裝置,就會直接更新manifest.xml了
https://ithelp.ithome.com.tw/upload/images/20230918/201289735E8c7YR6ZW.png
(如果沒有選項可以勾,表示你沒有下載裝置,或者下載的裝置api level太舊了不支援)

接著再重新跑一次Run Without Debugging,
仍然會出現錯誤

Invalid '$.Toybox.Lang.Dictionary{:height as $.Toybox.Lang.Float, :locX as $.Toybox.Lang.Number, :locY as $.Toybox.Lang.Float, :visibility as $.Toybox.Lang.Boolean, :width as $.Toybox.Lang.Number}' passed as parameter 1 of type 'PolyType<Null or $.Toybox.Lang.Dictionary{:height as $.Toybox.Lang.Number, :locX as $.Toybox.Lang.Double or $.Toybox.Lang.Float or $.Toybox.Lang.Long or $.Toybox.Lang.Number, :colorDepth as $.Toybox.Lang.Number, :locY as $.Toybox.Lang.Double or $.Toybox.Lang.Float or $.Toybox.Lang.Long or $.Toybox.Lang.Number, :visibility as $.Toybox.Lang.Boolean, :identifier as $.Toybox.Lang.Object, :width as $.Toybox.Lang.Number}>'. 

這是因為我們使用新版本的sdk會檢查型別,而這個專案是比較早期寫好的,導致很多地方會檢查不過,

不過沒關係,只要在project內的monkey.jungle檔新增一行

project.typecheck = 0

就可以了
https://ithelp.ithome.com.tw/upload/images/20230918/201289738cnnjrw5uG.png

再跑一次Run Without Debugging
https://ithelp.ithome.com.tw/upload/images/20230918/20128973n4Ka3eldUs.png
終於成功開啟別人的專案了


上一篇
[Day-03] 製作我的第一個手錶App
下一篇
[Day-05] Monkey C的型別
系列文
拿到一支Garmin錶,要怎麼開發app?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言