所以我有一个很棒的应用程序,可以在模拟器上或插入设备时完美运行.
然后,如果我创建一个IPA并将其部署在我的设备上,或使用TestFlight,甚至提交到App Store.当我尝试启动它时,应用程序将在大部分时间内崩溃.
即使没有符号化的崩溃报告也不会给我任何信息.
我已经使用过TestFlight,这样它可以帮助我找出应用程序崩溃的位置,但应用程序在TestFlight启动之前崩溃.
这是我的一些代码(main.m):
#import <UIKit/UIKit.h> #import "version3contentAppDelegate.h" int main(int argc,char *argv[]) { @autoreleasepool { return UIApplicationMain(argc,argv,nil,NSStringFromClass([version3contentAppDelegate class])); } }
和version3contentAppDelegate.m的开头:
#import "TestFlight.h" #import "version3contentAppDelegate.h" #import "RootTableViewController.h" #import "AppsFeedTableViewController.h" #import "AboutShmoopModalViewController.h" @implementation version3contentAppDelegate @synthesize window,shmoopCoreData,tabBarController; #pragma mark - #pragma mark Application lifecycle - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"applicationDidFinishLaunching"); [TestFlight takeOff:@"3f3618576288d96d598646d060a4f26a_NzUyMjEyMDEyLTAzLTI2IDE3OjIxOjQzLjgyNzQwNg"]; ...
正如您所看到的,TestFlight代码位于didFinishLaunching的开头.这意味着如果之后它会崩溃,我会在TestFlight上发布崩溃报告,我没有.
有谁会知道为什么会这样?
该项目最初是在旧的icode上开发的,用于旧的iphone,目前是一个xcode 3项目.但是我在XCode 4.3上使用iOS 5.1在设备上编程.