Xamarin.ios에 대 한 문제 해결 팁Troubleshooting Tips for Xamarin.iOS

Xamarin.ios가 System.valuetuple를 확인할 수 없습니다.Xamarin.iOS cannot resolve System.ValueTuple

이 오류는 Visual Studio와의 비 호환성으로 인해 발생 합니다.This error occurs due to an incompatibility with Visual Studio.

  • Visual Studio 2017 업데이트 1 (버전 15.1 또는 이전 버전)은 system.valuetuple NuGet 4.3.0 (또는 이전 버전)와만 호환 됩니다.Visual Studio 2017 Update 1 (version 15.1 or older) is only compatible with System.ValueTuple NuGet 4.3.0 (or older).

  • Visual Studio 2017 업데이트 2 (버전 15.2 이상)는 system.valuetuple NuGet 4.3.1 이상과만 호환 됩니다.Visual Studio 2017 Update 2 (version 15.2 or newer) is only compatible with the System.ValueTuple NuGet 4.3.1 or newer .

Visual Studio 2017 설치에 해당 하는 올바른 System.valuetuple NuGet을 선택 하세요.Please choose the correct System.ValueTuple NuGet that corresponds with your Visual Studio 2017 installation.

' 업데이트 정보를 검색 하는 동안 오류 발생 ' 오류 메시지를 받고 있습니다.Receiving 'Error Retrieving Update Information' Error Message

소프트웨어를 업데이트 하려고 할 때이 오류 메시지가 표시 되 면 IDE를 다시 시작 하 고 로그 아웃 한 다음 IDE의 계정으로 다시 로그인 하세요.When attempting to update the software and this error message appears, please try restarting your IDE and logging out and then back in to your account in the IDE.

Interface Builder를 사용 하 여 콘센트가 나 작업을 만들 어떻게 할까요? 있나요?How do I create outlets or actions with Interface Builder?

Mac용 Visual Studio 및 Visual Studio에서 Xamarin Designer for iOS를 도입 하 여 Xamarin.ios 개발자는 이제 Storyboard 및. xib를 통해 UI를 만드는 데 활용할 수 있습니다.With the Introduction of the Xamarin Designer for iOS in Visual Studio for Mac and Visual studio, Xamarin.iOS developers can now take advantage of creating a UI through Storyboards and .xibs. 디자이너 사용에 대 한 자세한 내용은 Hello, iOS 가이드를 참조 하세요.Refer to the Hello, iOS guides for more information on using the designer.

IB에서 콘센트 및 작업을 사용 하는 방법에 대 한 자세한 내용은 Apple의 콘센트작업 가이드를 참조 하세요.You can also refer to Apple's Outlet and Actions guides for more information on using Outlets and Actions in IB.

Encoding.getencoding는 NotSupportedException을 throw 합니다.System.Text.Encoding.GetEncoding throws NotSupportedException

기본적으로 추가 되지 않는 인코딩을 사용 하 고 있을 수 있습니다.You may be using an encoding that is not added by default. 더 많은 인코딩에 대 한 지원을 추가 하는 방법을 알아보려면 국제화 페이지를 확인 하세요.Check the Internationalization page to learn how to add support for more encoding.

MissingMethodException (다른 모든 항목)System.MissingMethodException (anything else)

멤버가 링커가 제거 했을 수 있으므로 런타임에 어셈블리에 존재 하지 않습니다.The member was likely removed by the linker, and thus doesn't exist in the assembly at runtime. 이에 대 한 몇 가지 솔루션이 있습니다.There are several solutions to this:

  • 멤버에 [Preserve] 특성을 추가 합니다.Add the [Preserve] attribute to the member. 이렇게 하면 링커가 제거 되지 않습니다.This will prevent the linker from removing it.
  • Mtouch를 호출할 때 -nolink 또는 -linksdkonly 옵션을 사용 합니다.When invoking mtouch, use the -nolink or -linksdkonly options:
    • -nolink 는 모든 링크를 사용 하지 않습니다.-nolink disables all linking.
    • -linksdkonly 는 사용자가 만든 어셈블리의 모든 형식 (즉, 앱 프로젝트)을 유지 하면서 Xamarin.ios와 같이 xamarin.ios에서 제공하는 어셈블리만 연결 합니다.-linksdkonly will only link Xamarin.iOS-provided assemblies, such as xamarin.ios.dll, while preserving all types in user-created assemblies (ie. your app projects).

어셈블리가 연결 되어 결과 실행 파일의 크기가 작아집니다. 따라서 링크를 사용 하지 않도록 설정 하면 더 큰 실행 파일을 사용 하는 것이 바람직 할 수 있습니다.Note that assemblies are linked so that the resulting executable is smaller; thus, disabling linking may result in a larger executable than is desirable.

ModelNotImplementedException를 받고 있습니다.You are getting a ModelNotImplementedException

이 예외가 발생 하면 base를 호출 하는 것입니다. 모델을 재정의 하는 클래스의 메서드 ()If you are getting this exception this means that you are calling base.Method () on a class that overrides a Model. 모델에 대 한 클래스에서 기본 메서드를 호출할 필요가 없습니다 ([Model] 특성으로 플래그가 지정 된 클래스).You do not need to call the base method in a class for models (these are classes that are flagged with the [Model] attribute).

이 클래스는 키 XXXX의 키 값을 코딩 하는 데 호환 되지 않습니다.This class is not key value coding-compliant for the key XXXX

NIB 파일을 로드할 때이 오류가 발생 하는 경우 관리 되는 클래스에서 값 XXXX를 찾을 수 없음을 의미 합니다.If you get this error when loading a NIB file it means that the value XXXX was not found on your managed class. 즉, 다음과 같은 선언이 없습니다.This means that you are missing a declaration like this:

[Connect]
TypeName XXXX {
   get {
       return (TypeName) GetNativeField ("XXXX");
   }
   set {
       SetNativeField ("XXXX", value);
   }
}

위의 정의는 NAME_OF_YOUR_XIB_FILE.designer.xib.cs 파일의 Mac용 Visual Studio에 추가 하는 XIB 파일에 대해 Mac용 Visual Studio에 의해 자동으로 생성 됩니다.The above definition is automatically generated by Visual Studio for Mac for any XIB files that you add to Visual Studio for Mac in the NAME_OF_YOUR_XIB_FILE.designer.xib.cs file.

