라이브 애플리케이션 검사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 delegate 클래스를 찾으려고 할 수 있습니다.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 (WindowsCtrl + Enter)는 평가를 위해 코드를 제출 합니다.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. 위의 스크린샷에서는 선택한 UISearchBar에 대 한 selectedView.BarTintColor 액세스 한 후 편집 된 방법을 볼 수 있습니다.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. 행을 선택 하 여 REPL에 selectedView을 설정 하 고 뷰의 속성 값을 볼 수 있습니다.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를 다시 시작 하 고, rechecking를 시도 하세요.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.