Universal Link 可以讓 User 點 web <a />
link 時,直接開啟 app
這實在沒有完美的方法,如果該 App 文件沒有寫的話,只能自己去挖看看
- 去
Applications
找到該 App,然後右鍵點選Show Package Contents
- 進去
Contents
folder,打開Info.plist
檔案 - 搜尋
CFBundleURLTypes
,有找到的話,就代表這個 App 有支援 Universal Link
但是!問題是這樣看不出來該 App 會採用怎麼樣的 link format
- 下面第三張圖可以看到,
CFBundleURLSchemes
是zed
- 那麼你只要在 browser 輸入
zed://URL
就能啟動該 App 了 - 可是我們不知道
zed ..
後面的格式是什麼?這個我目前還找不到方法了解,只能去試著找該 App 的文件 or source code 來看
例如 Mac 的 IINA
players,我就是去 Github 查才知道支援這兩種格式
但是!問題是這樣看不出來該 App 會採用怎麼樣的 link format
- 下面第三張圖可以看到,
CFBundleURLSchemes
是zed
- 那麼你只要在 browser 輸入
zed://URL
就能啟動該 App 了 - 可是我們不知道
zed ..
後面的格式是什麼?這個我目前還找不到方法了解,只能去試著找該 App 的文件 or source code 來看
例如 Mac 的 IINA
players,我就是去 Github 查才知道支援這兩種格式
iina://weblink?url=URL
iina://open?url=URL
Windows 的查詢這邊有提到
這可以查詢目前有哪些 binding
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -i "bindings:.*:" | sort -u
有找到一篇怎麼教人手動加入 URL scheme
https://www.linkedin.com/pulse/creating-web-links-launch-mac-apps-preferences-script-nick-tong/
這些可以直接打開 Mac 的一些 System Preferences
- (可能會因爲 MacOS 版本改動而有調整)
<a href="x-apple.systempreferences:com.apple.preferences.password">TouchID (com.apple.preferences.password)</a>
<a href="x-apple.systempreferences:com.apple.preference.battery">Battery (com.apple.preference.battery)</a>
<a href="x-apple.systempreferences:com.apple.preference.security">Security (com.apple.preference.security)</a>
<a href="x-apple.systempreferences:com.apple.preferences.FamilySharingPrefPane">FamilySharingPrefPane (com.apple.preferences.FamilySharingPrefPane)</a>
<a href="x-apple.systempreferences:com.apple.preference.notifications">Notifications (com.apple.preference.notifications)</a>
<a href="x-apple.systempreferences:com.apple.preference.speech">Speech (com.apple.preference.speech)</a>
<a href="x-apple.systempreferences:com.apple.preference.sidecar">Sidecar (com.apple.preference.sidecar)</a>
<a href="x-apple.systempreferences:com.apple.preferences.ClassKitPreferencePane">ClassKitPreferencePane (com.apple.preferences.ClassKitPreferencePane)</a>
<a href="x-apple.systempreferences:com.apple.preferences.AppleIDPrefPane">AppleIDPrefPane (com.apple.preferences.AppleIDPrefPane)</a>
<a href="x-apple.systempreferences:com.apple.preferences.wallet">Wallet (com.apple.preferences.wallet)</a>
<a href="x-apple.systempreferences:com.apple.preferences.sharing">SharingPref (com.apple.preferences.sharing)</a>
<a href="x-apple.systempreferences:com.apple.preferences.configurationprofiles">Profiles (com.apple.preferences.configurationprofiles)</a>
<a href="x-apple.systempreferences:com.apple.preference.universalaccess">UniversalAccessPref (com.apple.preference.universalaccess)</a>
<a href="x-apple.systempreferences:com.apple.preferences.softwareupdate">SoftwareUpdate (com.apple.preferences.softwareupdate)</a>
<a href="x-apple.systempreferences:com.apple.preference.screentime">ScreenTime (com.apple.preference.screentime)</a>