GitHub Copilot for Xcode を導入する

GitHub Copilot for Xcode を導入する

Clock Icon2025.03.24

GitHub Copilotは、OpenAIの技術を活用したAIコーディングアシスタントツールだ。コードの補完や提案することで開発効率を向上させる。詳細については若槻さんの「GitHub Copilotを試してみた ~導入編~」を確認して欲しい。

2024年10月、Xcode用の公式拡張機能がパブリックプレビューとして発表され、Apple開発者向けにSwiftやObjective-Cを含む言語のサポートを提供され、2025年2月には一般提供が始まった。

https://github.blog/changelog/2025-02-14-code-completion-in-github-copilot-for-xcode-is-now-generally-available/

この記事では、GitHub Copilot for Xcodeの導入方法と使用感について紹介する。

検証環境

GitHub Copilot for Xcodeを使用するためには、以下の条件を満たしている必要がある。

  • macOSのバージョンが12.0以降、Xcodeのバージョンが8.0以降であること
  • GitHub Copilotへのアクセス権のあるGitHubアカウントであること

2025年4月24日より、App Store Connectにアップロードするアプリの最小要件が代わり、Xcode 16以降(iOS 18、iPadOS 18、tvOS 18、visionOS 2、またはwatchOS 11に対応したSDKを使用)でビルドする必要がある。よって、すべての環境でGitHub Copilot for Xcodeが使用できるだろう。

GitHub Copilotを試用する場合、GitHub Copilot Freeを無料で利用できる。私は最初にFreeを使い、自分の環境で利用できるのを確認してから、GitHub Copilot Proを契約した。

検証環境は以下の通りだ。

  • Xcode 16.2
  • macOS Sequoia 15.3.1
  • GitHub Copilot Pro

GitHub Copilot for Xcodeを導入する

1. GitHub Copilot for Xcodeをインストールする

リリース一覧から、最新の安定版の GitHubCopilotForXcode.dmg をダウンロードする。執筆時点で最新であった「Release 0.31.0」を利用する。dmgファイルをダウンロードし、アプリケーションフォルダにドラッグした。

スクリーンショット 2025-02-20 14.16.19

2. アプリケーションを開き、セキュリティ警告を承認する

[開く]ボタンをクリックする。

スクリーンショット 2025-02-20 14.18.03

3. 必要な権限を付与する

初回起動時に自動的にアクセシビリティ権限がリクエストされる。「アクセシビリティアクセス」ダイアログが表示されるので、[システム設定を開く]をクリックする。

スクリーンショット 2025-02-20 14.18.27

「GitHub Copilot for Xcode Extension」を「ON」にする。

スクリーンショット 2025-02-20 14.19.39

次に、Xcode Source Editor拡張機能に権限を付与する。[Open System Preferences]をクリックする。

スクリーンショット 2025-02-20 14.22.41

[ログイン項目と機能拡張]項目の「バックグラウンドでの実行を許可」セクションの「GitHub Copilot for Xcode」を「ON」にする。

スクリーンショット 2025-02-20 14.23.28

さらに「機能拡張」セクションのうち、「Xcode Source Editor」項目をクリックする。

スクリーンショット 2025-02-20 14.42.04

「GitHub Copilot for Xcode」を「ON」にする。

スクリーンショット 2025-02-20 14.42.16

以上で、必要な権限を付与した状態で、GitHub Copilot for Xcode が起動できた。

スクリーンショット 2025-02-20 14.24.34

4. Xcodeを開き、「Editor」メニュー内に「GitHub Copilot」が表示されていることを確認

ツールバーの[Editor]の一番下に[GitHub Copilot]が追加されている。[Open Chat]をクリックすると、チャットUIを開くことができる。

スクリーンショット 2025-02-20 14.44.00

5. アプリケーション設定から「Log in to GitHub」ボタンをクリックしてGitHubにサインイン

GitHub Copilot for Xcodeに戻って、「Log in to GitHub」ボタンをクリックする。GitHubとの連携用のコードをクリップボードにコピーして、GitHubのサイトを開く。

スクリーンショット 2025-02-20 14.45.22

