優れたバグレポートの提出方法

開発プロセスにバグはつきものです。このような問題が発生するとストレスを感じがちですが、その問題を特定し、再現状況を確認して、Appleのフィードバックアシスタントでバグレポートを提出すると、問題を迅速に解決することができます。

Learn more about bug reporting

Learn more about our privacy policy when filing bugs with Feedback Assistant

Appleプラットフォーム向けの開発中に発見したバグについては、必ずフィードバックをお願いします。私たちは知らない問題を修正することはできないためです。ただし、提供する情報が問題解決に役立つものであり、バグ解決を遠のかせるものではないということをどのように確認すればよいでしょうか。ここでは、明瞭かつ実用的で、また最も重要な点として「修正につなげることができる」バグレポートを作成するための重要なヒントをご紹介します。

明確、直接的、詳細な説明にする

新しいバグレポートを記録する際はできるだけ詳しく説明し、初めのタイトルは問題と原因の両方が明確に理解できるような内容にします。例えば、「カレンダーイベントがない」というタイトルでは、「なぜ」「どのように」などの重要な情報が欠けています。一方、「macOS 12.4のカレンダーイベントが、クイックイベントを作成した後になくなった」というタイトルなら、より対処のしやすい詳細な情報が伝わります。


ヒント:多くの場合、問題がApp開発にどのような影響を及ぼすかを理解することで、バグの選別に役立てることができます。Appの開発中に問題を発見した場合は、タイトルと説明の両方のフィールドにAppの名前とバージョンを入れてください。スタンドアロンのサンプルプロジェクトで問題を再現できた場合であっても、App StoreレコードまたはTestFlightビルドへのリンクを追加してください。


問題を記述する際は、各段階を丹念に説明します。説明対象のAppやシステムを見たことがない人がこのレポートを読むと想定しながら文を書くとよいでしょう。例えば、「カレンダーでイベントを作成すると、一瞬で消えてしまう」といった説明では、問題を再現するために必要な多くの詳細情報が不足しています。カレンダーでイベントを作成するのは、クイックイベントボタンからでしょうか。Siriからでしょうか。あるいは、ドラッグして新しいイベントを追加するのでしょうか。一瞬とはどれほどの時間なのでしょうか。イベントが消えたのは、マルチタスクの後でしょうか。それともAppに留まっていたのでしょうか。

バグ担当者がこのような疑問が浮かぶたびに考える時間が必要になるようでは、その問題がすぐに解決される可能性は低くなってしまいます。自分のバグを詳しく説明するにはどうするかを考えてみてください。例えば、このように書くとよいでしょう。

1.カレンダーAppの[クイックイベント]ボタンをクリックする。
2.任意のタイトルでイベントを記入する。
3.リターンキーを押す。

実際の結果:イベントがカレンダーの正常な場所に表示された後、消えてしまう。

予想される結果:カレンダーのイベントが表示され、そのままカレンダーに残るはず。

再現の段階と予想される結果を記入した後は、問題に影響を与える可能性がある他の要因を考えます。iCloudにサインインしていますか。アクセシビリティの設定はオンになっていますか。オペレーティングシステムの他の場所でこの問題が再現されますか。最初の報告に含まれる情報が多いほど、バグ担当者が効果的な選別を行い、修正のために適切なチームへ受け渡すことができます。

クラッシュのログを取る

残念ながら、すべてのバグが再現可能で、かつ、その手順が簡単であるとは限りません。このような場合に対応するため、sysdiagnoseなどのログ情報を提供することを検討してください。iPhoneやiPadを使用してバグを報告する場合は、フィードバックアシスタントAppを使用すると、自動的に情報を取得することができます。Appleのウェブポータルで提出する場合、手動でsysdiagnoseを収集するためのプロファイルをインストールできます。

クラッシュのログを取る

残念ながら、すべてのバグが再現可能で、かつ、その手順が簡単であるとは限りません。このような場合に対応するため、sysdiagnoseなどのログ情報を提供することを検討してください。iPhoneやiPadを使用してバグを報告する場合は、フィードバックアシスタントAppを使用すると、自動的に情報を取得することができます。Appleのウェブポータルで提出する場合、手動でsysdiagnoseを収集するためのプロファイルをインストールできます。

また、その問題に関連するその他のログを追加で提供することができます。例えば、クラッシュが発生している場合は、Appのクラッシュログを含めてください。パフォーマンスのリグレッションを報告する場合、iOSまたはiPadOSではInstruments Traceを、macOSではSampleを含めてください。

サンプルプロジェクトの作成

Appの開発で問題が発生することがあります。その場合、コンパイルする小さなサンプルプロジェクトやSwift Playgroundsのプロジェクト単位で問題を切り分けることを検討してください。これは、直面している特定のバグを絞り込むのに役立つ他、バグ担当者やエンジニアが問題を選別する最も簡単な方法の1つでもあります。完全なサンプルプロジェクトを作成できない場合は、サンプルコードも役立ちます。問題を絞り込むには、どのような追加情報であっても重要となります。

レポートのエスカレーション

Apple Developer Program、Enterprise Program、MFi Programの有料会員の方は、製品版のAppleプラットフォームに技術的な問題が発生した場合、テクニカルサポートインシデントを申請することをご検討ください。これは、Appleのフレームワーク、API、ツールについて、バグが直らない、特定の技術を実装する際にトラブルが発生した、コードについて一般的な質問があるなどの場合に、コードレベルのサポートを要請するものです。

Request technical support