アプリケーションがクラッシュします。月に2回しかクラッシュしていないため、クラッシュの原因が何であるかについての手がかりはありません。また、デバイス ログに次のメッセージが見つかりました。
8 月 3 日 11:26:28 不明な SpringBoard[15]: com.xyz.abe が時間内に起動できませんでした
8 月 3 日 11:26:28 不明な SpringBoard[15]: abc[392] の強制クラッシュ レポート...
8 月 3 日 11:26:28 不明 SpringBoard[15]: クラッシュ レポートを終了しました。
8 月 3 日 11:26:28 不明な com.apple.launchd[1]: (UIKitApplication:com.xyz.abe[0x8558]) 終了: 終了: 9
8 月 3 日 11:26:28 不明な SpringBoard[15]: アプリケーション 'abc' がシグナル 9 で異常終了しました: 強制終了: 9 Aug 3 11:26:28 不明な ReportCrash[393]: クラッシュ レポートを /var/mobile/Library/Logs に保存しました/CrashReporter/abc_2012-08-03-112628_DeviceName.plist uid を使用: 0 gid: 0、synthetic_euid: 501 egid: 0
Web を検索したところ、これは "applicationDidFinishLaunchingWithOptions:" で重い処理を行っていることが原因であることがわかりました。私のコードを確認して、コードの何が問題なのか教えてください。
ありがとう!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
CGRect frame = [[UIScreen mainScreen] bounds];
self.window = [[UIWindow alloc] initWithFrame:frame];
britenessView = [[UIView alloc] initWithFrame:frame];
britenessView.userInteractionEnabled = NO;
britenessView.backgroundColor = [UIColor blackColor];
britenessView.alpha = 0.0;
StoreIPad *viewController = [[StoreIPad alloc] init];
nav = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window addSubview:nav.view];
[self.window addSubview:britenessView];
[self.window makeKeyAndVisible];
return YES;}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
//iniatializing inAppPurchase
InAppPurchase *inAppManager = [InAppPurchase sharedManager];
inAppManager.inappDelegate = self;
subscriber = FALSE;
}
return self;}
+ (InAppPurchase *)sharedManager{ // InAppPurchase sharedManager
@synchronized(self)
{
if (!_sharedInstance)
{
_sharedInstance = [[self alloc] init];
}
}
return _sharedInstance;}-(id)init{ // InAppPurchase init
self = [super init];
if (self)
{
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
isRestoring = NO;
arrTransactions = [[NSMutableArray alloc] init];
}
return self;}