iOSで再生中の曲をツイート

こんにちは。初めて投稿するので緊張していますが、がんばって書きます。
さて、今回はタイトルの通りiOSで再生中の曲をTwitterに投稿する方法を紹介したいと思います。
いわゆる「なうぷれ」と呼ばれるやつですね。
作り方はとっても簡単！ショートカットというとっても便利な純正アプリを使って実現させます。

<font color="red">20/5/21 改善しました(＾o＾)ﾉ ｲｴｰ!</font>

#目次

1. 完成形
2. 必要なアプリ
3. ざっくりな流れと説明
4. できあがり
    5. 改善(20/5/21)
5. あとがき

<a id="anchor1"></a>
#1. 完成形
###[なうぷれ](https://www.icloud.com/shortcuts/321e1e0723774eefa6405f28228c458e)

ショートカットが開けない時は、
**iPhoneの設定→ショートカット→信頼されていないショートカットを許可**
にチェックを入れると開けるようになります。(※自己責任でお願いします)

ホーム画面のアイコンをタップすると、下のような画面を表示させます。
ちなみにツイートをした後はTwitterアプリが開くようになってます。(理由は後ほど)
<img width="375" alt="IMG_3012.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588777/d8053557-8c5e-66db-9c54-6355de0a77c9.png">

<a id="anchor2"></a>
#2.必要なアプリ
- [ショートカット](https://apps.apple.com/jp/app/id1462947752)
- [Twitter](https://apps.apple.com/jp/app/id333903271)

#3. ざっくりな流れと説明
細かいところまで説明するとめちゃくちゃ長くなりそうなのでとりあえずスクショを貼っておきます。
また、説明のため再生中の曲は

タイトル：さよならの今日に
アーティスト：あいみょん
アルバム：さよならの今日に - Single

とします。
![イメージ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588777/0744d232-bbe2-ce93-375c-bb8710feec2d.png)

1. 「**現在の曲を取得**」で再生中の曲情報を取得します。再生中の曲がなければそのままTwitterを開きます。
2. 「**タイトルを現在の曲から取得**」でタイトル名を取得します。
3. 「**アーティストを現在の曲から取得**」でアーティスト名を取得します。アーティスト情報がなければ空白です。
4. 「**アーティスト名**」という変数に「**&nbsp;/ [アーティスト名]**」というテキストを設定(代入)します。<br>
ここではテキストは「&nbsp;/ あいみょん」となります。
5. 「**アルバムを現在の曲から取得**」でアルバム名を取得します。アルバム情報がなければ空白です。
![イメージ 3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588777/ae48fbad-0b66-800a-c83f-03ebcbca7126.png)
6. 「**アルバム名**」という変数に「**&nbsp;([アルバム名])**」というテキストを設定(代入)します。<br>
ここではテキストは「&nbsp;(さよならの今日に - Single)」となります。
7. 「**#NowPlaying [タイトル][アーティスト名][アルバム名]**」というテキストを作成します。<br>
ここではテキストは「#NowPlaying さよならの今日に / あいみょん (さよならの今日に - Single)」となります。
8. 「**アルバムアートワークを現在の曲から取得**」でアートワークのイメージを取得します。
    1. アートワークがない場合<br>
    「**テキストをツイート**」で先ほどのテキストをツイートします。
    2. アートワークがある場合<br>
    アートワークを600×600にサイズを調整して(一応)、先ほどのテキストと調整したアートワークを**リスト**に追加します。<br>
「**リストをツイート**」で先ほどのテキストとアートワークを添付してツイートします。
9. ツイートが完了したらTwitterを開きます。

<br>
ここではアーティスト名を正規表現「\s\*\(.\*?\)\s\*」を用いてアーティスト名に含まれる「()」を含む()内の文字列を全て削除しています。
理由は、アニメなどの曲で「○○○(CV:×××)」や「○○○(×××)」などが複数あると投稿する際にめちゃくちゃ長くなってしまうことがあるためです。
「長くなってもいいからアーティスト名はそのままツイートしたい！」という方は、以下を試してください。たぶんこれで大丈夫です。たぶん。

- 「**アーティストの\s\*\(.\*?\)\s\*を<font color="lightsteelblue">世界</font>に置き換え**」と「**変数アーティスト名をアップデートされたテキストに設定**」のアクションを削除
- その下の「**&nbsp;/ [アーティスト名]**」のテキスト内の変数を「**&nbsp;/ [アーティスト]**」に変更

<br>
再生中の曲がなかった場合やツイートをした後にTwitterを開く理由は、アクションが終わった後ショートカットアプリの画面が表示されたままなのが嫌だったからです。(個人的に)
また、ツイート画面でキャンセルするとショートカットアプリが開いたままになっちゃいます。たぶんどうしようもない。

####公式のTwitterアプリじゃなくてTweetbotとかfeatherとか開きたい
そんな時は「**Twitterを開く**」を「Tweetbotを開く」「featherを開く」などに変更すれば対応できます。

####ツイートのフォーマットを変えたい
テキスト部分をいじくりまわしてください。
自分だけのなうぷれを作りましょう！

#4. できあがり
完成したら、ホーム画面に追加しましょう。
これで簡単に再生中の曲をツイートできるようになりました！

ちなみにウィジェットからは実行できません。なんでや。

##4.1 改善(20/5/21)
###[なうぷれ](https://www.icloud.com/shortcuts/ef9ed4ed3bf5460ea2802e935e1e2931)
改善というか無駄な部分をバッサリ無くしたバージョンです。
上では8枚分のスクショにまとめていましたが今回は4枚で済みました。
基本的に機能は同じなので、説明は省きます。(ちなみにアーティスト名をいじる機能を無くしています。)
![イメージ 4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/588777/6d5b000b-a889-b924-07b4-9ccda15c3516.png)
「**変数アーティスト名をテキストに設定**」らへんも省略できますが、流石に可読性が低くなるので残しています。

#5. あとがき
iOSのショートカットアプリは最近見つけたのですが、その自由度の高さに正直驚きました。
コーディングをビジュアル化している感じで直感的に組んでいくことができます。
思った以上に面白いことができるのでぜひ皆さんも遊んでみてください。

今回紹介した中で、ここめっちゃ無駄じゃない？ってところがあるかしれません。
もしこっちの方がいいよ！とかあったらぜひ教えてください。

ではまた！