또한 위의 코드를 포함 하는 형식은 Nsobject의 서브 클래스 여야 합니다.Additionally, the types containing the above code must be a subclass of NSObject. 포함 하는 형식이 네임 스페이스 내에 있는 경우에는 형식에서 네임 스페이스를 지원 하지 않으므로 네임 Interface Builder 스페이스 없이 형식 이름을 제공 하는 [Register] 특성도 있어야 합니다.If the containing type is within a namespace, it should also have a [Register] attribute which provides a type name without a namespace (as Interface Builder doesn't support namespaces in types):

namespace Samples.GLPaint {

    // The [Register] attribute overrides the type name registered
    // with the Objective-C runtime, in this case removing the namespace.
    [Register ("AppDelegate")]
    public class AppDelegate {/* ... */}
}

Interface Builder 파일에 알 수 없는 클래스 XXXX가 있습니다.Unknown class XXXX in Interface Builder file

이 오류는 인터페이스 작성기 파일에 클래스를 정의 했지만 C# 코드에서 클래스의 실제 구현을 제공 하지 않는 경우에 발생 합니다.This error is generated if you define a class in your interface builder files but you do not provide the actual implementation for it in your C# code.

다음과 같은 코드를 추가 해야 합니다.You need to add some code like this:

public partial class MyImageView : UIView {
   public MyImageView (IntPtr handle) : base (handle {}
}

MissingMethodException: Foo. Bar:: ctor에 대 한 생성자를 찾을 수 없습니다 (IntPtr).System.MissingMethodException: No constructor found for Foo.Bar::ctor(System.IntPtr)

이 오류는 코드가 Interface Builder 파일에서 참조 한 클래스의 인스턴스를 인스턴스화하려고 할 때 런타임에 생성 됩니다.This error is produced at runtime when the code tries to instantiate an instance of the classes that you referenced from your Interface Builder file. 즉, 단일 IntPtr을 매개 변수로 사용 하는 생성자를 추가 하지 않습니다.This means that you forgot to add a constructor that takes a single IntPtr as a parameter.

IntPtr 핸들을 사용 하는 생성자는 관리 되는 개체를 관리 되지 않는 표현에 바인딩하는 데 사용 됩니다.The constructor with an IntPtr handle is used to bind managed objects with their unmanaged representations.

이 문제를 해결 하려면 다음 코드 줄을 Foo. Bar 클래스에 추가 합니다.To fix this, add the following line of code to the class Foo.Bar:

public Bar (IntPtr handle) : base (handle) { }

{Foo} 형식에 GetNativeField에 대 한 정의가 포함 되어 있지 않으며 형식 {Foo}의 GetNativeField 확장 메서드를 찾을 수 없습니다.Type {Foo} does not contain a definition for GetNativeField and no extension method GetNativeField of type {Foo} could be found

디자이너에서 생성 한 파일 (*. xib.designer.cs)에서이 오류가 발생 하는 경우 다음 두 가지 중 하나를 의미 합니다.If you get this error in the designer generated files (*.xib.designer.cs), it means one of two things:

1) partial 클래스 또는 기본 클래스가 없습니다.1) Missing partial class or base class

디자이너에서 생성 된 partial 클래스는 NSObject의 일부 서브 클래스에서 상속 되는 사용자 코드에 해당 partial 클래스를 포함 해야 합니다 (종종 UIViewController).The designer-generated partial classes must have corresponding partial classes in user code that inherit from some subclass of NSObject, often UIViewController. 오류를 제공 하는 형식에 대 한 클래스가 있는지 확인 합니다.Ensure that you have such a class for the type that is giving the error.

2) 기본 네임 스페이스가 변경 되었습니다.2) Default namespaces changed

디자이너 파일은 프로젝트의 기본 네임 스페이스 설정을 사용 하 여 생성 됩니다.The designer files are generated using your project's default namespace settings. 이러한 설정을 변경 하거나 프로젝트의 이름을 바꾼 경우 생성 된 partial 클래스는 사용자 코드와 동일한 네임 스페이스에 더 이상 포함 되지 않을 수 있습니다.If you have changed these settings, or renamed the project, the generated partial classes may no longer be in the same namespace as their user-code counterparts.

네임 스페이스 설정은 프로젝트 옵션 대화 상자에서 찾을 수 있습니다.Namespace settings can be found in the Project Options dialog. 기본 네임 스페이스는 일반-> 주 설정 섹션에서 찾을 수 있습니다.The default namespace is found in the General->Main Settings section. 비어 있는 경우 프로젝트의 이름이 기본값으로 사용 됩니다.If it is blank, the name of your project is used as the default. 고급 네임 스페이스 설정은 소스 코드-> .Net 명명 정책 섹션에서 찾을 수 있습니다.More advanced namespace settings can be found in the Source Code->.NET Naming Policies section.

동작에 대 한 경고: 전용 메서드 ' Foo '은 (는) 사용 되지 않습니다.Warning for actions: The private method 'Foo' is never used. CS0169(CS0169)

인터페이스 작성기 파일에 대 한 작업은 런타임에 리플렉션에 의해 위젯에 연결 되므로이 경고가 발생 합니다.Actions for interface builder files are connected to the widgets by reflection at runtime, so this warning is expected.

이러한 메서드에만이 경고를 표시 하지 않으려면 "#pragma 경고 사용 안 함 0169" "#pragma 경고 사용 0169"을 사용 하거나, 전체 프로젝트에 대해 사용 하지 않도록 설정 하려는 경우 컴파일러 옵션의 "경고 무시" 필드에 0169를 추가 합니다. 권장).You can use "#pragma warning disable 0169" "#pragma warning enable 0169" around your actions if you want to suppress this warning just for these methods, or add 0169 to the "Ignore warnings" field in compiler options if you want to disable it for your whole project (not recommended).

mtouch이 실패 했습니다. '/path/to/yourproject.exe ' 어셈블리를 열 수 없습니다.mtouch failed with the following message: Cannot open assembly '/path/to/yourproject.exe'

이 오류 메시지가 표시 되는 경우 일반적으로이 문제는 프로젝트의 절대 경로에 공백이 포함 되어 있다는 것입니다.If you see this error message, generally the problem is the absolute path to your project contains a space. 이 문제는 Xamarin.ios의 이후 버전에서 수정 될 수 있지만 프로젝트를 공백 없이 폴더로 이동 하면 문제를 해결할 수 있습니다.This will be fixed in a future version of Xamarin.iOS, but you can work around the issue by moving the project to a folder without spaces.

