1

さて、私は電話ギャップにかなり慣れていません。先日、Xcode バージョン 4.2 を搭載した MAC OSX 10.7.1 にインストールしました。

  • まず、Xcode に電話ギャップ アプリケーションを作成するオプションが表示されませんでした。ただし、ターミナルを使用して実現できます。(後で知ったのですが、おそらくこのバージョンではそうです)。
  • 次に、このチュートリアルに従い、プラグインを追加しようとしました。コンパイルすると、致命的なエラーが発生します。'CDVPlugin.h' file not found. しかし、私はCordovalib.xcodeprojでそれを見ることができました

NativeControls.h

#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif

誰でも私が間違っていることを指摘できますか?CDVPlugin.h と関連ファイルを再度追加する必要がありますか?

4

2 に答える 2

1

ファイルNativeControls.hNativeControls.m次の両方を変更した後、コンパイルは機能しました。

変更NativeControls.h:

//
// NativeControls.h
//
//
// Created by Jesse MacFadyen on 10-02-03.
// MIT Licensed

// Originally this code was developed my Michael Nachbaur
// Formerly -> PhoneGap :: UIControls.h
// Created by Michael Nachbaur on 13/04/09.
// Copyright 2009 Decaf Ninja Software. All rights reserved.

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <UIKit/UITabBar.h>
#import <UIKit/UIToolbar.h>

//#ifdef PHONEGAP_FRAMEWORK
#import <Cordova/CDVPlugin.h>
//#else
//#import "CDVPlugin.h"
//#endif

@interface NativeControls : CDVPlugin <UITabBarDelegate, UIActionSheetDelegate> {
    UITabBar* tabBar;
    NSMutableDictionary* tabBarItems;

    UIToolbar* toolBar;
    UIBarButtonItem* toolBarTitle;
    NSMutableArray* toolBarItems;

    CGRect  originalWebViewBounds;
}

/* Tab Bar methods
 */
- (void)createTabBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)showTabBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)hideTabBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)showTabBarItems:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)createTabBarItem:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)updateTabBarItem:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)selectTabBarItem:(NSArray*)arguments withDict:(NSDictionary*)options;



/* Tool Bar methods
 */
- (void)createToolBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)resetToolBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)setToolBarTitle:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)createToolBarItem:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)showToolBar:(NSArray*)arguments withDict:(NSDictionary*)options;
- (void)hideToolBar:(NSArray*)arguments withDict:(NSDictionary*)options;
/* ActionSheet
 */
- (void)createActionSheet:(NSArray*)arguments withDict:(NSDictionary*)options;


@end

ファイルの変更NativeControls.m: 22 行目で、次のように変更PGPluginします。CDVPlugin

これが役立つことを願っています。

于 2012-09-12T10:36:46.920 に答える
1

Cordova 2.1 (のみ) では、特定の PushNotification プラグインの if/else をコメントアウトするだけで、このエラーを回避できました。

#import <Foundation/Foundation.h>
//#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
//#else
//#import "CDVPlugin.h"
//#endif
#import <EventKitUI/EventKitUI.h>
#import <EventKit/EventKit.h>
于 2012-10-31T17:39:27.227 に答える