5

미리 질문 해주세요. 3 일 동안 Xamarin.iOS 개발 환경을 설정하는 데 3 일을 낭비했지만 낭비했습니다. 물리적 장치 (아이폰 시뮬레이터가 아님)와 나는 다음에 무엇을 시도해야 할지를 놓치고 있습니다. v4.2.0.703 실제 iOS 기기에서 Xamarin.iOS 앱을 디버깅하는 방법

  • HTC가 전화 안드로이드 디버깅을 위해 PC에 USB 연결

    • 윈도우 10를 실행하는 PC의 Visual Studio 2015 자 마린 (:

      내 설치 꽤 표준 자 마린 구성 믿는다 작동 잘)

    • 맥북 실행 OS X 자 마린 스튜디오 V6.1.1와 엑스 코드 V8.0와 10.11
    • 아이폰이나 아이 패드
    0 디버깅 iOS 용 맥에 USB 연결

    Visual Studio에서 Xamarin 솔루션을 만들었습니다. 처음에는 Android에서 개발하고 디버깅했습니다.

    iOS 디버깅으로 진행하려면 Xcode 및 Xamarin Studio로 Mac을 설정하고 원격 로그인을 사용하도록 설정 한 다음 Xamarin.iOS 앱과 동일한 번들 식별자로 더미 Xcode 프로젝트를 만들었습니다. 나는 또한 서명 신원을 만들고 앱을 프로비저닝하고 Mac에 다운로드/설치하는 다소 복잡한 과정을 시도했다. 이 프로세스는 너무 직관적이지 않고 (Xcode의 시각적 피드백이 너무 가볍기 때문에) 올바르게 처리하지 못했습니다. 그러나 아이폰에서 더미 Xcode 프로젝트를 실행할 수 있으므로 확인해야한다고 가정합니다. 윈도우 PC에서

    자 마린>비주얼 스튜디오 설정 내에서 창은 모든 것 같습니다 그래서 비주얼 스튜디오는,도 후보 대상 장치로 표시되어있는 Mac 및 첨부 된 아이폰에 연결되어 있는지 확인 아이폰 OS 옵션 장치 디버깅을 위해 설정됩니다.

    Visual Studio에서 iPhone 시뮬레이터의 응용 프로그램을 디버깅하려고하면 제대로 작동합니다. 그러나, 실제 아이폰에서 디버깅은 다음과 같은 도움이되지 않는 메시지와 함께 실패 비교로

    Xamarin.Messaging.Exceptions.MonotouchException: error MT1006: Could not install the 
    application '/Users/Tim/Library/Caches/Xamarin/mtbs/builds/Test.iOS/c4f40041b6c58fc579a727bccfc18614/bin/iPhoneSimulator/Debug/TestiOS.app' 
    on the device 'Tim’s iPhone': AMDeviceSecureInstallApplicationBundle returned: 0xe8008001. 
    

    , 나는 또한 자 마린 Studio를 사용하여 Mac에서 직접 디버깅을 시도했다. 다시 말하지만 iPhone 시뮬레이터는 정상적으로 작동하지만 연결된 iPhone이 의 대상 장치 목록에 없기 때문에 물리적 장치를 사용하여 디버그 세션을 시작하는 것은 불가능합니다. iPhone 구성. 내가 프로젝트 옵션을 열고 아이폰 OS 디버그보기로 이동하는 경우

    , 나는 디버그 구성과 관련된 플랫폼 iPhoneSimulator 것을 볼 수 있습니다. 이 설정을 iPhone으로 변경하고 구성을 저장하면 작동하지만 변경 사항은 실제로 저장되지 않습니다. 이것이 내 테스트 장치가 나열되어 있지 않은 이유 인 것 같지만 Xamarin Studio에서 내 변경 내용을 적용하려면 어떻게해야하는지 잘 모르겠습니다.

    그래서이 모든 실험이 끝나면 완전히 잃어버린 것입니다. 이 설치 프로세스를위한 완전하고 강력한 A-Z 튜토리얼을 가지고 있으면 도움이 될 것입니다. 그러나 실패 할 경우, 다음에 시도해 봐야 할 제안이 있으면 대단히 감사하겠습니다.

    업데이트 : Ad-Hoc 프로젝트 구성 (Visual Studio 또는 Xamarin Studio에서)을 올바르게 사용하면 장치에 앱이 올바르게 배포되고 실행되지만 디버거에는 연결되지 않습니다. Ad-Hoc 프로젝트 구성에서 명시 적으로 디버깅을 사용하도록 설정하면 Xamarin Studio에서이를 무시하지만 Visual Studio에서 디버거를 연결하지만 중단 점은 발생하지 않습니다. 이 모든 것이 올바르게 들리니? 실제 값을 얻기 위해 바꿀 필요가있는 단서가 있습니까? 디버그 구성이 올바르게 작동합니까?

  • +0

    iPhone/iPad를 프로비저닝 한 것 같지 않습니다. https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/ – SushiHangover

    +0

    @SushiHangover : 감사합니다. Xcode> Window> Devices를 사용하여 iPhone에 프로비저닝 프로파일이 설치되어 있는지 확인했습니다. 내 Apple 계정에 설치된 프로필을 교차 검사했는데 내 개발 서명 ID가 포함되어 있으며 세 가지 장치 중 하나가 내가 디버그하려고하는 iPhone 중 하나입니다. –

    +0

    Strange .... Xamarin의 디버거에서는 작동하지 않지만 (A.S.를 사용하는) Androids 더미가 있지만 프로비저닝 된 경우에는 결코 IOS 문제가 발생하지 않습니다. iOS 버전은 iDevices (10?)에 있습니까? – SushiHangover

    답변

    1

    비슷한 문제에 직면 한 사람에게는 결국 내가 채택한 해결책이 '무차별 대항'접근 방식을 수반했습니다.

    표준 Visual Studio 템플릿을 사용하여 새로운 Xamarin.Forms 솔루션을 만들고 원치 않는 플랫폼 프로젝트 (UWP 및 Windows Phone)를 제거하여 시작했습니다. 이 초기 상태에서 Android 및 iOS 기기는 물론 각 관련 에뮬레이터/시뮬레이터에서 디버깅을 시작할 수 있음을 확인했습니다. 모든 것이 올바르게 작동하고 Mac 설정이 올바른지 확인하고 디버깅에 필요한 정확한 iOS 프로젝트 구성을 제공합니다.

    이 시점에서 필자는 구성 문제가 이전의 문제를 담당해야한다고 생각하여 원래 솔루션의 모든 작업 구성을 정확하게 복제했습니다. 여전히 iOS에서 디버깅을 거부했습니다.

    그런 다음 참조 된 Nuget 패키지로 인해 문제가 발생했다고 생각하기 시작 했으므로 원본 구현의 모든 참조 된 패키지를 새 테스트 솔루션에 추가했습니다. iOS에서 디버깅을 중단 할 것으로 예상했으나 그렇지 않았습니다.

    마지막으로 필자는 원래 솔루션 (XAML & 코드 숨김 파일, 뷰 모델, 리소스 등)의 전체 내용을 테스트 솔루션에 신중하게 이식하고 올바르게 디버깅을 계속했습니다.

    따라서 실행 가능한 진단 절차가 없으면 내 솔루션을 처음부터 다시 빌드하여 효과적으로 문제를 해결했습니다. 코드가 변경되지 않았으므로 구성 설정이 변경되지 않았지만 이제 모든 대상 환경에서 새 구현이 안정적으로 디버그 가능합니다.

    +0

    다음 문서에 설명 된대로 iOS 번들 서명 섹션에서 IOS 프로젝트의 속성에서 VS의 프로비저닝 프로파일을 수동으로 설정해야 할 수 있습니다. https ://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/free-provisioning/#Launching_your_App (10 단계) – nrudnyk

    관련 문제