Sqlite3 버전이 오래 되었습니다. 최소 v 3.5.0로 업그레이드 하세요.Your sqlite3 version is old - please upgrade to at least v3.5.0!

이는 다음 작업을 모두 수행할 때 발생 합니다.This happens when you do all of the following:

  1. Mono. Sqlite를 사용 합니다.Use Mono.Data.Sqlite
  2. Mac OS X Leopard 사용 (10.5)Use Mac OS X Leopard (10.5)
  3. 시뮬레이터 내에서 앱을 실행 합니다.Run your app within the simulator.

문제는 Mono가 드롭다운에서 iphonesimulator 대상을의 libsqlite3.dylib 파일이 아니라 OS X libsqlite3.dylib를 선택 하는 것입니다.The problem is that Mono is picking up the OS X libsqlite3.dylib, not the iPhoneSimulator's libsqlite3.dylib file. 장치에서 작동 하지만 시뮬레이터는 작동 하지 않습니다.Your app will work on the device, but just not your simulator.

시스템에서 장치에 배포 하지 못했습니다. 예외: AMDeviceInstallApplication에서 3892346901을 반환 했습니다.Deploy to device fails with System.Exception: AMDeviceInstallApplication returned 3892346901

이 오류는 인증서/번들 id에 대 한 코드 서명 구성이 장치에 설치 된 프로 비전 프로필과 일치 하지 않음을 의미 합니다.This error means that the code-signing configuration for your certificate/bundle id does not match the provisioning profile installed on your device. 프로젝트 옵션-> iPhone 번들 서명에서 적절 한 인증서가 선택 되어 있는지 확인 하 고, 프로젝트 옵션-> iPhone 응용 프로그램에 지정 된 올바른 번들 id를 확인 합니다.Confirm you have the appropriate certificate selected in Project Options->iPhone Bundle Signing, and the correct bundle id specified in Project Options->iPhone Application

Mac용 Visual Studio에서 코드 완성이 작동 하지 않습니다.Code Completion is not working in Visual Studio for Mac

최신 버전의 Mac용 Visual Studio 및 Xamarin.ios를 사용 하 고 있는지 확인 합니다.Ensure that you are using the latest version of Visual Studio for Mac and Xamarin.iOS

문제가 계속 되 면 ~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log, androidtools-{timestamp} .logComponents-{timestamp} .log 로그 파일을 첨부 하 여 버그를 제출 하세요.If the issue is still present, please file a bug, attaching the ~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log, AndroidTools-{TIMESTAMP}.log, and Components-{TIMESTAMP}.log log files.

다른 모든 작업이 실패 하는 경우 코드 완료 캐시를 제거 하 여 다시 생성할 수 있습니다.If all else fails, you can try removing the code completion cache so that it is regenerated:

[rm -r ~/.config/XamarinStudio-{VERSION}/CodeCompletionData]

이 명령을 올바르게 입력 하거나 중요 한 파일을 실수로 제거할 수 있습니다.Be careful that you type this command correctly or you could accidentally remove important files.

텍스트를 복사할 때 충돌 Mac용 Visual StudioVisual Studio for Mac crashes when you copy text

인기 있는 Mac 유틸리티 QuickSilver, Google 도구 모음 및 도구 모음은 Mac용 Visual Studio의 메모리를 손상 시키는 클립보드 기능을 제공 합니다.The popular Mac utilities QuickSilver, Google Toolbar and LaunchBar have clipboard features that corrupt Visual Studio for Mac's memory. 이러한 옵션을 사용 하면 Mac용 Visual Studio를 방해 하지 않아야 하는 프로세스로 나열할 수 있습니다.In their options, you can list Visual Studio for Mac as a process they should not interfere with.

Mac용 Visual Studio 불만에 대 한 Mono 2.4 필요Visual Studio for Mac complains about Mono 2.4 required

최근 업데이트로 인해 Mac용 Visual Studio를 업데이트 했을 때이를 다시 시작 하려고 할 때 mono 2.4 설치를 불만 하는 것 2.4이 좋습니다.If you updated Visual Studio for Mac due to a recent update, and when you try to start it again it complains about Mono 2.4 not being present, all you have to do is upgrade your Mono 2.4 installation.

Mono 2.4.2.3 _6은 Mac용 Visual Studio를 안정적으로 실행 하지 못하게 하는 몇 가지 중요 한 문제를 해결 합니다. 때때로 시작 시 Mac용 Visual Studio 중단 되거나 코드 완성 데이터베이스를 생성할 수 없습니다.Mono 2.4.2.3_6 fixes some important problems that prevented Visual Studio for Mac from running reliably, sometimes hung Visual Studio for Mac at startup or prevented the code completion database from being generated.

새 Mono를 설치 하면 Mac용 Visual Studio 예상 대로 시작 됩니다.Once you install the new Mono, Visual Studio for Mac will start as expected.

어설션 위치.. /.. /.. /.. /mono/metadata/generic-sharing.c: 704, ' oti ' 조건이 충족 되지 않았습니다.Assertion at ../../../../mono/metadata/generic-sharing.c:704, condition `oti' not met

다음 스택 추적을 수신 하는 경우:If you are receiving the following stack trace:

 - Assertion at ../../../../mono/metadata/generic-sharing.c:704, condition `oti' not met
Stacktrace:
    at System.Collections.Generic.List`1<object>..cctor () <0xffffffff>
    at System.Collections.Generic.List`1<object>..cctor () <0x0001c>
    at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>`

Thumb 코드를 사용 하 여 컴파일된 정적 라이브러리를 프로젝트에 연결 하는 것을 의미 합니다.It means that you are linking a static library compiled with thumb code into your project. IPhone SDK 릴리스 3.1 이상 (이 문서를 작성할 당시 이상)에는 엄지 코드 (정적 라이브러리)가 아닌 코드 (Xamarin.ios)를 연결 하는 경우 Apple에서 버그가 도입 되었습니다. 이 문제를 완화 하기 위해 정적 라이브러리의 Thumb이 아닌 버전에 연결 해야 합니다.As of iPhone SDK release 3.1 (or higher at the time of this writing) Apple introduced a bug in their linker when linking non-Thumb code (Xamarin.iOS) with Thumb code (your static library).You will need to link with a non-Thumb version of your static library to mitigate this issue.

ExecutionEngineException: JIT 컴파일 메서드 (래퍼 관리-관리 되는) Foo []: ICollection'1 get_Count ()를 시도 합니다.System.ExecutionEngineException: Attempting to JIT compile method (wrapper managed-to-managed) Foo[]:System.Collections.Generic.ICollection`1.get_Count ()

