2014-01-29 2 views
1

Наше приложение создано для iOS с Cordova/Phonegap, и мы пытаемся добавить некоторые сторонние библиотеки для мониторинга производительности приложений. Поскольку наше приложение также использует Salesforce Hybrid SDK, мы в настоящее время не можем обновить Кордову, поэтому наша версия застряла на 2.3.0. Все сервисы, которые мы рассмотрели, требуют загрузки и инициализации их SDK в методе didFinishLaunchingWithOptions в AppDelegate.m. Например, краткие инструкции запуска для одной библиотеки выглядит следующим образом:didFinishLaunchingWithOptions метод не существует в AppDelegate.m (Cordova 2.3.0)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // other code for your app 
    // ... 
    [Crittercism enableWithAppID: @"52e9510d4002056e4300000b"]; 
} 

Я могу включать заголовочные файлы без каких-либо проблем, но метод этот должен быть не существует в AppDelegate.m, предоставленной рамки. Когда я пытаюсь добавить свой собственный метод - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions в AppDelegate.h и AppDelegate.m, контейнер Phonegap никогда не загружается, и приложение просто зависает с черным экраном. Есть ли другой способ добавить этот метод в приложение AppDelegate, или с Кордовой есть другое место, где могут быть загружены и инициализированы сторонние библиотеки, такие как криттеризм? Обновление Кордовы до новейшей версии не является вариантом. Для справки, полная реализация AppDelegate.m, что я в настоящее время является:

#import "AppDelegate.h" 

@implementation AppDelegate 

#pragma mark - App lifecycle 

+ (NSString *) startPage 
{ 
    NSString *superValue = [super startPage]; 
    return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"test"] ? @"test.html" : superValue; 
}; 

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)w { 
    return (NSUInteger)[application supportedInterfaceOrientationsForWindow:w] | (1<<UIInterfaceOrientationPortrait); 
} 
// NOTE: be sure to call all super methods you override. 

@end 

ответ

0

Просто понял, что я переопределение didFinishLaunchingWithOptions, не называя свою первоначальную реализацию, а также. Исправлено добавлением [super application:application didFinishLaunchingWithOptions:launchOptions]; к моей реализации.

Смежные вопросы