先ほどコピーしたコードを入力(ペースト)する。

ze3p29x4uoq3lq8mjt6e

[Authorize GitHub Copilot Plugin]ボタンをクリックし、GitHub Copilotプラグインの利用を許可する。

rv2bld6nrsf6ibhnxqzy

以上でログインは終了だ。

スクリーンショット 2025-02-20 14.48.16

6. アップデートは「Check for Updates」から行う

GitHub Copilot for Xcodeのアップデートは「Check for Updates」ボタンをクリックする。新バージョンインストール後はXcodeの再起動が必要なことに注意しよう。

スクリーンショット 2025-02-20 14.50.45

7. Xcodeの設定で「Predictive code completion」を無効にする

AIによる補完機能が重複してしまっているので、Xcode側のAI補完機能をオフにする。

[Xcode]、[Settings...]で設定ダイアログを開く。[Text Editing]タブを開き、さらに[Editing]タブを開く。Code Completionのセクションに [Predictive code completion]があるのでアンチェックする。

スクリーンショット 2025-02-20 14.55.14

以上で、GitHub Copilot for Xcode の導入は完了だ。

GitHub Copilot for Xcode の使い方

GitHub Copilot for Xcode の使い方は簡単で以下の通り。基本はTabキーを押下するだけだ。

  • Tabキーで最初の行の提案を受け入れ
  • Optionキーを押し続けると全体の提案を表示
  • Option + Tabで全体の提案を受け入れ

特に、定型的なコード(例:APIリクエスト処理、データモデルの作成など)を素早く書くのに便利だ。

コード補完

GitHub Copilotは入力中にコード提案を提供する。たとえばSwiftファイルに以下の関数シグネチャを入力する。

nonisolated func bannerViewWillPresentScreen(_: GADBannerView) {
    logge

GitHub Copilotは自動的にグレーのテキストで関数本体全体を提案する。

20250316140224

Tabキーを押下すると、その提案を受け入れることができる。

チャット

既存のチャットUIの使い勝手でAIを利用できる。

20250316140153

Xcode拡張ではモデル切り替えができず「GPT-4o」固定でしか利用できない。私はチャット機能を利用したいときは、GitHub CopilotのWebページを利用している。v0.31.0時点ではモデル切り替え機能がなく、Claude 3.7 Sonnetなどを利用したい場合には、Xcode上でGitHub Copilotのチャットを使うのは諦めた方が良いかもしれない。

ただし、ウェブUIについては GitHub Copilot Business アカウントでは設定で Disabled にされており利用できないかもしれない。

Xcode拡張ではタブを開いているソースコードが添付ファイルに設定される。チャットUIでやっていたようなソースコードの貼り付けをせずに済む分快適になったと言えるかもしれない。

GitHub Copilot for Xcode を使ってみた所感

GitHub Copilot の使用感の調査のために、会社からアクセス権を付与してもらったものの、直近では実装作業がなく業務での評価ができなかった。

そこで、ほぼ毎日触っている個人アプリの開発で使えるように、個人アカウントの方でもGitHub Copilot Proを契約した。Tabキー連打でコードが書けるのは気持ち良いが、Xcode拡張の提案では「GPT-4o 大規模モデル」しか使えず、微妙に使えないコードが出力される。

特にUI実装ではSwiftUIを使っているが、SwiftUIを書いているときのコード補完は使えないことが多い。これは、GitHub Copilot のコード補完の挙動として、おそらく関数名から内部実装を想定して提案するためではないかと考えている。SwiftUIでも細かなView毎にわけて実装すれば適切な提案が受けられるかもしれない。

コード提案で最も使えるのはログの実装時だろう。ログの本文はなんでも良いが出力している情報が何かを適切にアウトプットする必要がある。print(まで入力すれば、入力した場所に応じて適切なログ本文を提案してくれるだろう。

2025/03/16追記:v3.20.0がリリースされた

待望していたモデル切り替え機能が実装された。ただし、不具合なのか「Claude 3.7 Sonnet」が利用できない。この問題についてはすでにIssueが起票されており、そのうち対応されるだろう。

https://github.com/github/CopilotForXcode/issues/213

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.