[] 접미사는 사용자 또는 클래스 라이브러리가 IEnumerable < >, ICollection < > 또는 IList < > 등의 제네릭 컬렉션을 통해 배열에서 메서드를 호출 하 고 있음을 나타냅니다.The [] suffix indicates that you or the class library are calling a method on an array through a generic collection, such as IEnumerable<>, ICollection<> or IList<>. 해결 방법으로, 직접 메서드를 호출 하 고 예외를 트리거한 호출 전에이 코드가 실행 되는지 확인 하 여 AOT 컴파일러에 이러한 메서드를 포함 하도록 명시적으로 강제할 수 있습니다.As a workaround, you can explicitly force the AOT compiler to include such method by calling the method yourself, and by making sure that this code is executed before the call that triggered the exception. 이 경우 다음을 작성할 수 있습니다.In this case, you could write:

Foo [] array = null;
int count = ((ICollection<Foo>) array).Count;

그러면 AOT 컴파일러에 get_Count 메서드가 포함 됩니다.Which will force the AOT compiler to include the get_Count method.

Mac용 Visual Studio 원본 편집기가 매우 느림Visual Studio for Mac source editor is extremely slow

경우에 따라 문자 입력 사이에 몇 초 동안 중단 된 것 처럼 표시 되는 Mac용 Visual Studio 원본 편집기가 매우 느릴 수 있습니다.Sometimes the Visual Studio for Mac source editor becomes extremely slow, appearing to hang for several seconds between typing characters.

이 문제는 거의 발생 하지 않으며 재현 하기가 매우 어렵습니다. 따라서 Mac용 Visual Studio를 다시 시작한 후에는 일반적으로 동일한 컴퓨터에서 재현할 수 없습니다.This issue is very rare and extremely hard to reproduce - it usually cannot be reproduced on the same machine after restarting Visual Studio for Mac. 이러한 이유로 Mac용 Visual Studio을 다시 시작 하기 전에 몇 가지 디버깅 단계를 수행 하 고 결과를 microsoft에 보낼 수 있는지 감사 합니다.For this reason we would appreciate it if you could perform several debugging steps before restarting Visual Studio for Mac, and send the results to us.

  1. 편집기 탭을 닫고 다시 엽니다.Try closing the editor tab, and re-opening it. 감속이 다시 발생할 때까지 캐럿을 편집 하거나 이동 하는 데 약간의 시간이 걸리지 않나요?Does it take a little bit of editing or moving the caret around until the slowdown happens again?
  2. "Quartz.dll 디버그" 개발자 도구 (스포트라이트를 사용 하 여 찾을 수 있음)를 사용 하 여 "빔 동기화"를 사용 하지 않도록 설정 하 고 원본 편집기 성능이 정상으로 복원 되었는지 확인 합니다.Disable "Beam Sync" using the "Quartz Debug" developer tool (which you can find using Spotlight), and check whether the source editor performance is restored to normal.
  3. 빔 동기화를 사용 하지 않도록 설정 하 여 (1) 단계를 반복 해 보세요.Try repeating step (1) with Beam Sync still disabled.
  4. 몇 초 넘게 편집기가 중단 되 면 터미널에서 "killall [Mac용 Visual Studio]"를 실행 해 보십시오.If the editor hangs for more than a few seconds, try to run "killall -QUIT [Visual Studio for Mac]" in a terminal while it is hung. 편집기가 정지 되는 동안 kill 명령이 실행 되는 것은 어려울 수 있지만 이렇게 하는 것이 중요 합니다. 명령을 사용 하면 Mono가 모든 스레드의 스택 추적을 MD 로그에 쓰도록 합니다 .이는를 사용 하 여 XS가 정지 된 상태에서 스레드가 있는 상태를 검색 하는 데 사용할 수 있기 때문입니다.It may be difficult to time the kill command to happen while the editor is hung, but it's essential to do so, because the command forces Mono to write stack traces of all threads to the MD log, which we can use to discover what state the threads are in while the XS is hung.

XS logs, ~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log, androidtools-{timestamp} .logComponents-{timestamp} .log 를 연결 하세요. 이전 버전의 XS/MonoDevelop에서 ~/library/logs를 전송 합니다. /MonoDevelop-(3.0 | 2.8 | 2.6)/MonoDevelop.log).Please attach the XS logs, ~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log, AndroidTools-{TIMESTAMP}.log, and Components-{TIMESTAMP}.log (in older versions of XS/MonoDevelop, just send ~/Library/Logs/MonoDevelop-(3.0|2.8|2.6)/MonoDevelop.log).

참고

위의 문제가 XS 2.2 마지막에 수정 되었습니다. * *The above issue was fixed in XS 2.2 Final**

컴파일된 응용 프로그램이 매우 큼Compiled application is very large

디버깅을 지원 하기 위해 디버그 빌드는 추가 코드를 포함 합니다.To support debugging, debug builds contain additional code. 릴리스 모드에서 빌드된 프로젝트는 크기의 일부입니다.Projects built in release mode are a fraction of the size.

Xamarin.ios 1.3 기반 디버그 빌드에는 Mono의 모든 단일 구성 요소 (프레임 워크의 모든 클래스에 있는 모든 메서드)에 대 한 디버깅 지원이 포함 되었습니다.As of Xamarin.iOS 1.3 the debug builds included debugging support for every single component of Mono (every method in every class of the frameworks).

Xamarin.ios 1.4를 사용 하 여 디버깅을 위한 보다 세분화 된 방법을 소개 합니다. 기본값은 코드 및 라이브러리에 대 한 디버깅 계측만 제공 하는 것 이며, 모든 Mono 어셈블리 에 대해이 작업을 수행 하지는 않습니다 .이 작업은 가능 하지만 는 이러한 어셈블리를 디버깅 하기 위해 옵트인 해야 합니다.With Xamarin.iOS 1.4 we will introduce a finer grained method for debugging, the default will be to only provide debugging instrumentation for your code and your libraries, and not do this for all of the Mono assemblies (this will still be possible, but you will have to opt-in to debugging those assemblies).

설치 중단Installation Hangs

