Вопрос

Я попробовал коммуникационные архитектуры в моем проекте Xcode сегодня, потому что я собирался использовать низкий уровень Quicktime, которые еще не портированы на 64 бит. Когда я скомпилировал раньше на X86_64, мое приложение прошло нормально. Затем я переключил арку на i386 и Boom, мое приложение продолжает падать на запуск.

Странная вещь в том, что стек Tracke не имеет ничего общего с моим собственным кодом.

#0  0x9929ebf1 in __CFBasicHashDeallocate
#1  0x99286ea1 in _CFRelease
#2  0x992b397d in _CFAutoreleasePoolPop
#3  0x917d1dda in NSPopAutoreleasePool
#4  0x92b67bc9 in loadNib
#5  0x92b66f99 in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
#6  0x92b66eaa in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
#7  0x92b66df5 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#8  0x92b63bf9 in NSApplicationMain
#9  0x000023c8 in main at main.m:13

Любые идеи?

Это было полезно?

Решение

Я думаю, что вы создали объекты в NIB, которые не безопасны в 32-битном режиме. Например, вы можете делать предположения о размере некоторого объекта, который не соответствует действительности, например, с использованием двойного вместо CGFloat или INT64_T вместо Nsinteger.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top