2016-04-27 4 views
-3
// 
// AppDelegate.m 
// 

#import "AppDelegate.h" 
#import "MainViewController.h" 
#import "SetupViewController.h" 

#import <Cordova/CDVPlugin.h> 

#import "NSObject+Utils.h" 
#import "WebProjectSetupHelper.h" 
#import "WebProjectSetupHelperDelegate.h" 
#import "LoadingView.h" 

#import "AppDelegate.h" 
#import "MainViewController.h" 
#import "NSObject+Utils.h" 

#import "DeviceModelInfo.h" 
#import "UIDevice+System.h" 
#import "Alert.h" 

@interface AppDelegate() <WebProjectSetupHelperDelegate> 


@property (nonatomic, strong) WebProjectSetupHelper *helper; 
@property (nonatomic, strong) LoadingView *loadingView; 

@end 

@implementation AppDelegate 



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    [self createItemsWithIcons]; 

    // determine whether we've launched from a shortcut item or not 
    UIApplicationShortcutItem *item = [launchOptions valueForKey:UIApplicationLaunchOptionsShortcutItemKey]; 
    if (item) { 
     NSLog(@"We've launched from shortcut item: %@", item.localizedTitle); 
    } else { 
     NSLog(@"We've launched properly."); 
    } 

    return YES; 
} 

Я использую этот код в моем App делегата, но на линии, которая содержит «[само createItemsWithIcons];», я получаю сообщение об ошибке: «Нет видимые @interface для„AppDelegate“заявляет селектор„createItemsWithIcons“» ,Что означает «Нет видимых @interface для« App Delegate »...»?

Любая идея, что я делаю неправильно? Я пытаюсь добавить быстрые действия с 3D-касанием к моему приложению.


Обновление! У меня проблема. Теперь мой следующий вопрос из моего AppDelegate, как я могу запустить код, который находится в другом файле? В папке «www» есть файл, который заканчивается на .js. В этом файле есть код javascript, который я хочу запустить. Любые идеи о том, как вызвать этот файл?

+1

Где 'метод createItemsWithIcons'? – rmaddy

ответ

0

Вы пропустили, чтобы добавить реализацию для метода createItemsWithIcons.

https://github.com/versluis/3D-Touch/blob/master/3D%20Touch/AppDelegate.m

Если вы работаете с 3D-Touch образца, затем добавьте этот код в AppDelegate:

- (void)createItemsWithIcons { 

    // create some system icons (doesn't work) 
// UIApplicationShortcutIcon *loveIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeLove]; 
// UIApplicationShortcutIcon *mailIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeMail]; 
// UIApplicationShortcutIcon *prohibitIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeProhibit]; 

    // icons with my own images 
    UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"iCon1"]; 
    UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"iCon2"]; 
    UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"iCon3"]; 

    // create several (dynamic) shortcut items 
    UIMutableApplicationShortcutItem *item1 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"com.test.dynamic" localizedTitle:@"Dynamic Shortcut" localizedSubtitle:@"available after first launch" icon:icon1 userInfo:nil]; 
    UIMutableApplicationShortcutItem *item2 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"com.test.deep1" localizedTitle:@"Deep Link 1" localizedSubtitle:@"Launch Nav Controller" icon:icon2 userInfo:nil]; 
    UIMutableApplicationShortcutItem *item3 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"com.test.deep2" localizedTitle:@"Deep Link 2" localizedSubtitle:@"Launch 2nd Level" icon:icon3 userInfo:nil]; 

    // add all items to an array 
    NSArray *items = @[item1, item2, item3]; 

    // add this array to the potentially existing static UIApplicationShortcutItems 
    NSArray *existingItems = [UIApplication sharedApplication].shortcutItems; 
    NSArray *updatedItems = [existingItems arrayByAddingObjectsFromArray:items]; 
    [UIApplication sharedApplication].shortcutItems = updatedItems; 

} 
+0

Извините, но как мне это сделать? –

+0

Скопируйте и вставьте фрагмент кода внутри файла AppDelegate.m. –

+0

Благодарим за отзыв. После этого появилось больше проблем. Я не использую свои собственные изображения и не имею никаких динамических кнопок, только статических. Так что действительно все, что мне понадобится, это последняя группа кода и первая строка? Комментирование всего остального вызывает ошибку, это вторая строка последней группы кода. –