2017-12-23 8 views
0

필자가 쓰는 응용 프로그램에 CocoaAsyncSocket 라이브러리를 사용하고 있습니다. 내 장치에서 컴파일하고 실행할 때 문제가 없으며 Xcode가 CocoaAsyncSocket을 찾을 수 있습니다.Xcode가 CocoaPods 모듈을 찾지 못했습니다

그러나 내가 아카이브하려고하면 컴파일되지 않고 모듈 CocoaAsyncSocket을 찾을 수 없다는 오류 메시지가 나타납니다.

다른 아키텍처와 관련이 있다는 것을 알게되었습니다. 내 장치 용으로 "arm64"용 건물과 arm64 용 건물을 보관할 때 armv7armv7s을 만들 때 arm64에 대해서만 빌드하도록 빌드 설정을 변경하면 보관할 수 있습니다. 물론 모든 아키텍처에서 사용할 수 있기를 원합니다. 아래 그림은 arm64 (내 경우)에만 건물이있는 경우의 설정을 표시합니다.

Build Active Architecture Only: Yes

enter image description here

이 라이브러리 또는 다른 Cocoapod 라이브러리와 다른 사람의 경험과 유사한 문제가있다?

답변

1

많은 개발자들이 임박한 64 비트 미래를 수용했지만 아직 모든 타사 라이브러리가 CocoaPods을 통해 설치할 수있는 라이브러리를 포함하여이 아키텍처를 지원하지는 않습니다.

타사 포드 사이에서 보편적 인 64 비트 지원이 부족하지만 CocoaPod는 생성 된 타겟의 빌드 설정에 arm64 아키텍처 (ARCHS_STANDARD_INCLUDING_64_BIT 통해)를 계속 포함합니다. 앱의 의존성이 arm64를 지원하지 않거나 다른 이유로 armv7 및 armv7 만 빌드하려는 경우 문제가 발생할 수 있습니다.

당신은 ARCHS_STANDARD로 설정 ARCHS 빌드를 되돌릴이 그냥 Podfile의 맨 아래에 다음을 추가 해결할 수

:

# Remove 64-bit build architecture from Pods targets 
post_install do |installer| 
    installer.project.targets.each do |target| 
    target.build_configurations.each do |configuration| 
     target.build_settings(configuration.name)['ARCHS'] = '$(ARCHS_STANDARD_32_BIT)' 
    end 
    end 
end 

참고 :

CocoaPods Troubleshooting Guide이의 디버그 설정을 일치하는 것이 좋습니다 당신의 포드의 빌드 액티브 아키텍처 만 바꾸는 대신 Xcode 프로젝트를 사용하십시오. 일치하는 한 문제를 해결하는 것 같습니다.

:

또는

당신은 명령을 사용하여 터미널에서 cocoapods를 업데이트 시도 할 수 있습니다 만 예에서 호에 액티브 아키텍처를 구축

  • 변경 포드 프로젝트를 선택

    gem update cocoapods

    그 후에도 작동하지 않으면 작업 영역으로 가서 포드 프로젝트를 클릭하고 모든 포드 대상을 선택하고 아키텍처를 (armv7 armv7s arm64)으로 설정하십시오.

  • 관련 문제