IPhone 시뮬레이터를 실행 하는 경우 Mono 및 Xamarin.ios 설치 관리자가 모두 중지 됩니다.Both Mono and Xamarin.iOS installers hang if you have the iPhone Simulator running. 이 문제는 Mono 또는 Xamarin.ios로 국한 되지 않습니다 .이 문제는 설치 시 iPhone 시뮬레이터가 실행 되는 경우 MacOS에서 소프트웨어를 설치 하려고 하는 모든 소프트웨어에서 일관 된 문제입니다.This problem is not limited to Mono or Xamarin.iOS, this is a consistent problem across any software that tries to install software on MacOS Snow Leopard if the iPhone Simulator is running at installation time.

IPhone 시뮬레이터를 종료 하 고 설치를 다시 시도 하세요.Make sure you quit the iPhone simulator and retry the installation.

0 유형의 trampolines 중에서 실행 되었습니다.Ran out of trampolines of type 0

장치를 실행 하는 동안이 메시지가 표시 되는 경우 프로젝트 옵션인 "iPhone Build" 섹션을 수정 하 여 추가 유형 0 trampolines (유형 별)을 만들 수 있습니다.If you get this message while running device, You can create more type 0 trampolines (type SPECIFIC) by modifying your project options "iPhone Build" section. 장치 빌드 대상에 대 한 추가 인수를 추가 하려고 합니다.You want to add extra arguments for the Device build targets:

-aot "ntrampolines=2048"

Trampolines의 기본 수는 1024입니다.The default number of trampolines is 1024. 응용 프로그램에 충분 한 시간까지이 숫자를 늘립니다.Try increasing this number until you have enough for your application.

유형 1의 trampolines 중에서 실행 되었습니다.Ran out of trampolines of type 1

재귀적 제네릭을 과도 하 게 사용 하는 경우 장치에서이 메시지가 표시 될 수 있습니다.If you make heavy use of recursive generics, you may get this message on device. 프로젝트 옵션인 "iPhone Build" 섹션을 수정 하 여 더 많은 type 1 trampolines (type RGCTX)를 만들 수 있습니다.You can create more type 1 trampolines (type RGCTX) by modifying your project options "iPhone Build" section. 장치 빌드 대상에 대 한 추가 인수를 추가 하려고 합니다.You want to add extra arguments for the Device build targets:

-aot "nrgctx-trampolines=2048"

Trampolines의 기본 수는 1024입니다.The default number of trampolines is 1024. 제네릭을 사용 하기에 충분 한 시간까지이 숫자를 늘립니다.Try increasing this number until you have enough for your usage of generics.

유형 2의 trampolines 중에서 실행 되었습니다.Ran out of trampolines of type 2

많은 인터페이스를 사용 하는 경우 장치에서이 메시지가 표시 될 수 있습니다.If you make heavy use interfaces, you may get this message on device. 프로젝트 옵션인 "iPhone Build" 섹션을 수정 하 여 추가 유형 2 trampolines (IMT 썽크 유형)를 만들 수 있습니다.You can create more type 2 trampolines (type IMT Thunks) by modifying your project options "iPhone Build" section. 장치 빌드 대상에 대 한 추가 인수를 추가 하려고 합니다.You want to add extra arguments for the Device build targets:

-aot "nimt-trampolines=512"

IMT 썽크 trampolines의 기본 수는 128입니다.The default number of IMT Thunk trampolines is 128. 인터페이스를 사용 하기에 충분 한 시간까지이 숫자를 늘립니다.Try increasing this number until you have enough for your usage of interfaces.

디버거가 장치에 연결할 수 없습니다.Debugger is unable to connect with the device

장치 구성 디버깅을 시작할 때 디버거가 응용 프로그램에 연결을 시도 하 고 있음을 나타내는 대화 상자를 표시 하는 것을 볼 수 있습니다.When you start debugging a device configuration, you will see the debugger show a dialog indicating that it is trying to connect to the application. 연결 하는 데 사용 하는 모드 (USB 또는 WiFi)에 따라 디버거가 응용 프로그램에 연결 하지 못할 수 있는 몇 가지 이유가 있습니다.There are several reasons the debugger may not be able to connect to the application, depending on the mode you're using to connect (USB or WiFi).

장치와 디버거 호스트가 서로 다른 네트워크에 있는 경우방화벽이 나 개인 네트워크로 인해 응용 프로그램이 WiFi 모드의 디버거 호스트에 연결 되지 않을 수 있습니다.If the device and the debugger host are on different networks, a firewall or private network may be preventing the application from connecting to the debugger host in WiFi mode.

Mac용 Visual Studio 호스트의 올바른 IP를 쿼리하지 못할 수 있습니다.Visual Studio for Mac may not be able to query the correct IP of the host. WiFi 모드 Mac용 Visual Studio에서 호스트를 찾을 수 있는 모든 Ip를 응용 프로그램에 제공 하 고 응용 프로그램에서 모든 Ip를 사용 하 여 Mac용 Visual Studio에 연결할 수 있는지 여부를 확인 합니다.In WiFi mode Visual Studio for Mac gives the application all the IPs it can find of the host, and the application tries them all to see if it can use any of them to connect to Visual Studio for Mac.

다른 장치가 호스트의 USB 포트에 연결 되어 있습니다.Another device is connected to a USB port on the host. 일부 경우에는 호스트의 USB 포트에 연결 된 다른 장치가 USB 모드에서 디버깅을 방해 하는 것으로 알려져 있습니다.In a few cases other devices connected to the USB ports on the host have been known to somehow interfere with debugging in USB mode.

