【发布时间】:2011-07-21 04:25:55
【问题描述】:
我的项目适用于除 SDK 4.0 之外的 iphone/ipad sdk。
它会因愚蠢的Program received signal: “SIGABRT”. 而崩溃
我已激活 NSZombie,调试所有行,但没有。
调试器在 main.m 中 main() 之前崩溃,我无法解决问题。
这是 main.h:
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
[pool release];
return retVal;
}
...这是 AppDelegate:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
这是我的视图控制器:)
- (void) viewDidLoad {
[super viewDidLoad];
}
此应用使用外部库作为 libz.dylib 和 自定义静态库 myLib.a。
使用所有这些框架:
- QuartCore
- CFNetwork
- CoreLocation
- UIKit
- Foundation
- CoreGraphics
- SystemConfiguration
有解决此问题的已知问题吗?
我不明白这是什么原因...
有什么想法吗?
谢谢。
【问题讨论】:
-
某事告诉我自定义静态库可能与它有关。当然,您显示的代码不会崩溃..
-
@MiRAGe 嗯...我也认为这是静态库的问题...但我正在调查。
-
尝试在 Iphone 模拟器中重置内容和设置菜单选项。还将 sdk 更新到最新版本。
-
什么是 myLib.a ? Objective-C、C++ 或 C 库?你的班级有
+ (void)initialize方法吗?我的主要猜测是动态链接器想要解析 iOS SDK 4.0 上缺少的符号。 -
动态链接器有一些神奇的变量,列表见TN2239。你可以像设置
NSZombieEnabled一样设置它们。
标签: iphone ipad ios4 sigabrt nszombie