98
96

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Slackで複数チームに入ってる人のためのiOSアプリ作った

Posted at

TL;DR

SlackのチームをまたいだChannelの切り替えが簡単にできるiOSアプリを作りました。

AppStore: MultiTeam for Slack

なんで作ったん?

  • Slackで7つのチームに入ってて、うち4つは今もアクティブ
  • 基本家でも会社でもPCでSlack使ってるから、iPhoneアプリは出先でぱっと見てぱっと返す用途にしか使ってない
  • 本家のアプリやと、ぱっと見ようと思った時にチーム切り替えんのがめんどい
    • 昔:
      1. 右上の ... ボタンをタップ
      2. Switch Teams タップ
      3. 目的のチームをタップ
      4. 左上のSlackアイコンをタップ
      5. 目的のChannelをタップ
    • 最近(昔から?):
      1. 目的のチームまで3本指スワイプ(スワイプした先がどのチームかわかりにくい・・・)
      2. 左上のSlackアイコンをタップ
      3. 目的のChannelをタップ
  • そうじゃなくて、Facebook Messengerみたいに全チームのChannel一覧を出して欲しい
  • そしてFacebook Messengerみたいに新着メッセージがあるChannelを上にもってきて欲しい
  • そういうアプリ誰か作ってるやろー300円ぐらいやったら買うのにーと思ったらなかったから作った

どんなん作ったん?

  • Facebook Messengerみたいに全チームのChannel一覧を出す
  • そしてFacebook Messengerみたいに新着メッセージがあるChannelを上にもってくる
  • こんな感じ
1.png
  • メッセージを読み書きする画面も極力本家に合わせて違和感ないように
2.png

これで、チームをまたいだChannelの切り替えが、

  1. 左上の Channels ボタンをタップ
  2. 目的のChannelをタップ

で済むようになりました。しかも大体は上の方(もしくは一番上)にあるChannelに行きたいから探すのも楽。

せっかく作ったから小遣い稼げたらいいなと思って、

  • 無料で使えるけどチームは3つまでしか追加できない。バナー広告あり。
  • 360円のアプリ内課金をすると、チーム数無制限&広告なし。

っていう風にしてます。

とりあえず自分で使えるレベルにはなったのでリリースしましたが、まだまだ細かいところで使いにくい部分はあるので(現時点でTrelloのTODOが26個・・・)、ちまちま直してはアップデートしてます。バグ報告とか機能要望とかこちらのコメントでいただけたら嬉しいです。

おまけ

利用している主なライブラリ

  • OAuthSwift: Slackログインを実装するのに利用。
  • SlackKit: Slack APIのラッパーライブラリ。がっつりプルリク送った。
  • TTTAttributedLabel: メッセージのUILabelのテキストの一部をhtmlのaタグみたいにリンク化するために利用。
  • KMPlaceholderTextView: UITextViewに簡単にplaceholderを実装するためのライブラリ。Storyboard上でplaceholderに表示する文字と文字色を設定できるのが地味によい。

こぼれ話

  • 最初SlackMessengerっていう名前で申請したらさすがにリジェクトされた
  • SlackのOAuthの部分で審査通すのに苦労した。
    • 最初はOAuthのログインページを外部Safariで表示するようにしてたら、In-app Safariを使えって言われた
    • In-app Safariに変更して再申請したら、今度は「SlackのPriceページが開けちゃう。appleを通さない課金システムへの動線はアウト。」って言われた。そんなん言われてもそのページ使わなSlackログインできひんし・・・と思って、他におんなじことしてるアプリを引き合いに出したりして戦ったけどあかんかった。
    • 結局In-app Safariも諦めて OAuthWebViewController を継承した自前の WebViewController を作って、Slackの料金ページを開くとアラート出してWebView閉じるっていう処理を入れたらやっと審査通った
98
96
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
98
96

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?