我今天尝试在我的Xcode项目中切换架构,因为我即将使用尚未移植到64位的低级QuickTime东西。当我在x86_64之前编译时,我的应用运行得很好。然后我将拱门切换到i386并且繁荣,我的应用程序在启动时不断崩溃。
奇怪的是,堆栈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
有什么想法吗?
答案 0 :(得分:3)
我的猜测是你在nib中创建了32位模式下不安全的对象。例如,您可能会假设某些对象的大小不正确,例如,使用double而不是CGFloat或int64_t而不是NSInteger。