🙆‍♀️

Xcode26から使えるSwift Assistを使ってみた

に公開

普段、ClineやRooCodeを使って、iOSアプリのAI駆動開発をしているiOSアプリエンジニアです。

Xcode26でSwiftAssistが使えるとあって、とても期待していたので、実際に使ってみました。
(あくまで簡易的で時間をかけて試したわけじゃないので、ご了承ください。)

Swift Assistがでできること

swift assist がでできることは何? と聞いてみた

私(Swift Assistant/AIコーディングアシスタント)ができることは、次のような内容です:

できること

• コードの解説・質問への回答
• Swift・SwiftUIやAppleプラットフォームのAPIの使い方・設計・書き方など説明
• ご自身のコードの意図や動作を解説
• コードの修正・自動生成
• 指定ファイルやプロジェクト全体のコードを自動的に編集・改善
• バグ修正やリファクタリング案の自動適用
• コードベースの横断的な検索・調査
• シンボル(型・関数・プロパティなど)の検索
• 複数ファイルにまたがる依存関係や実装例を調査
• ビルドエラーやクラッシュログの原因究明と解決案提案
• エラー内容を貼り付けてもらえば、原因分析&修正案を提示
• テストやSwiftUIプレビューコードの生成
• Swift Testingフレームワークや #Preview マクロを使ったテスト・プレビューコードの追加
• ベストプラクティス・設計アドバイス
• 公式APIや一般的な設計指針に基づいたアドバイス

できないこと

• ローカルでのコマンド実行や、実際のビルド
• xcodebuildなどのコマンドをユーザー環境で直接実行すること
• 実機またはシミュレータでアプリを実際に動作させること

「ここを直して」や「このコードの意味教えて」など、SwiftやXcode開発に関することは気軽にご相談ください!
特定の修正をしたい場合は「このファイルを○○に修正して」と指示していただければすぐに対応できます。

この時点で、ちょっと怪しい気がしてました。
理由は読んでもらえれば分かるはず。

実際に使ってみる

実際に使ってみようと思い、自身の開発しているアプリで、Vision.Frameworkを使って「カメラを起動した際に、リアルタイムでTVの枠(矩形)を認識し、画面上に枠をオーバーレイ表示する」実装をしたいと思っていたので、ちょうどよいと思い、作らせてみようと思いました。

プロンプトを考えるのはめんどくさいのと、Swift Assistがどこまでやってくれるのか試すのことを目的とするため、簡易的に指示するようにします。

Swift Assistはここから使えます。

まず、「カメラの画面でリアルタイムにTV枠を認識させて、表示したい」と指示しました


まぁ、想定通りの実装をしてくれて、チャット画面の方に修正したコードが表示され、クリックするとプレビューが表示されました。

このあたりは、ClineやRooCodeよりも使いやすいなと感じました。

そのあと、実際に実行しようとしたら、久しぶりに触るプロジェクトなので、Xcodeのバージョンが上がっているせいで、ビルドするために修正が必要な箇所があり、ビルドができませんでした。

この場合、ClineやRooCodeでは、xcodebuildコマンドを叩かせてビルドログを確認してもらい修正させる流れなので、SwiftAssitantもビルドできるだろう、むしろ、xcodebuildコマンドじゃなくてXcodeに組み込まれてるんだからビルドくらいできるだろうし、エラーもよしなに確認してくれるだろうと思ってたので、「ビルドして確認してエラーが出たら修正して」と指示すると「ビルドできません」と言われたので、驚愕しました。。

Appleが、Swift AgentじゃなくてAssitant と言っているのは、ここかと即座に理解しました。

そのほか、気になったところ

ビルドエラーになると、ビルドログに切り替わるんですが、そのたびに新規会話に戻ってしまい、もともと会話していたチャットに戻るには会話履歴を選択しないといけなくなります。ここはおそらく正規リリース時に修正されるであろうとは思いますが不便すぎます。

ここに飛んで

この状態で戻る

以前の会話を自分で表示する手間

ClineやRooCodeにあるような、修正プランの提案・TODOリスト作成、修正したコードの承認などはなく、AIとペアプロしている感覚はない。
このあたりも、ちょっと使いづらいと感じます。

これは、使っているモデルの問題かもしれない(今回は簡易的な検証のため、ChatGPT Plusで検証。普段はClaude Sonnet 4を使っている)が、自前で実装しているスプラッシュ画面からホーム画面に切り替わらなかったので、修正をお願いしたところ、結果的に何もせずユーザー任せのような返答が来て残念だった

せっかく、Xcodeで使ってるのに、デバッグログやViewの確認などは、よしなにやってもらいたかった

差分もUIがリッチすぎてわかりづらい

タップすると、色がつく

AIが考えている時は、テキスト入力できない。キャンセルはできるが、あらかじめテキスト入力してAIの返答がきたたら送信みたいなことができない

などなど。。。

他にも細かい気になるところはあるけど

今回は、自分のMacをbetaのままで使いたくなかったので、あまり時間をかけずに試しただけだけど、正直あまりよいイメージはありませんでした。

まとめ

beta版だしまだ、改善されるだろうが、正直、この程度ならば、ClineやRooCodeで十分だと感じました。
Xcodeでバイブコーディングぽいことが出来るのは大きな進歩かもしないが、Xcodeならでの機能を期待してたが、遠く及びませんでした。
(軽く試した感じでは)SwiftAssistで出来ることはClineやRooCodeでも出来る(むしろClineやRooCodeでさえできることがXcodeでは出来ないことが多い)ので、正式に利用できるようになっても、これだと自分はほぼほぼ使わないだろうなという感じです。

Appleがあと出しで出してきたにも関わらず、SwiftエージェントじゃなくSwiftアシストと言っているのは、なるほどこういうことかというのがあらためて把握できたのが今回の検証結果でした。

Discussion