2013-03-07 3 views
6

예외입니다.xcode 스토리 보드 - ibtoold 보관 취소 예외

CompileStoryboard Catwall/en.lproj/MainStoryboard.storyboard 
cd /Users/guvenozyurt/Desktop/git/catwall_ios 
setenv IBSC_MINIMUM_COMPATIBILITY_VERSION 5.1 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
setenv XCODE_DEVELOPER_USR_PATH /Applications/Xcode.app/Contents/Developer/usr/bin/.. 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text --compile /Users/guvenozyurt/Library/Developer/Xcode/DerivedData/Catwall-ghvlotdrbpzsfveimvmoxitsgpod/Build/Products/Debug-iphonesimulator/Catwall.app/en.lproj/MainStoryboard.storyboardc /Users/guvenozyurt/Desktop/git/catwall_ios/Catwall/en.lproj/MainStoryboard.storyboard --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk 


2013-03-07 17:14:26.187 ibtoold[34122:707] Exception raised while unarchiving document objects - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil/* com.apple.ibtool.errors *//Users/guvenozyurt/Desktop/git/catwall_ios/Catwall/en.lproj/MainStoryboard.storyboard: error: The document "MainStoryboard.storyboard" could not be opened. The operation couldn’t be completed. (com.apple.InterfaceBuilder error -1.) Recovery Suggestion: Check the console log for additional informat.. 

최근에 xib 파일을 삭제하고 컨트롤러 쪽에서 전체 그림을 만듭니다. 그런 다음 git에서 코드를 병합하고 충돌을 해결했습니다 (다시 3 번 재설정하고 다시 시도했습니다).

시뮬레이터를 확인했습니다. 대상 버전을 빌드하고 "복사 번들 리소스"순서를 너무 심하게 변경하려고했습니다. 아니 ! 그것은 여전히 ​​실패합니다. .

ibtoold는 물론 opensource가 아니며, 나는 거기에서 무슨 일이 일어나고 있는지 알고 있습니다. .

나는 갇혀있어 도움이 필요합니다! 감사합니다 ...

답변

8

다른 컴퓨터에서 스토리 보드에 설정된 사용자 지정 글꼴로 프로젝트를 열려고 할 때이 문제가 발생했습니다.

해당 컴퓨터 Font Book에 추가해야 할 사용자 지정 글꼴이 밝혀졌습니다.

물론 코드에서 작업하는 것도 효과가 있습니다.

+2

실제 답변입니다. –

0

방금 ​​내가이 문제를 가지고 있었고, 내가 iOS 응용 프로그램에 포함 시켰던 Storyboard 파일의 글꼴을 참조하고 있었기 때문에 발견되었습니다.

어떤 이유로 나는 일단 스토리 보드가 아닌 코드로 글꼴을 설정하면 잘 동작합니다.

0

실제로 문제는 스토리 보드였습니다. 스토리 보드에서 git merge를 되 돌리는 것이므로 xcode에서 열 수 있습니다. 그러면 git이 아닌 수동으로 참조를 제거 할 수 있습니다. 그런 다음 오류가 사라졌습니다. 마법의 IOS 세계 ..

12

이 오류에는 여러 가지 이유가있을 수 있습니다. git을 사용하여 스토리 보드를 병합 한 후에이 오류가 발생했습니다. 내 스토리 보드에는 맞춤 글꼴이 있고이 스레드를 읽은 후 (+1) 그 글꼴을 설치했습니다. 그 후에도 동일한 오류가 발생했습니다. 그런 다음 충돌이 발생한 모든 장소를 검색하여 inferredMetricsTieBreakers에있는 segue 중 하나가 스토리 보드의 어느 곳에서도 사용되지 않았 음을 발견했습니다. 나는 이것을 제거하고 XCode를 다시 시작하고 모든 것을 제자리에 되돌려 놓았습니다.

그래서 결론은 충돌이있는 모든 장소를 철저하게 방문하므로 대부분의 병합 문제를 해결할 수 있어야합니다.

-anoop

+0

게시 해 주셔서 감사합니다. 너의 길로 오는 +500 rep bounty. –

+0

더 나은 오류 메시지에 대한 버그가 열렸습니다. http://openradar.appspot.com/21262825 –

+0

@AaronBrager가 도움이 된 것을 기쁘게 생각합니다. 이런 종류의 문제가 많은 시간을 죽이면 화가납니다. – anoop4real