TwitterのようなSNSとして局所的に話題になっている「Nostr」を最初に知ったのは、iOS用のクライアントアプリ「Damus」がきっかけでした。
「Damus」は最初のバージョンがリリースされたばかりで、読み書きは可能ですが、機能的にはまだまだこれからです。せめて画像投稿くらいできれば‥‥と思っていたところ、古くからの友人で元メルカリのエンジニア @ooba がカスタマイズを始めました。
そして、見る見る間に画像投稿機能を搭載し、さらにほとんど見ることのないグローバルタイムラインをオフにするなどしているではありませんか! それ、自分でも使ってみたい!
と思っていたころ @ooba が、GitHubから「Damus」のプロジェクト一式をダウンロードし、macOSのプログラム開発環境であるXcodeを用い、自分でビルドして動かしてみるというポストを「Nostr」で行っていました。
これはすなわち @ooba がカスタマイズしているバージョンの「Damus」をダウンロードしてビルドすれば、自分のiPhoneでも動かすことができるということなのです(できました)。
ということで @ooba の一連のポストをまとめておきますので、もし“GitHubからプロジェクト一式をダウンロードしてiOSアプリを自分でビルドして使ってみたい”という人がいれば、せび参考にしてください。
※この記事も @ooba に監修して貰っています。
iOSアプリを自分でビルドする方法
オープンソースプロジェクトである「Damus」を自分でビルドし、iPhoneのシミュレータで動かす方法です。必要なのはMacです。
1. App StoreからXcodeをダウンロードします。
2. GitHubからDamusのプロジェクト一式をダウンロードします。ダウンロード元は github.com/damus-io/damus です。
今回はZIP形式でダウンロードしてみます。「Code」ボタンを押して「Download ZIP」を選択してダウンロードします。
3. ZIPファイルを解凍すると中に「damus.xcodeproj」というファイルがあります(xcodeprojという拡張子がXcodeのプロジェクトファイル)。これをダブルクリックで開きます。
4. 「インターネットからダウンロードしたプロジェクトだけど本当に開く?」と聞かれるので「Trust and Open」を押します。
※スクリーンショットは英語設定
5. Xcodeでプロジェクトを開くとこんな画面になります。
はじめてXcodeを使う場合は、この画面になる前にSDKの設定などが必要になるかもしれませんが、全部「OK」を押してください。
6. 「Damus」を実行するシミュレータを選びます(実機を持っていなくてもOK)。
7. シミュレータを選んだら左上の実行ボタンを押します。プロジェクトのビルドがはじまり、しばらくするとシミュレータが起動します。
8. シミュレータアプリが別に起動し、でこの画面が出たら成功です。
iOSアプリをビルドするのは簡単
以上が、GitHubからプロジェクト一式をダウンロードし、iOSアプリを自分でビルドして使ってみるという流れです。
プログラムをビルドすると聞くと、なんだか難しそうに感じますが、ありもののプロジェクトをダウンロードしてビルドするだけなら、全く難しくないことがお分かりいただけたかと思います。
ビルドしたiOSアプリを実機のiPhoneで動かす方法
Mac上でセルフビルドしたアプリを試すことができたら、手元のiPhoneでも使ってみたくなるのが人情というものです。
プッシュ通知をしないといった制限付きであれば、AppleDeveloperProgramへの登録(年額99ドル)をせずに試すことができます。これも @ooba に教えて貰いました。
参考にしたのは以下の記事です。
▼【Xcode】AppleDeveloperProgramに登録不要!!実機ビルドする方法 – Qiita
▼[iPhone] 実機でiOSアプリを確認する | iOS アプリ開発
画面はやや古いですが、そのまま参考になります。
そして2つの注意点があります。
1. 「Bundle Identifier」を書き換えます。
ここはユニークな値にする必要があるそうです。ぼくは「net.netafull.damus」と付けました(ある意味では適当)。
2. 2項目を削除します(無料の利用だと使用できない機能があるため)。
削除するのは「Signing & Capabilities」にある「プッシュ通知」と「ドメインの設定」です。いずれもゴミ箱ボタンをクリックして削除できます。
これで問題なくiPhoneの実機で、自分でビルドしたiOSアプリを動作させることができました! そこまで難しいことをやっているわけではありませんが、けっこう感動がありました。
※iOS 16から実機でのアプリ実行には、端末をデベロッパーモードにする必要がありますので自己責任で実行してください「設定」アプリの「プライバシーとセキュリティ」から設定できます。
※この方法だと定期的にiPhone内のアプリが動かなくなるので、都度ビルドが必要になります。
自分でビルドしてiPhoneで動作させる方法を覚えておけば、日々アップデートしている github.com/damus-io/damus から最新版をダウンロードして試すことができます(ただし自己責任で)。
何やら @ooba はイチから「Nostr」用のアプリを書いてみるとかなんとかポストしていたので、開発途中のアプリを試してフィードバックしてみようかな‥‥なんてことも考えています。
自分ではiOSアプリ開発はできませんが、開発の協力(フィードバック)はできるようになるかもしれないと思うと、ちょっとワクワクします!
oobaバージョン「Damus」を試してみる
それでは、いよいよoobaバージョン「Damus」もiPhoneで試します。oobaバージョンは画像の投稿が可能になり、グローバルのタイムラインが非表示になっています。あったらいいながある感じ。ただし、継続して開発されるものではありませんので、あくまでもお試しです。
oobaバージョンは github.com/bricklife/damus からダウンロードします。
先ほどと同じ手順で、iPhoneでoobaバージョンの「Damus」が動くはずです!
▼【Nostr】これはTwitterを代替できるのでは?みたいなUIでリリースされたiOSアプリを試して今のところ分かっていること【Damus】
▼【Nostr】認証バッジを取り付けるためのドメイン認証(NIP-05)を簡単に提供する「のすとら!」