Repo-lab
開発ツール

Phone Farm iOS とは?実機iPhoneでTikTokを自動スケジュール投稿するOSS

⭐ 1,493 stars GitHub →

実物のiPhoneを使ってTikTokの投稿・スケジューリングを自動化するTypeScript製OSSツール。WebDriverAgentとAppiumで実機制御し、PostgreSQL管理のスケジューラーと組み合わせて運用できる。セルフホスト型でApache-2.0ライセンス。

GitHubで急上昇中の Git-Agni/prod-FARM-IOS-Core をご紹介します。 スター数 1493★ を獲得し、DevTool分野で注目されているツールです。


Phone Farm iOS とは?実機iPhoneを活用したTikTok自動化OSSの全貌

prod-FARM-IOS-Coreは、物理的なiPhoneデバイスを自動制御してTikTokワークフローをスケジュール実行するためのスタンドアロンアプリケーションです。AppleのUI自動化テスト基盤であるWebDriverAgent(WDA)とAppiumを活用して実機iPhoneを操作します。PostgreSQLでタスクを永続管理し、定期ジョブ・アップロード・実行履歴・ダッシュボードAPIをすべて内包しています。

TikTokに9台のiPhoneを使って合計189件の投稿を行い、380万ビューを達成した実績を持つエンジニアが開発・公開したOSSで、Apache-2.0ライセンスによる商用利用も可能です。

こんな人におすすめ:

  • エンジニア向け: TypeScript/Node.jsエンジニアがiOSデバイス自動化基盤を構築する際のフレームワークとして活用
  • 非エンジニア向け: TikTokコンテンツ運用者が物理iPhoneを使って投稿スケジュールを自動管理する用途に利用可能

主な機能・特徴:WebDriverAgentで実機iPhoneを完全制御

リアルタイム画面制御とスケジューラー

実機iPhoneをWDA/Appium経由でリモート操作でき、ライブ画面ビュー・タップ・スワイプ操作が可能です。PostgreSQL連携のスケジューラーで、TikTok投稿を特定の日時・曜日・時間帯に自動実行するジョブを管理できます。タスクは pluginIdtaskTypetaskVersion・JSONペイロードとして永続化されるため、スキーマ変更後も古いスケジュールが誤動作するリスクがありません。

プラグインシステムによる拡張性

src/plugin.tsが定義するStableインターフェースを実装することで、TikTok以外の自動化タスクをプラグインとして追加できます。各プラグインはバージョン付きタスク・デバイスページパネル・HTTPルートを提供でき、コア側のコード変更なしに機能を拡張できます。サンプルプラグイン(src/example-plugin.ts)も提供されています。

ダッシュボードAPIとWebUI

複数iPhoneの状態を一元管理するWebダッシュボードが内蔵されており、デバイス登録ガイド・実行履歴・スケジュール確認が可能です。認証プラグイン(PHONE_FARM_AUTH_PLUGIN)を設定することで外部公開時のアクセス制御もカスタマイズできます。


Phone Farm iOSのインストール・始め方

必要環境

  • macOS(Xcodeが必要なためMac必須)
  • Node.js 22以上
  • PostgreSQL(docker-compose.ymlで起動可能)
  • 物理iPhone(iOS 16〜18)
  • Appleの個人開発チームアカウント(WebDriverAgent署名用・無料アカウント可)

セットアップ手順

# リポジトリのクローンと依存関係インストール
git clone https://github.com/Git-Agni/prod-FARM-IOS-Core
cd prod-FARM-IOS-Core
npm install
cp .env.example .env

# Appiumドライバーとデータベースのセットアップ
npm run appium:install-driver
npm run db:up
npm run db:migrate
npm run wda:prepare

各プロセスの起動

npm run appium    # Appiumサーバー
npm run worker    # ジョブワーカー
npm run web       # ダッシュボードサーバー

各プロセスは常時起動が推奨されます。macOSならlaunchdエージェント、Linuxならsystemdユニットでプロセス監視を設定してください。起動後はWebダッシュボードからiPhoneを登録し、TikTokワークフローのスケジュールを設定できます。