WiFi 또는 USB 모드가 작동 하지 않는 경우 다른 작업을 쉽게 시도할 수 있습니다. Mac용 Visual Studio에서 기본 설정을 열고 기본 설정/디버거/iPhone 디버거 페이지로 이동 하 고 "USB를 통해 iOS 장치를 사용 하는 대신 WiFi를 통해 iOS 장치 디버그" 확인란을 선택/해제 합니다.If either WiFi or USB mode does not work, you can easily try the other: in Visual Studio for Mac, open the Preferences, go to the Preferences/Debugger/iPhone Debugger page, and toggle the "Debug iOS devices over WiFi instead of over USB" checkbox. 작동 하지 않는 경우 자세한 정보 표시 모드에서 장치 콘솔의 오류에 대 한 자세한 정보를 볼 수 있습니다 .이는 프로젝트 옵션의 추가 mtouch 인수에 "-v-v-v"를 추가 하 여 활성화 됩니다.If neither works, you can see more information about the failure in the device console in verbose mode (which is enabled by adding "-v -v -v" to the additional mtouch arguments in the project's options).

오류 134: 다음 메시지와 함께 mtouch가 실패 했습니다.Error 134: mtouch failed with the following message:

이 오류는 버전의 Xamarin.ios 1.4 스타일에서-nolink를 사용 하 여 빌드하려고 할 때 발생할 수 있습니다.This error could be raised if you are trying to build with -nolink on the Xamarin.iOS 1.4 style of releases. Monodevelop 프로젝트 구성에서 추가 인수를 지정 하 여이 오류를 해결할 수 있습니다.You can work around this error by specifying Extra Arguments in your monodevelop project configuration.

인수 추가Add the argument

-nosymbolstrip

문제를 해결 해야 합니다.and the problem should be resolved.

배포 id는 Mac용 Visual Studio 프로젝트 서명 옵션에 표시 되지 않습니다.Distribution identity is not shown in Visual Studio for Mac project signing options

Mac용 Visual Studio 2.2에는 쉼표를 포함 하는 배포 인증서를 검색 하지 않는 버그가 있습니다.Visual Studio for Mac 2.2 has a bug that causes it not to detect distribution certificates that contain a comma. Mac용 Visual Studio 2.2.1로 업데이트 하세요.Please update to Visual Studio for Mac 2.2.1.

업로드 중 "AFCFileRefWrite 반환 됨: 1" 오류Error "AFCFileRefWrite returned: 1" during upload

장치에 앱을 업로드 하는 동안 "AFCFileRefWrite 반환 됨: 1" 오류가 표시 될 수 있습니다.While uploading an app to your device you may receive an Error "AFCFileRefWrite returned: 1". 길이가 0 인 파일이 있는 경우이 문제가 발생할 수 있습니다.This can happen if you have a zero-length file.

"Mtouch가 출력 없이 실패 했습니다." 오류Error "mtouch failed with no output"

솔루션 또는 프로젝트를 저장 하는 프로젝트 이름이 나 디렉터리에 공백이 포함 되어 있으면 최신 버전의 Xamarin.ios 및 Mac용 Visual Studio가 실패 합니다.The current release of Xamarin.iOS and Visual Studio for Mac fail when the project name or the directory where the solution or project are stored contain spaces. 이 문제를 해결하려면To fix this:

  • 프로젝트 또는 저장 된 디렉터리에 공간이 포함 되어 있지 않은지 확인 합니다.Make sure that neither your project or the directory where it is stored contains a space.
  • 프로젝트 "기본 설정"에서 프로젝트 이름에 공백이 포함 되어 있지 않은지 확인 합니다.In your project "Main Settings" make sure that the Project Name does not contain any spaces.

"업로드 한 이진 파일이 잘못 되었습니다.Error "The binary you uploaded was invalid. SDK의 시험판 베타 버전이 응용 프로그램을 빌드하는 데 사용 되었습니다. "A pre-release beta version of the SDK was used to build the application"

이 오류는 일반적으로 Xamarin. iOS 2.0.0을 출시 하기 전에 iPad 개발에서 시작 된 프로젝트에 발생 합니다. info.plist와 같은 몇 가지 키가 있을 가능성이 높습니다.This error is usually caused with a project that was started in iPad development before Xamarin.iOS 2.0.0 was released, you likely have some keys in your Info.plist like:

<key>UIDeviceFamily</key>
       <array>
               <string>1</string>
       </array>

이 키 쌍은 Mac용 Visual Studio 자동으로 처리할 수 있으므로 제거 해야 합니다.This keypair should be removed as Visual Studio for Mac handles it for you automatically.

"SDK의 시험판 베타 버전이 앱을 빌드하는 데 사용 되었습니다." 오류Error "A pre-release beta version of the SDK was used to build the app"

(Ed Anuff에서 기여)(Contributed by Ed Anuff)

아래 단계를 수행합니다.Follow these steps:

  • IPhone 빌드에서 SDK 버전을 3.2 또는 iTunes connect로 변경 하면 3.2 보다 작은 SDK 버전을 사용 하 여 빌드된 iPad 호환 앱이 표시 되기 때문에 업로드가 거부 됩니다.Change the SDK version in iPhone Build to 3.2 or iTunes connect will reject it on upload because it is seeing an iPad compatible app built using an SDK version less than 3.2
  • 프로젝트에 대 한 사용자 지정 info.plist을 만들고이를 명시적으로 3.0에 설정 합니다.Create a custom Info.plist for the project and explicitly set MinimumOSVersion to 3.0 in it. 이렇게 하면 Xamarin.ios로 설정 된 이상 값 Osversion 3.2 값이 재정의 됩니다.This will override the MinimumOSVersion 3.2 value set by Xamarin.iOS. 이 작업을 수행 하지 않으면 iPhone에서 앱을 실행할 수 없게 됩니다.If you do not do this, the app will not be able to run on an iPhone.
  • ITunes connect에 다시 빌드하고 zip을 업로드 하 고 업로드 합니다.Rebuild, zip and upload to iTunes connect.

처리 되지 않은 예외: someSelector: {type}에서 선택기를 찾지 못했습니다.Unhandled Exception: System.Exception: Failed to find selector someSelector: on {type}

이 예외는 다음 세 가지 중 하나로 인해 발생 합니다.This exception is caused by one of three things:

  1. 해당 [Export] 특성을 메서드에 적용 하지 않고 목표-C 런타임에 대 한 선택기를 제공 했습니다.You have provided a Selector to the Objective-C runtime without applying the corresponding [Export] attribute to a method
  2. 전체 링크를 사용 하도록 설정 하 고 [Export] 특성을 [Export] ed 메서드에 적용 하지 않았습니다.You have enabled full linking and not applied the [Preserve] attribute to the [Export]ed method.
  3. [Export] 특성을 상속 된 형식의 private 메서드에 적용 했습니다.You have applied the [Export] attribute to a private method in an inherited type.

MainWindow.xib.designer.cs 파일이 업데이트 되지 않았습니다.MainWindow.xib.designer.cs file is not updated

Xamarin Studio 2.4에는 xib 파일을 새 프로젝트의 xib 파일로 그룹화 하지 않는 버그가 있었습니다.There was a bug in Xamarin Studio 2.4 that caused it not to group the MainWindow.xib file with the MainWindow.xib.designer file in new projects. 이는 특정 파일에 대 한 디자이너 코드를 업데이트 하지 않는 것을 의미 합니다.This meant it would not update the designer code for that particular file.

이 문제는 기본 제공 되는 업데이트 프로그램에서 사용할 수 있는 Mac용 Visual Studio 버전에서 해결 되었으므로 최신 버전을 사용 하 고 있는지 확인 하세요.This issue is fixed in the version of Visual Studio for Mac that's available in its built-in updater, so please ensure you use the newer version.

Xib 및 해당 디자이너 파일을 제거 (삭제 하지 않음) 한 후 다시 추가 하 여 기존 프로젝트를 수정할 수 있습니다.You can fix existing projects by removing (not deleting) the xib and its designer file, then adding it back. 이렇게 하면 파일을 올바르게 그룹화 해야 합니다.This should re-group the files correctly.

UIAlertView 또는 Uialertview를 만든 후에는 표시 되지 않습니다.UIAlertView or UIActionSheet vanish after being created

다음과 같은 코드를 사용할 수 있습니다.If you have some code like this:

var actionSheet = new UIActionSheet ("My ActionSheet", null, null, "OK", null){
   Style = UIActionSheetStyle.Default
};

actionSheet.Clicked += delegate (sender, args){
    Console.WriteLine ("Clicked on item {0}", args.ButtonIndex);
};

"actionSheet" 개체는 함수에서 임시 변수로, 함수가 종료 되는 즉시 개체는 가비지 수집에 적합 하므로 가비지 수집 됩니다.the "actionSheet" object lives as a temporary variable in the function and as soon as the function terminates, the object is eligible for garbage collection, so it ends up being garbage collected.

이 문제를 해결 하려면 메서드 외부에 있는 "actionSheet"에 대 한 참조를 메서드 밖으로 유지 해야 합니다.To fix this problem, you need to keep a reference to "actionSheet" outside your method, somewhere that will live beyond your method.

프로젝트는 항상 iPad 시뮬레이터에서 실행 됩니다.Project Always Runs in the iPad Simulator

IPhone SDK 4.0 설치 관리자는 iPad 전용 앱을 빌드하기 위한 3.2 SDK와 iPhone 및 유니버설 앱을 빌드하는 데 사용 되는 4.0 SDK의 2 개 Sdk를 설치 합니다.The iPhone SDK 4.0 installer installs 2 SDKs - the 3.2 SDK, for building iPad-only apps, and the 4.0 SDK, used for building iPhone and Universal apps. 또한 iPad만 시뮬레이트하는 3.2 시뮬레이터와 iPhone 또는 iPhone 4를 시뮬레이트하는 4.0 시뮬레이터를 설치 합니다.It also installs a 3.2 simulator, which simulates only an iPad, and a 4.0 simulator that simulates iPhone or iPhone 4. 모든 이전 Sdk 및 시뮬레이터 제거 됩니다.All older SDKs and simulators are removed.

Mac용 Visual Studio iPhone 프로젝트 빌드 옵션에는 앱을 빌드하는 데 사용 되는 SDK 버전에 대 한 설정이 포함 됩니다.Visual Studio for Mac iPhone project build options include a setting for the SDK version that will be used in building your app. 이 설정은 프로젝트 옵션-> 빌드-> IPhone 빌드에서 찾을 수 있습니다.This setting can be found in Project Options->Build->iPhone Build.

Mac용 Visual Studio의 새 프로젝트는 가장 오래 설치 된 sdk를 기본 SDK 설정으로 사용 합니다. 지정 된 SDK가 없는 경우에는 찾을 수 있는 가장 가까운를 사용 하 여 앱을 빌드합니다 Mac용 Visual Studio.New projects in Visual Studio for Mac use the oldest installed SDK as their default SDK setting, and if the SDK specified does not exist, Visual Studio for Mac will use the closest it can find to build your app. 이렇게 하면 프로젝트에서 항상 최신 SDK가 필요 하지 않습니다.This was done so that projects would not always require the newest SDK. 그러나 현재이로 인해 3.2 SDK가 사용 되며,이로 인해 iPad 시뮬레이터가 사용 됩니다.However, this currently results in the 3.2 SDK being used - which results in the iPad simulator being used.

4.0 SDK를 사용 하 여이 문제를 해결 하려면 프로젝트 옵션-> 빌드-> IPhone 빌드>로 이동 하 고 드롭다운 상자를 사용 하 여 SDK 값을 "4.0"로 변경 합니다.To fix this by using the 4.0 SDK, go to Project Options->Build->iPhone Build> and change the SDK value to "4.0" using the dropdown box. 패널 위쪽의 드롭다운을 사용 하 여 액세스 하는 각 구성 및 플랫폼 조합에 대해이 작업을 수행 해야 합니다.You must do this for each configuration and platform combination, accessed using the dropdowns at the top of the panel.

SDK 버전은 "최소 OS 버전" 설정과 혼동 해서는 안 됩니다.The SDK version should not be confused with the "Minimum OS version" setting. 이 값은 SDK 버전 값과 일치 하지 않아도 됩니다. 앱이 설치 하는 OS의 최소 버전에 영향을 줍니다. 이전 OS에 있는 Api만 사용 하거나 런타임 OS 버전 백업의을 사용 하 여 새로운 기능을 사용 하는 경우 SDK 보다 오래 될 수 있습니다. k.This value does not have to match the SDK version value - it affects the minimum version of the OS your app will install on, which can be older than the SDK, as long as you use only APIs that exist in the older OS, or guard use of newer features using runtime OS version checks. 앱을 테스트 하는 가장 오래 된 OS 버전으로 설정 해야 합니다.You should set it to the oldest OS version on which you test your app.

프로젝트를 실행 하거나 디버그할 때 기본적으로 사용 되는 시뮬레이터를 선택 하는 데에는 프로젝트 > IPhone 시뮬레이터 대상> 메뉴를 사용할 수 있습니다.Note also that the Project->iPhone Simulator Target> menu can be used to pick the simulator that is used by default when running/debugging a project. 또한 > 메뉴에서 실행 > 실행을 사용 하 여 실행할 특정 시뮬레이터를 선택할 수 있습니다.Additionally, the Run->Run With> menu can be used to pick a specific simulator with which to run

ibtool는 오류 133를 반환 합니다.ibtool returns error 133

이는 XCode 4가 설치 되어 있음을 의미 합니다.This means that you have XCode 4 installed. XCode 4에서는 ibtool 도구가 제거 되었으므로 독립 실행형 도구를 사용 하 여 XIB 파일을 더 이상 편집할 수 없습니다.In XCode 4, the tool ibtool was removed, it is no longer possible to edit your XIB files with a standalone tool.

Interface Builder를 사용 하려면 Apple 웹 사이트에서 사용할 수 있는 XCode 시리즈 3을 설치 합니다.If you want to use Interface Builder, install XCode series 3, available from Apple's web site.

"Mime 형식에 대 한 표시 바인딩을 만들 수 없음: application/vnd. apple-interface-builder""Can't create display binding for mime type: application/vnd.apple-interface-builder"

이 오류는 iPhone 이외의 프로젝트에서 iPhone UI를 만들려고 할 때 발생 합니다.This error happens if you try to create an iPhone UI from a non-iPhone project. Iphone/iPad 솔루션으로 시작 해야 하며 iphone/iPad가 아닌 프로젝트에 iPhone UI 요소를 추가할 수는 없습니다.Make sure that you start with an iPhone/iPad solution, it is not possible to just add iPhone UI elements to a non-iPhone/iPad project.

IOS 시뮬레이터 내에서 실행할 때 시작 충돌Startup crash when executing inside the iOS simulator

다음과 같은 스택 추적과 함께 시뮬레이터 내에서 런타임 충돌 (SIGSEGV)을 가져옵니다.If you get a runtime crash (SIGSEGV) inside the simulator along with a stack trace that looks like this:

  at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes (System.Reflection.Assembly,bool)
  at MonoTouch.ObjCRuntime.Runtime.RegisterAssembly (System.Reflection.Assembly)
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr)

