0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Geminiを使ってAIコーディングをしてiOS音楽再生アプリを開発する(無料)

0
Posted at

はじめに

今回はiOSアプリをGeminiを使って開発した話をお伝えしたいと思います。iOS26.2がリリースされ、アプリマーケットプレイスが解禁され、AppStore以外からのアプリインストールが比較的容易に可能となりました。
今回の方針はこんな感じです。
1 WindowsPCでiOSアプリをReactnativeで開発
2 開発したアプリをiPhoneのExpoGoというアプリでプレビュー確認
2で確認したプレビューで不具合が発生したら1に戻る
3 GitHubActionsにプッシュしてビルド(ipaファイル生成)
4 生成したipaファイルをiPhoneにインストール
どの環境でもできるという保証はありませんし、AIと一緒にやってみたという話です。

この記事でわかること

・AppleDeveloperProgramに参加しなくても無料でiOSアプリ(一応iPadにもインストールできると思います)を開発する方法
・AIとの付き合い方

私の実行環境

Windows11 Home 64-bit
iPhone16e iOS26.2 -> iOS26.3(実装中にアップデートしました)
実装日時:2026年2月下旬頃から3月中旬にかけて

今回の記事の対象者

・AIコーディングで中身わからなくてもいいからiOSアプリを開発したい人
・AIコーディングをしてみたい人

注意事項・免責事項

今回の方法はAIを利用するため、誰でも同じように成功するとは限りません。また、実行する場合は自己責任でお願いします。
今回の記事は確証がないため、スクリーンショットが少ないですが、ご了承ください。あくまで、こういう方法もあるんだなぁと思っていただけたら幸いです。

Windows側の準備

Visual Studio Codeをインストールします。
Visual Studio Code
※今回の目標はアプリ開発なのでインストール手順等は省略させていただきます。
node.jsをインストールします。
node.js
Sideloadlyをインストールします。
Sideloadly

今回、私はC:/Users/BellRin/ApplicationMakingOfficeで作業します。
アプリ開発用のフォルダがあると便利でいいですね。

浅めのディレクトリに作成しないとファイルパスが長すぎるエラーが発生することがあるので注意してください。

Windowsでアプリ開発

ここからはアプリを開発していきます。

開発

npx create-expo-app MusicManager

を実行します。(MusicManagerというのはプロジェクト名ですね)
実行するディレクトリはC:/Users/BellRin/ApplicationMakingOfficeです。(実行する場合、各々でパスやコマンドは変更してください。)
するとMusicManagerというフォルダが作成されるのでそのフォルダをvscodeで開き、app/(tabs)/index.tsxを開きます。
そしたらReactnativeでコードを記述しますが、私はこの言語がわからなかったのでAIコーディングで作成しました。

AIには「ReactNativeでiOSアプリを開発したい」ということ、「ExpoGoでプレビューをiPhoneで確認したい」ということを伝えて、「npx create-expo-app MusicManager」を実行し、app/(tabs)/index.tsxを編集しているということを伝えておけば、うまくいきました。あとは開発したいiOSアプリの設計を伝えましょう。

プレビュー確認

アプリを開発できてもプレビューを確認できないとビルドするには不安ですよね。ここでiPhoneの実機が必要になります。(もしかしたらMacのシミュレーターでも行けるのかもしれません。何度も伝えますが、iPhoneではなく、iPadでも可能だと思います)

下準備

iPhoneにExpoGoというアプリをインストールします。
ExpoGo
このタイミングでExpoGoのアカウントを作成しておきます。あとで必要になります。

Windows側でアプリを起動

MusicManagerフォルダの中で

npx expo start

というコマンドを実行します。

このコマンドはvscodeのターミナルではなく、コマンドプロンプトのウィンドウで実行してください

ターミナルに大きなQRコードが表示されるので、これをiPhoneのカメラで読み込むと、「ExpoGoで起動」と表示されるのでそれをタップします。
するとExpoGoが起動し、MusicManagerという文字がアイコンの下に表示され、起動が始まります。
ここでプレビューを確認できます。
また、開発する場合はすべてそのままでvscodeでindex.tsxを編集し、ターミナルをあぷてぃぶいしてRキーを押すと、iPhoneのExpoGoがプレビューを起動します。
終了する場合はターミナルでCtrl + Cを押すと終了します。

ビルド

開発が終わったらいよいよビルドします。
以下のコマンドを順番に実行していきます。

