iOS

Swiftの「UIActivityViewController」でTwitterにだけハッシュタグをつけたい!

投稿日:2017年10月16日 更新日:

はじめに

こんにちわ、nukkyです。
今回はSNSやメール連携したいときに便利な
「UIActivityViewController」を紹介したいと思います。
実は「UIActivityViewController」でのTwitter連携時のみに
ハッシュタグをつけたかったのですが
これが意外と難航したのでこちらも合わせて紹介したいと思います。

実装

まずはやってみよう

UIActivityViewControllerの使い方は実に簡単
・[Any]を用意してUIActivityViewControllerをインスタンス化
・presentViewControllerで呼び出す
以上です。
本当に最低限のコードだとこんな感じ

第一引数のactivityItemsですがこちらはAnyの配列が渡せます。
渡せる情報としては以下の三つになります。
・テキスト(String)
・URL(URL)
・画像(UIImage)
つまりURLや画像を渡したい場合は、items変数にURLやUIImageも一緒に入れてやればいいだけです。
さっきのコードにURLと画像を追加で渡す場合以下の様になります。

ただし連携先によっては渡した情報が表示されない(表示できない)こともあるので注意してください。

Twitter連携時のみにハッシュタグをつけたい

ここでTwitterのみハッシュタグをつけるやり方を紹介したいと思います。
使用するのは「UIActivityItemSource」です。
こちらはprotocolになっており、「UIActivityViewController」で
連携先を選択した際になにを選んだか確認できます。
とりあえず今回はテキスト(String)のパターンのみを考えて以下を作成しました。

単純に「activityType」からTwitterかどうかを判断し、
Twitterだった場合、returnにハッシュタグを付与しています。
上記の「UIActivityViewController」のサンプルコードの場合
以下の様に呼び出します。

これでTwitterのみハッシュタグをつけることができました!

 

さいごに

「UIActivityViewController」はものすごく簡単に実装できるので
ライトなアプリであればかなりオススメです。
今回はTwitterに対する特殊なアクションを組み込みましたが
このやり方を応用すれば色々できるかと思うので、
誰かのお役にたてれば嬉しいです。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


  1. noodlekim より:

    試して見たところFB共有の場合は効かないようです。

    • nukky より:

      コメントありがとうございます!
      FacebookはアプリからデフォルトのTextを入れてはダメというポリシーがあるようなので、Textは渡せない(渡さない)と考えたほうが良さそうです。
      ただ、画像の共有とハッシュタグの付与(ハッシュタグの付与は一つのみ)は可能なので以下のソースでそれらが可能です。

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

[Swift]プロトコルの拡張で既定値を設定する。

1 はじめに2 プロトコルの拡張について2.1 プロトコルに既定値を設定2.2 プロトコルを設定したクラスの作成2.3 制約をつけてプロトコルに既定値を設定3 さいごに4 おすすめ書籍 はじめに こん ...

swift

[Swift]ログフレームワーク「CocoaLumberjack」をSwiftで使ってみた

1 はじめに2 準備3 実装3.1 出力先の設定3.2 ログの出力レベルを設定する3.3 ログの出力4 さいごに はじめに こんにちは、nukkyです。 今回はログ管理に便利なライブラリ「CocoaL ...

SwiftGenを使ってみた

1 はじめに2 SwiftGenの特徴2.1 コードジェネレートするリソースを選択することができる2.2 コードジェネレートするのにビルドが必要ない2.3 設定ファイルベースである3 インストール4 ...

Flutter開発のはじめかた 開発環境セットアップ〜Widtgetの解説

1 はじめに2 セットアップ2.1 Flutterのインストール2.1.1 Android環境のセットアップ2.1.2 Xcodeのインストール2.1.3 IDEのセットアップ(Android Stu ...

iOSでFirebase Authenticationを実装してみる その1

1 はじめに2 Firebaseプロジェクトの設定3 新規ユーザー登録4 既存ユーザーのログイン5 匿名ログイン6 エラーメッセージ7 最後に8 おすすめ書籍 はじめに はじめまして、Yossyです。 ...

フォロー

blog-page_side_responsive

2017年10月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。