2016-10-21 2 views
0

시뮬레이터를 전혀 시작하지 않고 Xcode가 IBDesignables 용 UIKit 코드를 실행할 수 있다는 것을 알고 있습니다. macOS 어플리케이션 인 IBDesignablesAgentCocoaTouch 툴을 사용하고있는 것 같습니다. 그런 것을 어떻게 구현할 수 있습니까?시뮬레이터없이 iOS 코드 실행하기

+0

무엇을 하시겠습니까 ??? –

+0

시뮬레이터없이 단위 테스트를 원하십니까? –

+0

기본적으로 IBDesignablesAgentCocoaTouch와 유사하지만 Xcode는 없습니다. – krzat

답변

0

x86_64 용으로 컴파일 된 iOS 앱은 실제로는 다른 프레임 워크에 링크 된 정상적인 macOS 앱입니다. 시뮬레이터 프레임 워크는 iOS 하드웨어에서와 비슷한 방식으로 작동하도록 모든 프레임 워크에 필요한 런타임을 제공합니다. IBDesignablesAgentCocoaTouch 데몬은 Xcode를 변경할 때마다 UI의 스냅 샷을 찍을 수 있도록 iOS 하위 시스템을 충분히 회전시킵니다. 이론적으로, 시뮬레이터와 다른 방식으로 iOS 서브 시스템을 부분적으로 또는 완전히 스핀 업 할 수는 있지만, 설치시 서명 한 개발자 라이센스 계약을 침해 할 가능성이 높으며 배포에는 적합하지 않을 수도 있습니다. 합법적 인 경우 또는 그렇지 않은 경우 시스템을 개조 할 때마다 큰 어려움을 겪을 가능성이 높습니다. 최근 몇 년간 시뮬레이터 프레임 워크가 얼마나 광범위하게 변화했는지 보아도 비 Apple 개발자가 얼마나 어려울 지에 대한 느낌을 갖기에 충분합니다.

테스트를 위해 비 UI 코드를 실행해야하는 경우, 예를 들어 macOS 대상을 만들고 비 UI 요소를 포함하는 등 훨씬 필요한 방법을 쉽게 구현할 수 있습니다. 테스트를 위해 필요한 최소한의 UI 요소를 절대적으로 사용해야합니다.

iOS 프레임 워크를 사용하여 멀티 플랫폼 개발을 수행하고 시뮬레이터 외부의 Apple iOS 프레임 워크를 사용하여 멀티 플랫폼 개발을 수행하려는 경우 이는 적합하지 않습니다 (iOS 프레임 워크는 일반적으로 macOS와 함께 배포되지 않으며 Xcode를 설치해야 함). 사용자가 응용 프로그램이 실행중인 플랫폼에서 기본적으로 작동 할 것으로 기대할 때 좋은 아이디어는 아닙니다. iOS UI 개념은 터치 입력에 가장 적합하지만 정밀 포인터 입력 생태계에서는 적합하지 않습니다.

+0

답변 해 주셔서 감사합니다. 그래서 IBDesignablesAgentCocoaTouch는 미니 시뮬레이터와 비슷합니까? 꽤 괜찮은데. – krzat

+0

나는 어떤 합의도 깨지 않을 것입니다. 그냥 호기심을 묻습니다. 그리고 아마도 디버깅 목적으로 사용될 수 있습니다. – krzat

관련 문제