npm install -g eas-cli
eas login
git init
git add .
git commit -m "Initial commit"
eas build:configure

「Which platforms would you like to configure?」と聞かれたら All または iOS を選択します。
このターミナルは後でまた使います。
eas.jsonというファイルが生成されるので

eas.json
{
  "build": {
    "preview": {
      "ios": {
        "simulator": true,
        "distribution": "internal"
      }
    }
  }
}

という内容に書き換えます。
DIRECTORY_NAME/.github/workflows/build_ipa.ymlを作成し、

build_ipa.yml
name: Build iOS IPA for Sideloadly
on:
  workflow_dispatch: # 手動実行ボタンを有効化

jobs:
  build:
    runs-on: macos-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 20

      - name: Setup Expo
        uses: expo/expo-github-action@v8
        with:
          expo-version: latest
          token: ${{ secrets.EXPO_TOKEN }}

      - name: Install dependencies
        run: npm install

      - name: Prebuild (Convert to Native Project)
        run: npx expo prebuild --platform ios
      - name: Build Unsigned IPA with Xcode
        run: |
          # ワークスペース名を取得
          PROJECT_NAME=$(ls ios | grep .xcworkspace | sed 's/\.xcworkspace//')
          echo "Found project: $PROJECT_NAME"

          # 実機用(iphoneos)としてアーカイブ作成(署名なし)
          xcodebuild -workspace "./ios/$PROJECT_NAME.xcworkspace" \
            -scheme "$PROJECT_NAME" \
            -configuration Release \
            -sdk iphoneos \
            -archivePath "./build/$PROJECT_NAME.xcarchive" \
            archive \
            CODE_SIGNING_ALLOWED=NO \
            CODE_SIGNING_REQUIRED=NO \
            CODE_SIGN_IDENTITY=""

          # Payloadフォルダを作ってIPA化
          mkdir Payload
          cp -r "./build/$PROJECT_NAME.xcarchive/Products/Applications/$PROJECT_NAME.app" ./Payload/
          zip -r DIRECTORY_NAME.ipa Payload

      - name: Upload IPA
        uses: actions/upload-artifact@v4
        with:
          name: DIRECTORY_NAME-IPA
          path: DIRECTORY_NAME.ipa

と記述します。(DIRECTORY_NAMEは今回MusicManagerです)

git add .
git commit -m "Add GitHub Actions config"
git push

これらのコマンドをそれぞれ実行します。

ブラウザでGitHubを開くとリポジトリがDIRECTORY_NAMEで作成されています。
リポジトリーを開き、ActionsタブへBuild iOS IPA for Sideloadlyをクリックし、右のRun Workflowをクリックします。ポップアップのRun Workflowをクリックします。
SummaryでArtifactsに保存されているzipをダウンロードします。
zipを展開すると中にDIRECTORY_NAME.ipaが保存されています。

iPhoneにipaをインストール

Sideloadlyを起動し、ダウンロードしたipaファイルをアップロードします。
iPhoneまたはiPadなどインストールしたいデバイスをUSB接続し、iDeviceでデバイスを選択します。
AppleIDを入力して認証します。
Startをクリックすると実行されます。
一番下にDoneと表示されたら、iDeviceにアプリアイコンが表示されていることを確認します。
これにより、署名と同時にアプリのインストールができます。

iDeviceでアプリを起動できません

このままだとiPhoneやiPadでアプリをタップしても起動できません。
そのため、iDevice設定>プライバシーとセキュリティ>デベロッパモード(結構下の方)が有効になっていない場合はオンにします(オンにするには再起動が必要)

↑ Sideloadlyでインストールしないと表示されないみたいです。こんなのあるだ!? 初めて知りました。
そしたら、iDeviceで一般>VPNとデバイス管理>デベロッパアプリの項目で開発をしたAppleID(署名時に利用したもの)をタップし、検証をタップします。
これでアプリがやっと開けるようになります。

この方法だとアプリは1週間しか起動できません。1週間すると署名が切れるからです。署名が切れたらSideloadlyでもう一度インストールして、iDeviceで一般>VPNとデバイス管理>デベロッパアプリの項目で検証をすればまた開けるようになります。最近はAltStoreを利用した事実上、永久再署名不要の方法を模索しています。この方法を見つけたらまた記事を書こうと思います。

最後までお読みいただきありがとうございます。
もし、間違った点や誤字がありましたら、コメント等でご報告いただけると幸いです。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?