活用事例:SNSマーケターとモバイルエンジニアの使い方

SNSマーケターによる複数アカウント運用

TikTokコンテンツ運用者が複数のiPhoneを使い、毎日決まった時間に投稿を自動スケジュールする使い方が代表的です。コンテンツをあらかじめ準備してアップロードキューに登録しておけば、深夜や週末でも最適なタイミングで自動投稿が実行されます。

iOSエンジニアによる自動化テスト基盤として

WebDriverAgent+Appiumのセットアップ済みiOS自動化フレームワークとして、モバイルアプリの実機テスト環境を構築する使い方もあります。プラグインシステムを活用してTikTok以外のアプリ操作を追加できるため、汎用的なiOSオートメーション基盤として拡張可能です。


類似ツールとの違い・なぜ今Phone Farm iOSが注目されるのか

従来のSNS自動化ツール(Hootsuite・Buffer等)はAPIベースで動作しますが、TikTokはサードパーティAPIを大幅に制限しており、公式APIでスケジュール投稿できる機能が限られています。Phone Farm iOSは実機iPhoneをAppleの公式テスト機構(WebDriverAgent)で制御するため、画面操作レベルでの自動化を実現しており、APIの制約を受けません。

また、Appiumなどの汎用自動化フレームワークと比較した場合、Phone Farm iOSはTikTok特化のプラグイン・スケジューラー・ダッシュボードを最初から内包しており、一から自動化基盤を構築する手間が省けます。


こんな人に向いている:Phone Farm iOSのターゲットユーザー

SNSマーケター・コンテンツクリエイターで、TikTokの投稿を最適な時間帯に自動化したい方に最適です。特に複数アカウントを管理しているプロフェッショナルや、コンテンツを大量に制作してバッチ投稿したいクリエイターに向いています。

TypeScript・Node.jsエンジニアにとっては、iOSデバイス自動化の実践的なリファレンス実装として参考になります。WDA・Appium・PostgreSQL・drizzle-ORM・WebSocket・プラグインアーキテクチャを組み合わせた設計を実際のコードから学べます。

モバイルアプリ開発者がCI/CDパイプラインの実機テストフレームワークとして応用することも可能です。


使う前に知っておきたいこと:制限と注意点

macOSとXcodeが必須: WebDriverAgentのコンパイル・署名にXcodeが必要なため、macOSが動作する環境が必須です。Linuxサーバーのみでの運用はできません。

物理iPhoneが必要: シミュレーターではなく実物のiPhoneが必要です。iOS 16〜18が動作するデバイスを用意してください。

既知の問題: 公開Issueによると、Appium 2とXCUITestドライバーのバージョン依存問題、WDAが8101番ポートに到達できなくなる問題(iPhone XSで報告)など、セットアップ時に環境差異が生じる場合があります。

TikTokのToS確認: TikTokの利用規約は頻繁に更新されます。自動化ツールの利用がアカウントポリシーに適合しているか、最新の規約を確認の上ご利用ください。

セキュリティ: ダッシュボードをloopback以外に公開する場合はPHONE_FARM_AUTH_PLUGINによる認証設定が必須です(未設定の場合は起動時にエラー)。


関連ツール・おすすめサービス

  • DigitalOcean — ダッシュボードサーバーをVPSで外部公開する場合の選択肢として

まとめ

Phone Farm iOSは、TikTokの自動化をAPIに頼らず実機iPhoneで実現する実践的なOSSです。AppleのWebDriverAgent技術をベースにした信頼性の高い実機制御と、PostgreSQL管理のスケジューラー・プラグインシステムを組み合わせたアーキテクチャが特徴です。

macOS環境と実機iPhoneが必要ですが、TikTokコンテンツの自動化を本格的に構築したいSNSマーケターやNode.jsエンジニアにとって、1493スターを持つ実績あるフレームワークです。Apache-2.0ライセンスで商用利用も可能です。

GitHub でチェックする →


この技術を学ぶ

DevToolに興味を持った方には、UdemyのTypeScript・Node.js・モバイル自動化コースもおすすめです。

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください