라이브 애플리케이션 검사Inspecting Live Applications

라이브 앱 검사는 엔터프라이즈 고객이 사용할 수 있습니다.Live app inspection is available for enterprise customers.

  1. 앱 프로젝트를 지 원하는 Mac 또는 Visual Studio 용 Visual Studio에서.Open any supported app project in Visual Studio for Mac or Visual Studio.
  2. 디버그 모드에서 앱을 실행합니다.Run your app in debug mode.
  3. 클릭 합니다 검사 IDE 도구 모음의 단추 (Visual Studio에서의 검사 현재 앱.... 메뉴 항목에서 제공 됩니다. 합니다 도구 하거나 디버그 메뉴).Click the Inspect button in the IDE toolbar (in Visual Studio, the Inspect current app... menu item is also available from the Tools or Debug menu).

새 REPL 프롬프트와 함께 새 Xamarin Inspector 클라이언트 창이 열립니다.A new Xamarin Inspector client window will open, with a fresh REPL prompt.

대화형 해야이 창이 표시 되 면 C# 실행 하 고 평가 하는 데 사용할 수 있는 프롬프트 C# 문 및 식입니다.Once this window appears, you have an interactive C# prompt that you can use to execute and evaluate C# statements and expressions. 이 고유한 되어 대상 프로세스의 컨텍스트에서 코드를 계산을 있습니다.What makes this unique is that the code is evaluated in the context of the target process. 이 경우에 표시 하 여 iOS 응용 프로그램에 대해 실행 되는 코드를 표시 됩니다.In this case, we are showing the code running against the iOS application displayed.

응용 프로그램의 상태에 수행한 모든 변경 내용을 대상 프로세스에서 발생 실제로 사용할 수 있도록 C# 변경 하려면 응용 프로그램을 라이브로 라이브 응용 프로그램의 상태를 검사할 수 있습니다.Any changes that you make to the state of the application are actually happening on the target process, so you can use C# to change the application live, or you can inspect the state of the application live.

예를 들어, iOS에서 수 하고자 (여기서는 많은 응용 프로그램 상태 저장) 하는 기본 드라이버는 UIApplication 대리자 클래스를 찾을:For example, on iOS, we might want to locate our UIApplication delegate class, which is our main driver (where we store a lot of the application state):

var del = (MyApp.AppDelegate) UIApplication.SharedApplication.Delegate
del.Database.GetAllCustomers ()
...
del.Database.AddCustomer (...)

(참고 제출할 때마다 여러 줄 편집기에서 발생 하 합니다.(Note that each submission occurs in a multiline editor. Shift + Enter 새 줄을 만들어집니다 및 Cmd + Enter (Ctrl + Enter Windows에서) 평가 대 한 코드를 제출 합니다.Shift + Enter will create a new line, and Cmd + Enter (Ctrl + Enter on Windows) will submit the code for evaluation. Enter 자동으로 때 제출 것이 안전 합니다.)Enter automatically submits when it is safe.)

응용 프로그램의 시각적 요소를 이동 하는 보다 편리한 방법을 "검사" 단추를 사용 하는 것입니다.A more convenient way to get to the visual elements of your application is by using the "Inspect" button. 이 작업을 누르면 응용 프로그램을 클릭 하 여 UI 요소를 선택할 수 있습니다.Once you press this, you can select a UI element by clicking on your application. 변수의 selectedView 화면에서 실제 요소에 할당 됩니다.The variable selectedView will be assigned to point to the actual element on the screen. 위의 스크린샷에서 보면 어떻게 액세스 하 고 편집한 selectedView.BarTintColorUISearchBar 선택 했다면 합니다.In the screenshot above, you can see how we accessed and then edited selectedView.BarTintColor on the UISearchBar we had selected.

라이브 시각적 트리도 매우 유용 합니다.The live visual tree is also very useful. 뷰 계층의 현재 스냅숏을 나타냅니다.It represents the current snapshot of your view hierarchy. 행 집합을 선택할 수 있습니다 selectedView REPL 및 보기의 속성 값을 참조 하세요.You can select rows to set selectedView in the REPL and to see the view's property values. Mac에서 계층화 된 뷰의 쪼개진된 3D 시각화를 조작할 수 있습니다.On Mac, you can interact with a 3D exploded visualization of the layered views. Windows에서 보기의 속성 값을 시각적으로 편집할 수 있습니다.On Windows, you can edit a view's property values visually.

알려진된 제한 사항Known Limitations

  • 뷰 선택은 기본 디스플레이에 지원 됩니다.View selection is only supported on your main display.
  • 속성 표에서 편집 Mac을 사용할 수 없는 하 고 Windows에서 몇 가지 데이터 형식으로 제한 됩니다.Property grid editing is not available for Mac, and on Windows is limited to a few data types. 더 강력한 편집에 대 한 REPL을 사용 합니다.Use the REPL for more powerful editing.
  • 검사기 추가 기능을 확장을 설치 및 IDE에서 사용 하도록 설정 하기만 디버그 모드에서 시작 될 때마다 앱에 코드를 삽입는 했습니다.As long as the Inspector addin/extension is installed and enabled in your IDE, we are injecting code into your app every time it starts in Debug mode. 앱에서 이상 현상을 표시 하는 경우에 해제 또는 검사기 추가 기능/확장을 제거 하 고, IDE를 다시 시작 하 고 재확인 하세요.If you notice any strange behavior in your app, please try disabling or uninstalling the Inspector addin/extension, restarting the IDE, and rechecking. 보시고 버그 알려주세요!And please file bugs to let us know!
  • 그래도 변경으로 인해 UI 요소를 검사, 하세요 알려주세요처럼이 버그를 나타낼 수 있습니다.If inspecting a UI element causes it to change in anyway, please let us know, as this may indicate a bug.