Xcode 6 을 사용하면 Dynamic Cocoa Frameworks
.
때문에:
시뮬레이터는 여전히
32-bit
라이브러리를 사용 합니다.-
2015 년 6 월 1 일부터 App Store에 제출 된 앱 업데이트는 64 비트 지원을 포함해야하며 iOS 8 SDK ( developer.apple.com ) 로 빌드되어야합니다.
우리는 장치와 시뮬레이터에서 프로젝트를 실행하기 위해 팻 라이브러리를 만들어야합니다. 즉, 프레임 워크에서 32 비트와 64 비트를 모두 지원합니다.
그러나 다른 프로젝트와의 향후 통합을 위해 범용 팻 프레임 워크 를 내보내는 방법 (그리고이 라이브러리를 다른 사람과 공유 하는 방법)을 찾지 못했습니다 .
재현하는 단계는 다음과 같습니다.
설정
ONLY_ACTIVE_ARCH=NO
에Build Settings
지원을 추가
armv7 armv7s arm64 i386 x86_64
로Architectures
(확실히)
- 프레임 워크를 빌드하고 Finder에서 엽니 다.
- 이 프레임 워크를 다른 프로젝트에 추가
실제 결과:
그러나 결국 장치와 시뮬레이터에서이 프레임 워크를 사용하여 한 번에 프로젝트를 실행하는 데 여전히 문제가 있습니다.
Debug-iphoneos
폴더 에서 프레임 워크를 가져 오면 장치에서 작동하고 시뮬레이터에서 오류가 발생합니다.ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
fat 파일의 아키텍처 : CoreActionSheetPicker는 다음과 같습니다. armv7 armv7s arm64
Debug-iphonesimulator
폴더 에서 프레임 워크를 가져 오면 시뮬레이터에서 작동합니다. 장치에 오류가 있습니다.ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
fat 파일의 아키텍처 : CoreActionSheetPicker : i386 x86_64
그렇다면 장치와 시뮬레이터에서 작동하는 동적 프레임 워크를 만드는 방법은 무엇입니까?
이 답변은 Xcode 6 iOS Cocoa Touch Framework 만들기-아키텍처 문제와 관련이 있지만 중복되지는 않습니다.
최신 정보:
이 사건에 대한 "더티 핵"을 찾았습니다. 아래 내 대답을 참조하십시오 . 누군가가 더 편리한 방법을 알고 있다면 알려주세요!