문제

우리는 이전에 MonoTouch에만 독점적으로 쌓이는 Cross platform Android/iOS apps를 빌드하기 시작했습니다.우리는 MonoDroid를 평가하고 있습니다.

당사의 앱은 JSON를 사용해야하며 ServiceStack를 사용하고 싶습니다.Xamarin은 우리가 사용하고있는 ServiceStack 지점을 가지고 있습니다 - https://github.com/xamarin/servicestack / P>

JSON을 얻고 게시 할 공통된 프로젝트를 원합니다.Xamarin의 ServiceStack은 different DLLs for Android and iOS를 가지고 있습니다.우리는 single project를 가지고 있으며 JSON에서 얻을 수있는 서비스 모두를 사용합니까?

우리는 JSON에서 통일 된 방식으로 얻을 수있는 다른 옵션에 열려 있습니다.

도움이 되었습니까?

해결책

및 대형, MonoTouch 특정 유형에 대한 종속성이없는 MonoTouch에 대해 컴파일 된 관리 * .DLL은 Android 프로젝트의 Mono와 호환됩니다.

servicestack은 이것의 좋은 예입니다.저는 Xamarin Mobile Framework 제품을 통해 여러 프로젝트에 대해 개인적으로 사용했습니다.

일반적인 규칙 으로서는 FooProjectRestClient와 같은 비동기 메소드가있는 부분 클래스를 사용하여 웹 서비스에 대한 모든 호출을 캡슐화하는 경향이 있습니다.그런 다음 발생해야 할 일종의 세분화가있는 경우 #if defs를 사용하여 공유 클래스에서 발생할 수 있습니다.

다른 팁

Android 특정 라이브러리에 대한 모노가있는 이유는 종종 (작품, Silverlight와 같은) 프로파일이 가능합니다 (예 : 새로운 FX4.0 기능에 의존하는 것들이 필요한 것에 따라 잘라낸). 그들은 종종 SILVERLIGHT (또는 MONOTOUCH, MONODROID)로 다시 컴파일 된 동일한 코드입니다.

MonoTouch 특정 라이커만이 일반적으로 환경 (iOS 장치)이 JIT'ing을 허용하지 않기 때문입니다. 그래서 코드 생성 (예 : System.Reflection.Emit) 또는 동적 (아래로) 코드를로드하는 것도 없지만 (공연자가 적은) 해결 방법을 제공하거나 몇 가지 기능을 건너 뛰거나 특별 버전의 버전을 제공하는 것이 종종 있습니다. MonoTouch의 경우.

이제 싱글 공유 어셈블리 / 프로젝트를 뒷받침합니다. 특수 일반적으로 일반적으로 일반적으로 MONOTOUCH 정의 된 동일한 코드는 여전히 유효 .NET 어셈블리 및 자주 에 사용할 수 있습니다. Android, Mono 또는 .NET 용 모노 (일단 다시 컴파일 된 경우 심지어 MONOTOUCH). 그것은 확실히 최적이 아닙니다. 그러나 당신이 시도 할 수있는 것이 있습니다.

다른 하나는 여러 솔루션 (예 : MonoTouchApp, M4AndApp)에서 동일한 프로젝트 (예 : MyLib)를 가지며 다른 정의 (예 : iPhone *에서 MONOTOUCH)를 설정할 특별한 구성 (iPhone | 디버그와 마찬가지로)을 사용합니다. 짐마자 이는 각 플랫폼 (예 : 동일한 기능이 다르게 구현되는 경우)에서 최상의 기능 구현을 유지할 수있게 해줍니다.

나중에 첫 번째 (config)를 시도한 다음 MonoTouch 특수 조립품을 공유하고 마침내 (실제로 작동하지 않는 경우) 다른 대안을 찾습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top