Я новичок в Xcode, и у меня возникают проблемы с сбоем IDE при использовании Interface Builder. Это Xcode 4.5.
Он работал достаточно долго, чтобы я мог добавить дюжину или около того кнопок в раскадровку - но когда я пытаюсь изменить размер любого из них, он выходит из строя и завершает работу. Если я нажму кнопку, она сработает. Если я добавляю новый объект, например метку, он иногда сбой, но не всегда.
Если я не пытаюсь редактировать раскадровку, проект не будет создавать и запускать на симуляторе.
Я вставил, что похоже на соответствующую часть отчета о сбое ниже. Чтобы сэкономить место, я удалил все из раздела "иерархия представлений" вниз, но я могу добавить его, если он будет полезен. Все отчеты о сбоях относятся к той же ошибке.
Интересно, когда я смотрю на журнал Console, перед каждым из этих сбоев появляется еще один отчет от Interface Builder:
25/09/2012 10:46:35.661 Interface Builder Cocoa Touch Tool: CFPreferences:
user home directory at file://localhost/Users/me/Library/Application Support/
iPhone Simulator/User/ is unavailable. User domains will be volatile.
Правильно - этот каталог не существует. У меня есть iPhone Simulator/6.0, но больше ничего. Я зарегистрирован как пользователь в этом пути.
Основываясь на других предложениях по переполнению стека и в других местах, я пробовал очистить сборку, а затем удалил весь каталог iPhone Simulator и позволил симулятору воссоздать его, но это не имеет никакого значения.
В качестве эксперимента я только что создал новый проект и перетащил несколько кнопок и ярлыков в раскадровку. Это кажется прекрасным. Нет сбоев.
Означает ли это, что что-то испортилось в моем другом проекте?
Любые предложения были бы очень желанными. Это не важный проект - я изучаю свой путь на этом этапе, но если что-то вызывает проблемы, я хочу разобраться, прежде чем начать серьезную работу в Xcode.
Спасибо заранее.
Джеймс
Process: Xcode [650]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 4.5 (1839)
Build Info: IDEApplication-1839000000000000~3
App Item ID: 497799835
App External ID: 10747437
Code Type: X86-64 (Native)
Parent Process: launchd [129]
Date/Time: 2012-09-25 10:46:43.202 +0100
OS Version: Mac OS X 10.7.5 (11G56)
Report Version: 9
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 4G182
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details: Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUILabel, IBUIView, and IBUIViewController.
Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their content in your crash report.
Exception name: IBAssertionFailure
Exception reason: ASSERTION FAILURE:
Reason: All views needing candidate constraints have already had constraints generated. This most likely indicates a bug involving layout of the following views:
Layout engine frame ({{20, 60}, {282, 57}}) of <UILabel: 0xb36f590; frame = (20 60; 281 57); text = '0'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0xb36f620>> does not match canvas frame ({{20, 60}, {281, 57}})
Layout engine frame ({{236, 328}, {66, 43}}) of <UIRoundedRectButton: 0xb384590; frame = (236 328; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb384660>> does not match canvas frame ({{236, 328}, {65, 43}})
Layout engine frame ({{236, 124}, {66, 43}}) of <UIRoundedRectButton: 0xb38ea10; frame = (236 124; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb38eae0>> does not match canvas frame ({{236, 124}, {65, 43}})
Layout engine frame ({{236, 175}, {66, 43}}) of <UIRoundedRectButton: 0xb390a30; frame = (236 175; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb36e8e0>> does not match canvas frame ({{236, 175}, {65, 43}})
Layout engine frame ({{236, 226}, {66, 43}}) of <UIRoundedRectButton: 0xb392a90; frame = (236 226; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb392b60>> does not match canvas frame ({{236, 226}, {65, 43}})
Layout engine frame ({{236, 277}, {66, 43}}) of <UIRoundedRectButton: 0xb394b70; frame = (236 277; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb394c40>> does not match canvas frame ({{236, 277}, {65, 43}})