... 그러면 시뮬레이터 응용 프로그램 디렉터리에 하나 이상의 부실 어셈블리가 있을 것입니다....then you probably have one (or more) stale assembly in your simulator application directory. Apple iOS 시뮬레이터는 파일을 추가 하 고 업데이트 하지만 삭제 하지 않으므로 이러한 어셈블리가 있을 수 있습니다.Such assemblies may exists since Apple iOS simulator adds and updates files but never deletes them. 이 경우 가장 쉬운 솔루션은 "다시 설정 및 콘텐츠 및 설정 ..."을 선택 하는 것입니다. 시뮬레이터 메뉴에서.If this happens then the easiest solution is to select "Reset and Content and Settings..." from the simulator menu.

경고

그러면 시뮬레이터에서 모든 파일, 응용 프로그램 및 데이터가 제거 됩니다.This will remove all files, applications and data from the simulator. 다음 번에 응용 프로그램을 실행할 때 Mac용 Visual Studio는 시뮬레이터에 배포 하 고 크래시를 발생 시킬 오래 된 오래 된 어셈블리가 없게 됩니다.Next time you execute your application, Visual Studio for Mac will deploy it into the simulator and there will be no old, stale assembly to cause the crash.

응용 프로그램 설치 중에 시뮬레이터가 중단 됨Simulator hangs during application installation

