銀の弾丸、はじめました

Unityとかガジェットとか

Tweetbot3 macOSのURLスキームについて

tweetbot: のURLスキームを指定するとTweetbot2が起動してしまうケースに対応する
Tweetbot3はまだリリースされて間もないせいか軽微なバグや機能縮小が目立つ
なのでTweetbot2をまだ手放せない人も多いと思う
2と3を共存させつつURLスキームを分けたいケースにも対応できる

tweetbot:com.tapbots.Tweetbot3 に変えれば起動すると言う情報があるがデマ
あるいは既に過去のバージョンで現在の最新版では使えない可能性が極めて高い
確実に起動させる方法はまずURLスキームを調べる方が早いし確実
以下のコマンドをターミナルに入力する(最初の $ は不要)

$ /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | egrep "bindings.+:" | sort|grep tweetbot

バージョンや環境によって多少内容が変わると思うが,以下のように2行表示される

bindings:      tweetbot:, tweetbot.mac:, com.tapbots.tweetbot3mac:, com.tapbots.tweetbot3mac.30200:
bindings:      tweetbot:, tweetbot.mac:, com.tapbots.tweetbotmac:, com.tapbots.tweetbotmac.25500:

tweetbot3 の文字を含む行がTweetbot3のURLスキームだ
実は1つのアプリでもURLスキームが複数あることもある

これを見ると tweetbot: が競合しているのがわかる
恐らく古い方(Tweetbot2)が優先される仕組みになっているので競合しないモノを使う
tweetbot:com.tapbots.tweetbot3mac: に書き換えれば解決

これでショートカットやランチャー,ブックマークレットからTweetbot3が起動できる

Tweetbot3のURLスキームで使えるオプションは以下の通り

  • tweetbot://<screenname>/timeline
  • tweetbot://<screenname>/mentions
  • tweetbot://<screenname>/retweets
  • tweetbot://<screenname>/direct_messages
  • tweetbot://<screenname>/lists
  • tweetbot://<screenname>/favorites
  • tweetbot://<screenname>/search
  • tweetbot://<screenname>/search?query=<text>
  • tweetbot://<screenname>/status/<tweet_id>
  • tweetbot://<screenname>/user_profile/<profile_screenname>
  • tweetbot://<screenname>/post
  • tweetbot://<screenname>/post?text=<text>
  • tweetbot://<screenname>/post?text=<text>&callback_url=<url>&in_reply_to_status_id=<tweet_id>
  • tweetbot://<screenname>/search?query=<text>&callback_url=<url>
  • tweetbot://<screenname>/status/<tweet_id>?callback_url=<url>
  • tweetbot://<screenname>/user_profile/<screenname|user_id>?callback_url=<url>
  • tweetbot://<screenname>/follow/<screenname|user_id>
  • tweetbot://<screenname>/unfollow/<screenname|user_id>
  • tweetbot://<screenname>/favorite/<tweet_id>
  • tweetbot://<screenname>/unfavorite/<tweet_id>
  • tweetbot://<screenname>/retweet/<tweet_id>
  • tweetbot://<screenname>/list/<list_id>?callback_url=<url>

Custom URL Shortener