2018. 1. 22. 17:56

"NSAppTransportSecurity"를 추가하면 다음 에러가 납니다.

 

Invalid architecture: i386. 32-bit architectures are not supported when deployment target is 11 or later.

 

잘못된 아키텍처 : i386. 32 비트 아키텍처는 배포 대상이 11 이상인 경우 지원되지 않습니다.

 

 

1. 원인

iOS11부터는 32bit를 지원하지 않는다고 합니다.

 

 

2. 해결 방법

몇 가지 해결방법이 있는데 제가 성공한 방법은 최소 버전을 지정해 주는 것이었습니다.

 

 

2-1. 최소 버전 지정

'Info.plist'파일을 수정하여 최소 버전을 8.0으로 지정해주는 방법입니다.

그런데 그냥 'Info.plist'파일을 열면 강제로 'iOS 매니페스트 편집기'가 실행되면서 임의로 지정된 값들을 날려버리는 문제가 있습니다.

그러므로 직접 XML 편집기를 실행하여 편집해야 합니다.

 

솔루션 탐색기 > 'Info.plist'을 선택 > 오른쪽 클릭 > '다른 프로그램으로 열기' 선택 > 'XML (텍스트) 편집기'를 선택합니다.

 

 

 

 

<dict> 태그 바로 아래에 다음 값을 넣어 줍니다.

 


<key>MinimumOSVersion</key>
    <string>8.0</string>

 

 

 

아래와 같이 들어가게 됩니다.

 

 

 

2-2. 아키텍처 변경

오류의 설명대로라면 아키텍처를 변경합니다.

 

iOS 프로젝트에서 오른쪽 클릭 > 속성 > iOS 빌드 > 지원되는 아키텍처

를 'ARMv7 + ARM64'로 변경합니다.

 

 

앵?

없다?

 

왜인지는 모르겠지만 제 프로젝트에는 없습니다 ㅜㅡ

자마린(Xamarin)의 버전이 달라서 그럴 수도 있고 여러 가지 이유로 없을 수도 있습니다.

없을땐 'i386 + x86_64'로 설정합니다.

 

마무리

혹시 그 아래 있는 옵션들이 연관이 있는 걸까요?

 

 

크로스플랫폼 작업이다보니 플랫폼 자체 권한문제가 나오면 당황스럽네요.

 

 

참고 : ITブログ時々なんでもブログ - サポートされるアーキテクチャについて