응용 프로그램 이름에 '. '가 포함 된 경우이 문제가 발생할 수 있습니다. 이름에 (점)입니다.This can happen when application names include a '.' (dot) in their name. 이는 다른 여러 사례 (예: 장치)에서 작동할 수 있는 경우에도 CFBundleExecutable의 실행 파일 이름으로 사용할 수 없습니다.This is forbidden as the executable name in CFBundleExecutable - even if it can works in many other cases (like devices).

* "값은 이름에 확장명을 포함 하지 않아야 합니다." - https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/InfoPlistKeyReference.pdf*"The value should not include any extension on the name."- https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/InfoPlistKeyReference.pdf

오류: xib 파일을 두 번 클릭 하면 "사용자 지정 특성 유형 0x43이 지원 되지 않습니다."Error: "Custom attribute type 0x43 is not supported" when double clicking .xib files

이 문제는 환경 변수가 잘못 설정 된 경우 xib 파일을 열려고 할 때 발생 합니다.This is caused by attempting to open .xib files when environment variables are set incorrectly. 이는 Mac용 Visual Studio/Xamarin.ios를 정상적으로 사용 하는 경우에는 발생 하지 않아야 하 고/응용 프로그램에서 Mac용 Visual Studio를 다시 여는 문제를 해결 해야 합니다.This should not happen with normal usage of Visual Studio for Mac/Xamarin.iOS, and re-opening Visual Studio for Mac from /Applications should fix the problem.

소프트웨어를 업데이트 하려고 할 때이 오류 메시지가 표시 되 면 전자 메일을 *support@xamarin.com* 하십시오.When attempting to update the software and this error message appears, please e-mail *support@xamarin.com*

응용 프로그램이 시뮬레이터에서 실행 되지만 장치에서 실패 함Application runs on simulator but fails on device

이 문제는 여러 형식으로 매니페스트 될 수 있으며 항상 일관 된 오류를 생성 하지는 않습니다.This issue can manifest in several forms, and doesn't always produce a consistent error. 응용 프로그램에. xib이 포함 된 경우 xib에 대 한 빌드 작업이 정의로 설정 되었는지 확인 합니다.If the application contains a .xib, check to make sure the Build Action on the .xib is set to InterfaceDefinition. Xib에 대 한 기본 빌드 작업입니다.This is the default build action for .xibs.

빌드 작업을 확인 하려면 xib 파일을 마우스 오른쪽 단추로 클릭 하 고 빌드 작업을 선택 합니다.To check the build action, right click on the .xib file and choose Build Action.

NotSupportedException: encoding 437에 사용할 수 있는 데이터가 없습니다.System.NotSupportedException: No data is available for encoding 437

Xamarin.ios 앱에 타사 라이브러리를 포함 하는 경우 앱을 컴파일하고 실행 하려고 할 때 "NotSupportedException: encoding 437에 사용할 수 있는 데이터가 없습니다." 라는 형식의 오류가 발생할 수 있습니다.When including 3rd party libraries in your Xamarin.iOS app, you might get an error in the form "System.NotSupportedException: No data is available for encoding 437" when trying to compile and run the app. 예를 들어 Ionic.Zip.ZipFile와 같은 라이브러리는 작업 중에이 예외를 throw 할 수 있습니다.For example, libraries, such as Ionic.Zip.ZipFile, may throw this exception during operation.

이는 Ios 빌드 > 국제화 로 이동 하 고 서 부 국제화를 확인 하 여 xamarin.ios 프로젝트에 대 한 옵션을 열어 해결할 수 있습니다.This can be solved by opening the options for the Xamarin.iOS project, going to iOS Build > Internationalization and checking the West internationalization.