У меня есть расстраивающая проблема с последней версией Шквала (Шквал iPhone SDK v2.5). Когда я запускаю свое приложение, быстро выхожу, затем перезапускаю Приложение, приложение кратко загружается, мерцания черный экран, затем остается на черном экране. Черный экран остается там, пока я не нажимаю кнопку "Домой", в которой точке я могу обычно перезапускать приложение. Я изучил это далее, и оказывается, что делегаты состояния приложения становятся позвонившими в неправильном порядке:
Таким образом, то, что я думаю, что это означает, является некоторыми процессами, берут немного дольше для оборачивания, после того как я нажал кнопку "Домой", и если я пытаюсь запустить приложение снова слишком быстро существует некоторое очень нечетное поведение. Если я ожидаю несколько секунд для перезапуска приложения, приложение обычно ведет себя.
Для демонстрации этой проблемы я создал самое простое приложение, о котором я мог думать, который я отправлю здесь. Я создал это с XCode 3.2.3 в этих 4,0 сборках непосредственно на мое устройство iPhone (iphone 4). Это важно, потому что я не мог воспроизвести эту проблему на средстве моделирования. Можно воспроизвести это приложение путем создания нового основанного на навигации проекта, названного simpleApp и отбрасывания этого кода в, с собственным ключом API Шквала, конечно. Вот simpleAppAppDelegate.m:
#import "simpleAppAppDelegate.h"
#import "RootViewController.h"
#import "FlurryAPI.h"
@implementation simpleAppAppDelegate
@synthesize window;
@synthesize navigationController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FlurryAPI startSession:@"<your api key here>"];
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
printf("applicationWillResignActive\n");
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
printf("applicationDidEnterBackground\n");
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
printf("applicationWillEnterForeground\n");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
printf("applicationDidBecomeActive\n");
}
- (void)applicationWillTerminate:(UIApplication *)application {
printf("applicationWillTerminate\n");
}
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}
- (void)dealloc {
[navigationController release];
[window release];
[super dealloc];
}
@end
И вот simpleAppAppDelegate.h:
#import <UIKit/UIKit.h>
@interface simpleAppAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@end
Так так или иначе, потому что столько приложений использует Шквал, я чувствую, что должен пропускать что-то очень простое. То, что действительно поражает, - то, что я не нашел никого при всей жалобе на эту конкретную проблему. Кроме того, это отличается от проблемы в предыдущих версиях, где приложение, казалось бы, сразу запустилось бы, почернело бы в течение нескольких секунд, затем возобновлялось бы обычно. Та проблема была решена путем вызова [FlurryAPI setSessionReportsOnCloseEnabled:false]; после того, как я установил сессию, но это не помогает в этом случае.
Так или иначе у кого-либо еще была эта проблема? Я действительно надеюсь, что это - просто глупая ошибка с моей стороны. Я действительно счастлив использовать Шквал, но что-то вроде этого заставило бы мое приложение быть отклоненным.
Я не уверен, следует ли мне отвечать на свой вопрос в комментарии к исходному сообщению или публиковать ответ, но в любом случае вот ответ:
Flurry не работает, это было подтверждено другими в этой ветке форума разработчиков Apple (для входа вам нужна учетная запись): https://devforums.apple.com/thread/56339?tstart=0
Надеюсь, Flurry скоро выпустит новую версию, я ' Мне бы очень хотелось включить их предложения в свое приложение.
Мы только что выпустили новую версию iPhone Flurry SDK, которая должна решить эту проблему. Загрузите этот новый SDK и сообщите нам, решит ли он проблему, с которой вы столкнулись.
- С уважением,
-Шейла
Flurry Support
Я написал Flurry об этом, и они очень быстро ответили мне, что рассмотрят этот вопрос. Примерно через неделю они ответили и сказали, что исправили это в версии 2.6, которая уже доступна. Я больше не могу воспроизвести эту проблему.
Не хочу сказать, что я крут или что-то в этом роде, но я как бы в одиночку исправил эту ошибку.