WWDC Quick Look 💓 By SwiftGGTeam
Get to know Developer Mode

Get to know Developer Mode

元の動画を見る

ハイライト

iOS 16、iPadOS 16、watchOS 9 では開発者モードが導入されており、デフォルトではオフになっています。開発者は、開発署名されたアプリケーションをデバイスにインストール、実行、デバッグする前に、設定でこのモードを手動で有効にする必要があります。 macOS ベンチュラの場合devmodectlこのツールは、開封プロセスの自動化をサポートしています。

主要内容

開発者モードが必要な理由

00:47

強力な開発者向け機能は、大多数の一般ユーザーが単に必要としていないにもかかわらず、標的型攻撃で悪用されています。 Apple のアプローチ: 開発者が依存する機能を維持しながら、デフォルトでオフにすることで一般ユーザーのセキュリティを強化します。

次の配布方法には開発者モードは必要ありません**。

・App Store配信

  • TestFlightの配布
  • 企業内での配布

開発者モードは、次のシナリオでのみ必要です。

  • 開発署名済みアプリ (パーソナル チーム署名済みアプリを含む) をインストールして実行する
  • Xcode によるデバッグと Instruments によるプロファイリング
  • デバイス上で自動テストを実行する

開発者モードを有効にする方法

02:56

プロセスを開始します。

  1. Xcode を実行している Mac にデバイスを接続します (または、Apple Configurator を通じて開発署名済みアプリをインストールします)。
  2. [設定] > [プライバシーとセキュリティ] > [開発者モード] に移動します。
  3. スイッチをオンにします
  4. デバイスを再起動します
  5. 再起動後、再度電源がオンになることを確認します

有効にすると、状態は永続的に保存され、再起動やシステム更新後も有効になります。

開発者モードのメニュー項目はベータ版では常に表示されます。正式版では、Xcode に接続するか、開発署名されたアプリケーションをインストールした後にのみ表示されます。

自動化: devmodectl

04:05

手動で開くことは、テストラボなどの複数デバイスのシナリオでは非効率的です。 macOS Ventura には次の機能が組み込まれていますdevmodectlコマンドラインツール。

制限事項: 開発者モードを自動的にオンにできるのは、パスワードのないデバイスのみです。これは、対話を続行するには再起動後にデバイスのロックを解除する必要があるためです。

2 つの使用方法:

# 为已连接的单个设备开启
devmodectl

# Streaming 模式:自动为所有接入的设备开启
devmodectl streaming

重要なポイント:

  • devmodectl streaming新しく接続されたデバイスを監視し、自動的に再起動して開発者モードを構成します
  • 設定が完了すると、デバイスは通知を受け取ります
  • このツールは macOS Ventura にデフォルトでインストールされます

詳細

devmodectl の使用例

# 查看当前连接的设备状态
devmodectl

# Streaming 模式:自动处理所有接入的设备
devmodectl streaming

# 在 CI 脚本中使用
#!/bin/bash
# 启动 streaming 模式作为后台进程
devmodectl streaming &
STREAM_PID=$!

# 等待设备接入并配置
sleep 30

# 停止 streaming
kill $STREAM_PID

重要なポイント:

  • devmodectlプロセスを自動的に完了するには、デバイスにパスワードが必要ありません
  • パスワードが設定されているデバイスは再起動後に手動でロックを解除する必要があり、自動プロセスは中断されます。
  • テストラボのテストデバイスにはパスワードを設定しないか、MDM管理を使用することをお勧めします。

CI 環境統合に関する推奨事項

# 在 CI 流水线中检查设备状态
#!/bin/bash

# 检查是否有未开启 Developer Mode 的设备
if ideviceinfo -k DeveloperModeStatus | grep -q "0"; then
    echo "Developer Mode not enabled, attempting automatic setup..."
    devmodectl streaming &
    sleep 60
    kill %1
fi

# 继续执行测试
xcodebuild test -destination "platform=iOS,name=TestDevice" ...

重要なポイント:

  • CI 環境では、事前テスト手順として開発者モード チェックを使用します。
  • 連携するテストデバイスプールのパスワードレスポリシーを均一に設定devmodectl streaming
  • テストが失敗した場合のトラブルシューティングの方向エラーを回避するために、手動介入が必要なデバイスを記録します。

重要ポイント

1.チーム装備の準備プロセスを更新

  • やるべきこと: 新しいデバイスまたはシステムのアップグレードを取得した後、標準プロセスの最初のステップとして開発者モードをオンにします。
  • 実行する価値がある理由: iOS 16 以降は、開発者モードなしではデバッグできません。この問題により、トラブルシューティングに多くの時間が無駄になります。
  • 開始方法: チームのデバイス管理ドキュメントに開始手順を追加し、新しいメンバーがオンボーディングするときの指示に重点を置きます。

2.自動テスト装置プールを構築

  • やるべきこと: CI 環境内のテストデバイスのパスワードレス構成を統合する +devmodectl streaming
  • 実行する価値がある理由: 多数のデバイスがある場合、各デバイスの開発者モードを手動でオンにすることは非現実的です。自動化が唯一の実現可能な解決策です。
  • 開始方法: 特別なテスト機器のバッチを準備し、パスワードを設定せずに工場出荷時の設定を復元し、Mac に接続して実行します。devmodectl streaming

3.内部テスト配布戦略を更新

  • やるべきこと: 内部テスト プロセスのどのシナリオが開発者モードの影響を受けるかを評価します。
  • 実行する価値がある理由: TestFlight とエンタープライズ配布には影響しませんが、開発、デバッグ、QA 検証などには開発者モードが必要です。
  • 開始方法: チーム内で開発署名アプリケーションが使用されるすべてのシナリオを整理し、各シナリオのデバイスで開発者モードがオンになっていることを確認します。

関連セッション

コメント

GitHub Issues · utterances