【Github】網頁跟APP的相連
大家應該看過進網頁可以打開APP吧,除了用Deep Link之外,還可以使用Universal Link,其中最重要的設定就是AASA (apple-app-site-association),接下來我們就來做個最簡單的介紹吧…
做一個長得像這樣的東西
作業環境
| 項目 | 版本 |
|---|---|
| macOS | Sequoia 15.7 |
| Xcode | 16.4 |
建立首頁
- 相信一般開發手機的人員,都沒有自己的網頁空間,而Github呢提供了一個免費的靜態網頁空間,真的好佛心啊…
- 雖然說Google的Firebase Hosting更為強大,但是…筆者沒什麼錢錢,而且也沒有要做一個互動式的動態網頁,還是以簡單為主…
- 現在筆者的Blog也是用
Github Pages+ Hugo架起來的,簡簡單單,能當筆者的筆記使用就好,不需要過度的設計功能… - 我們先在Github建立首頁 (Homepage - 烘焙雞),也就是跟自己同名的程式碼倉庫…
<your-name>.github.io
WilliamWeng0609.github.io
- 然後在你的Github倉庫上就會出現了…
- 最後開啟該網頁,看看它會不會讀取ReadMe.md的內容,確認名字取的對不對…
設定AASA
- 然後再去該網頁看看,有沒有反應…
<your-name>.github.io
WilliamWeng0609.github.io
- 再來新增AASA檔在
.well-known的資料夾中…
- Github很神奇的是,你填入
.well-known/後,它自動會變成資料夾,然後可以再往下填呢,太神奇了… - 記得要Commit喲,不然不會有這個檔案的…
.well-known/apple-app-site-association
- 資料的結構是長這樣的…
- 然後我們在開網頁連連看…
<your-name>.github.io/.well-known/apple-app-site-association
WilliamWeng0609.github.io/.well-known/apple-app-site-association
- 天啊,為什麼是404呢?一定是沒有幫William按個讚啊?
- 大家有沒有發現,
.well-known是個隱藏資料夾的寫法呢?Github預設是外部不能讀取隱藏資料夾的…
- 那要怎麼才能讓外部讀得到呢?請加上一個名叫
_config.yml的設定檔,上面明確寫上要包含.well-known資料夾…
- 然後我們再開網頁試一次看看…
<your-name>.github.io/.well-known/apple-app-site-association
WilliamWeng0609.github.io/.well-known/apple-app-site-association
- 是不是就會變成下載檔案了呢?
- 最後在
apple-app-site-association填入相關資訊即可…
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<TeamID>.idv.william.Example",
"paths": [
"*"
]
}
]
}
}
- 至於其它細部的設定,可以參考Google的設定檔…
https://www.google.com/apple-app-site-association
- 再來就是確定看看Apple的CDN有沒有收到該定檔…
curl https://app-site-association.cdn-apple.com/a/v1/WilliamWeng0609.github.io
- 在Xcode上的設定,當然…要有繳保護費才有
Associated Domains可以選擇…
applinks:williamweng0609.github.io
applinks:williamweng0609.github.io?mode=developer
- 然後就可以在Safari上試試看啦…
- 如果沒有反應,可能要等一下,也許是CDN動作沒有那麼快,可以先用
?mode=developer來直接讀取…
範例程式碼下載
後記
其實筆者很久以前就有試著在Github上設定,但一直無法動作,直到最近才知道Github不能直接讀到隱藏資料夾,難怪不能動作,畢竟要找個https的網頁環境也不是那麼容易,一般公司也不太會讓你拿來做實驗…最近才知道拇指發炎叫媽媽手 / 腕掌關節炎,大拇指完全不能彎,但是我未婚男性,所以應該是腕掌關節炎,不過真的很難好喲,打了針類固醇才有點好轉,接著又做了增生療法 - 高濃度葡萄糖,打了六針,機能上好了很多,打字不太會麻了,希望能回復到能打籃球 / 彈琴的水準啊…