2013-06-06 5 views
3

phonegap-2.7.0에 create을 사용하여 템플릿 프로젝트를 만들었습니다. 이 프로젝트는 ARC가 아닌 것이고 ARC로 변환하려고합니다. Phonegap iOS 프로젝트에서 ARC 사용

나는 Edit -> Refractor -> Convert to Objective-C ARC선택되지 않은 libCordova.a에 ( as mentioned hereupgrade guide 2.0.0 to 2.0.1에) 가서 ARC로 변환했습니다. 모든 것이 제대로 컴파일되었지만 결국이 링커 오류가 발생합니다. 는 아키텍처 유형을 알아낼 수 없습니다 : 나는

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo 엑스 코드 4.5을 사용하고

의 : /Users/administrator/Library/Developer/Xcode/DerivedData/ServerSockPG-cbdtpihmguyehtaqenaxuqiwkpyz/Build/Intermediates/ServerSockPG.build/Debug-iphoneos/ServerSockPG.build/Objects-normal/armv7/ServerSockPG 명령

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Devel OPER는/usr/빈/리포 Pls는이 문제를 해결하는 방법에 나를 인도 종료 코드 1

실패했습니다.

+0

빌드 설정 -> 아키텍처로 이동하여 선택한 아키텍처가 armv7, armv7s인지 확인하십시오 –

답변

0

"ARC는 Xcode 4.2에서 사용할 수 있으며 상위 버전은 XCODE 6.0이며 Clang (일명 Apple LLVM 컴파일러)으로 컴파일 할 때만 사용할 수 있습니다.이 설정은"Objective-C Automatic Reference Counting "으로 충분합니다.

기존 코드를 작업하는 경우이 설정을 변경하면 엄청난 양의 오류가 발생하며 ARC는 메모리를 관리 할뿐만 아니라 사용자가 시도하는 것을 금지합니다. ARC를 사용할 때 수동으로 retain/release/autorelease를 보내는 것은 불법입니다. 일반적인 ARC가 아닌 코코아 코드는 이런 것들로 가득 차 있기 때문에 많은 오류가 발생합니다.

다행히도 Xcode는 기존 코드를 수정하십시오. 편집 -> 리팩터링 -> Objective-C ARC로 변환을 선택하면 Xcode가 코드 변환을 안내합니다. 수행 할 작업을 파악하는 데 도움이 필요한 상황이있을 수 있지만 프로세스는 대부분 자동으로 수행되어야합니다. "