iOSのアップグレード

このガイドでは、古いバージョンのCordovaからアップグレードするためにiOSプロジェクトを修正する方法について説明します。これらの指示のほとんどは、cordova CLIユーティリティより前の古いコマンドラインツールセットで作成されたプロジェクトに適用されます。CLIのバージョンを更新する方法については、コマンドラインインターフェイスを参照してください。

注意: 最新バージョンのXcodeに含まれている最新の出荷バージョンのiOS SDKを使用する必要があります。

4.xプロジェクトのアップグレード

cordova platform rm ios
cordova platform add ios

3.6.0プロジェクトから4.0.0へのアップグレード

非CLIプロジェクトの場合は、次を実行します

bin/update path/to/project

CLIプロジェクトの場合

  1. cordova CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。

  2. 既存のプロジェクトでcordova platform update iosを実行します。

3.3.0プロジェクトから3.4.0へのアップグレード

非CLIプロジェクトの場合は、次を実行します

bin/update path/to/project

CLIプロジェクトの場合

  1. cordova CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。

  2. cordova platform update iosを実行します

3.2.0プロジェクトから3.3.0へのアップグレード

非CLIプロジェクトの場合は、次を実行します

bin/update path/to/project

CLIプロジェクトの場合

  1. cordova CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。

  2. cordova platform update iosを実行します

3.1.0プロジェクトから3.2.0へのアップグレード

非CLIプロジェクトの場合は、次を実行します

bin/update path/to/project

CLIプロジェクトの場合

  1. cordova CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。

  2. cordova platform update iosを実行します

3.0.0プロジェクトから3.1.0へのアップグレード

非CLIプロジェクトの場合は、次を実行します

bin/update path/to/project

CLIプロジェクトの場合

  1. cordova CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。

  2. cordova platform update iosを実行します

iOS 7の問題

  1. index.htmlファイルのviewport metaタグからwidth=device-width, height=device-heightを削除します。(関連するバグを参照してください。)

  2. iOS 7のサポートのためにメディア、メディアキャプチャ、スプラッシュスクリーンのコアプラグインを更新します。

Xcode 5の問題

  1. Xcode 5でプロンプトが表示されたら(Issue Navigatorで)、プロジェクト設定を更新します。

  2. ビルド設定タブのビルドオプションセクションにあるC/C++/Objective-Cのコンパイラ設定を更新します。デフォルトコンパイラ (Apple LLVM 5.0)を選択します。

2.9.0からCLI(3.0.0)へのアップグレード

  1. コマンドラインインターフェイスで説明されているように、cordova CLIを使用して新しいApache Cordova 3.0.0プロジェクトを作成します。

  2. cordova platform add iosなどのように、プラットフォームをcordovaプロジェクトに追加します。

  3. プロジェクトのwwwディレクトリの内容を、作成したばかりのcordovaプロジェクトのルートにあるwwwディレクトリにコピーします。

  4. 元のプロジェクト(Resourcesなど)からネイティブアセットをコピーまたは上書きし、新しいファイルを.xcodeprojプロジェクトに追加していることを確認します。iOSプロジェクトは、platforms\iosディレクトリ内でビルドされます。

  5. config.xmlwwwディレクトリにコピーし、プラグインの定義を削除します。プラットフォームディレクトリの代わりにここで設定を変更します。

  6. cordova CLIツールを使用して、必要なプラグインをインストールします。CLIはすべてのコアAPIをプラグインとして処理するため、追加する必要がある場合があることに注意してください。3.0.0プラグインのみがCLIと互換性があります。

  7. ビルドしてテストします。

2.9.0プロジェクトから3.0.0へのアップグレード

  1. Cordova 3.0.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-3.0.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトからwww/cordova.js(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwwwディレクトリにコピーし、www/cordova.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.jsファイルを指すように更新します。

  7. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

注意: Cordova 3.0.0以降では、プラグインは事前インストールされていません。自分でインストールするには、plugmanコマンドラインユーティリティを使用する必要があります。Plugmanを使用したプラグインの管理を参照してください。

2.8.0プロジェクトから2.9.0へのアップグレード

  1. Cordova 2.9.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-2.9.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトからwww/cordova.js(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwwwディレクトリにコピーし、www/cordova.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.jsファイルを指すように更新します。

  7. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

2.7.0プロジェクトから2.8.0へのアップグレード

  1. Cordova 2.8.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-2.8.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトからwww/cordova.js(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwwwディレクトリにコピーし、www/cordova-2.7.0.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.jsファイルを指すように更新します。

  7. config.xmlファイルの<plugin>タグを<feature>タグに更新します。既存の<plugin>タグは引き続き機能しますが、非推奨になっていることに注意してください。新しいプロジェクトのconfig.xmlファイルにこの情報をコピーできます。例えば

     <plugins>
         <plugin name="LocalStorage" value="CDVLocalStorage" />
         <!-- other plugins -->
     </plugins>
    
     <!-- change to: (note that a <feature> tag is on the same level as <plugins> -->
     <feature name="LocalStorage">
         <param name="ios-package" value="CDVLocalStorage" />
     </feature>
     <!-- other <feature> tags -->
    
  8. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

  9. これらの2つのフレームワークをプロジェクトに追加します

     OpenAL
     ImageIO
    
  10. プロジェクトのターゲットビルド設定を更新します。リンク → その他のリンカーフラグで、"-Obj-C""-ObjC"に編集します。

  11. プロジェクトのターゲットビルド設定を更新します。リンク → その他のリンカーフラグで、"-all_load"-force\_load ${BUILT\_PRODUCTS\_DIR}/libCordova.aに変更します。この問題は、この問題で定義されている問題がある場合にのみ行う必要があります。

2.6.0プロジェクトから2.7.0へのアップグレード

  1. Cordova 2.7.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-2.7.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトからwww/cordova-2.7.0.jsファイルをwwwディレクトリにコピーし、www/cordova-2.6.0.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.7.0.jsファイルを指すように更新します。

  7. 新しいプロジェクトのものに従ってAppDelegate.mファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。

  8. config.xmlファイルで、この行を削除します。

  9. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

2.5.0プロジェクトから2.6.0へのアップグレード

  1. Cordova 2.6.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-2.6.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. プロジェクトのwww/cordova-2.6.0.jsファイルをwwwディレクトリにコピーし、www/cordova-2.5.0.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトを参照する他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.6.0.jsを参照するように更新します。

  7. 新しいプロジェクトのものに従ってAppDelegate.mファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。

  8. config.xmlファイルで、この新しい行を追加します。

  9. config.xmlファイルで、この新しい行を追加します。

  10. config.xmlファイルで、UIWebViewBounceがDisallowOverscrollに変更され、デフォルト値が異なる

  11. config.xmlファイルでは、EnableLocation設定が非推奨になりました。

  12. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

2.4.0プロジェクトから2.5.0へのアップグレード

  1. Cordova 2.5.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば~/Documents/Cordova-2.5.0にダウンロードして展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトからwww/cordova-2.5.0.jsファイルをwwwディレクトリにコピーし、www/cordova-2.4.0.jsファイルを削除します。

  6. www/index.htmlファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.5.0.jsファイルを指すように更新します。

  7. 新しいプロジェクトのものに従ってAppDelegate.mファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。

  8. config.xmlファイルで、これらの新しい行を追加します。

  9. config.xmlファイルで、ルート要素を編集し、cordovaからwidgetに変更します。

  10. config.xmlファイルで、OpenAllWhitelistURLsInWebView設定を削除します。

  11. cordova ディレクトリを削除し、新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.5.0 では、このスクリプトが更新されています。

  12. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

2.3.0 プロジェクトから 2.4.0 へのアップグレード

  1. Cordova 2.4.0 のソースをダウンロードし、例えば ~/Documents/Cordova-2.4.0 のような、ハードドライブ上の永続的なディレクトリに展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトの www/cordova-2.4.0.js ファイルを www ディレクトリにコピーし、www/cordova-2.3.0.js ファイルを削除します。

  6. www/index.html ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しい cordova-2.4.0.js ファイルを指すように更新します。

  7. 新しいプロジェクトのものに合わせて、MainViewController.m ファイルを更新(または、変更したことがない場合は置き換え)します(この差分を参照)。

  8. 新しいプロジェクトのものに合わせて、AppDelegate.m ファイルを更新(または、変更したことがない場合は置き換え)します(この差分を参照)。

  9. config.xml ファイルに、この新しい行を追加します。

  10. cordova ディレクトリを削除し、新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.4.0 では、このスクリプトが修正されています。

  11. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

  12. AssetsLibrary.framework をリソースとしてプロジェクトに追加します。(方法については、Apple のドキュメントを参照してください。)

2.2.0 プロジェクトから 2.3.0 へのアップグレード

  1. Cordova 2.3.0 のソースをダウンロードし、例えば ~/Documents/Cordova-2.3.0 のような、ハードドライブ上の永続的なディレクトリに展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトの www/cordova-2.3.0.js ファイルを www ディレクトリにコピーし、www/cordova-2.2.0.js ファイルを削除します。

  6. www/index.html ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しい cordova-2.3.0.js ファイルを指すように更新します。

  7. 新しいプロジェクトのものに合わせて、MainViewController.m ファイルを更新(または、変更したことがない場合は置き換え)します。

  8. cordova ディレクトリを削除し、新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.3.0 では、このスクリプトが新しくなっています。

  9. CordovaLibディレクトリを削除し、新しいプロジェクトからCordovaLibディレクトリをプロジェクトのルートディレクトリにコピーします。

  10. プロジェクトファイルでスクリプト bin/cordova\_plist\_to\_config\_xml を実行して、Cordova.plist ファイルを config.xml に変換します。

  11. config.xml に InAppBrowser プラグインを追加します。そのためには、<cordova><plugins> の下にこのタグを追加します。

    <plugin name="InAppBrowser" value="CDVInAppBrowser" />
    
  12. Objective-C プラグインはもはやホワイトリストに登録されていないことに注意してください。アプリのホワイトリストを使って接続をホワイトリストに登録するには、接続の User-Agent ヘッダーをメインの Cordova WebView と同じユーザーエージェントに設定する必要があります。これは、メインのビューコントローラの userAgent プロパティにアクセスすることで取得できます。メインのビューコントローラ(CDVViewController)には、URL がホワイトリストを通過するかどうかを確認するための URLisAllowed メソッドもあります。

  13. Device API の変更

    • iOS の場合、device.platform は以前は iPhoneiPad、または iPod Touch を返していましたが、現在は(正しく)iOS を返すようになりました。
    • iOS の場合、device.name (現在はすべてのプラットフォームで非推奨) は以前はユーザーのデバイスの名前(例:'Shazron の iPhone 5')を返していましたが、現在は device.platform が以前返していたもの、つまり iPhoneiPad、または iPod Touch を返すようになりました。
    • すべてのプラットフォームで、device.model という新しいプロパティがあります。これは、特定のデバイスモデル、例えば iPad2,5 を返します(他のプラットフォームの場合、これは device.name が以前返していたものを返します)。

2.1.0 プロジェクトから 2.2.0 へのアップグレード

  1. Cordova 2.2.0 のソースをダウンロードし、例えば ~/Documents/Cordova-2.2.0 のような、ハードドライブ上の永続的なディレクトリに展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトの www/cordova-2.2.0.js ファイルを www ディレクトリにコピーし、www/cordova-2.1.0.js ファイルを削除します。

  6. www/index.html ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しい cordova-2.2.0.js ファイルを指すように更新します。

  7. 新しいプロジェクトのものに合わせて、MainViewController.m ファイルを更新(または、変更したことがない場合は置き換え)します
    • 更新 → viewWillAppear
  8. 新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.2.0 では、これは更新された 'emulate' スクリプトを持っています。

  9. 次に、CordovaLib サブプロジェクト参照を更新します。Cordova 2.1.0 以降では、CordovaLib がどこにあるかを参照するときに CORDOVALIB Xcode 変数は使用しなくなり、参照は絶対ファイル参照になりました。
    1. Terminal.app を起動します。
    2. Cordova をインストールした場所(ステップ 1 を参照)、bin サブディレクトリに移動します。
    3. 最初のパラメータがプロジェクトの .xcodeproj ファイルへのパスである以下のスクリプトを実行します。

       update_cordova_subproject path/to/your/project/xcodeproj
      

: 2.2.0 では、bin/create スクリプトが CordovaLib サブプロジェクトをあなたのプロジェクトにコピーします。同じような設定にするには、適切な CordovaLib をあなたのプロジェクトディレクトリにコピーし、Xcode のファイルインスペクタで CordovaLib サブプロジェクトの場所(プロジェクトに対する相対位置)を更新します。

2.0.0 プロジェクトから 2.1.0 へのアップグレード

Cordova 2.1.0 では、CordovaLib自動参照カウント (ARC) を使用するようにアップグレードされています。CordovaLib を使用するためにARC にアップグレードする必要はありませんが、プロジェクトをARC を使用するようにアップグレードしたい場合は、メニューから Xcode マイグレーションウィザードを使用してください: 編集 → リファクタリング → Objective-C ARC に変換…、libCordova.a を選択解除してから、ウィザードを完了まで実行します。

  1. Cordova 2.1.0 のソースをダウンロードし、例えば ~/Documents/Cordova-2.1.0 のような、ハードドライブ上の永続的なディレクトリに展開します。

  2. Xcodeが実行中の場合は終了します。

  3. Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。

  4. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  5. 新しいプロジェクトの www/cordova-2.1.0.js ファイルを www ディレクトリにコピーし、www/cordova-2.0.0.js ファイルを削除します。

  6. www/index.html ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しい cordova-2.1.0.js ファイルを指すように更新します。

  7. 新しいプロジェクトのものに合わせて、AppDelegate.m ファイルを更新(または、変更したことがない場合は置き換え)します
    • 編集済 → application:didFinishLaunchingWithOptions
    • 追加済 → application:supportedInterfaceOrientationsForWindow
  8. 新しいプロジェクトのものに合わせて、MainViewController.m ファイルを更新(または、変更したことがない場合は置き換え)します
    • 追加済 → viewWillAppear
  9. 新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.1.0 では、これにはスペースを含むパスをサポートする更新されたスクリプトがあります。

  10. あなたのプロジェクトから VERSION ファイル参照を削除します(CordovaLib 内のではない)。

  11. 次に、CordovaLib サブプロジェクト参照を更新します。Cordova 2.1.0 以降では、CordovaLib がどこにあるかを参照するときに CORDOVALIB Xcode 変数は使用しなくなり、参照は絶対ファイル参照になりました。
    1. Terminal.app を起動します。
    2. Cordova をインストールした場所(ステップ 1 を参照)、bin サブディレクトリに移動します。
    3. 最初のパラメータがプロジェクトの .xcodeproj ファイルへのパスである以下のスクリプトを実行します。

       update_cordova_subproject path/to/your/project/xcodeproj
      

1.9.0 プロジェクトから 2.0.0 へのアップグレード

  1. Cordova 2.0.0 をインストールします。

  2. iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。

  3. 新しいプロジェクトの www/cordova-2.0.0.js ファイルを www ディレクトリにコピーし、www/cordova-1.9.0.js ファイルを削除します。

  4. www/index.html ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しい cordova-2.0.0.js ファイルを指すように更新します。

  5. 新しいプロジェクトの cordova ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします(プロジェクトのコマンドラインツールが必要な場合)。

  6. Supporting Files グループの Cordova.plist ファイルの Plugins の下に新しいエントリを追加します。キーは Device で、値は CDVDevice です。

  7. Cordova.framework を削除します。

  8. Supporting Files グループから verify.sh を削除します。

  9. プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルド設定タブを選択します。

  10. プリプロセッサマクロを検索し、すべての CORDOVA_FRAMEWORK=1 の値を削除します。

  11. ホームフォルダの Documents サブディレクトリの下のハードドライブにインストールされている CordovaLib ディレクトリを見つけます。

  12. CordovaLib ディレクトリ内の CordovaLib.xcodeproj ファイルを見つけて、そのファイルをプロジェクトにドラッグアンドドロップします。サブプロジェクトとして表示されるはずです。

  13. プロジェクトをビルドすると、#import ディレクティブに関連するいくつかのエラーが発生します。

  14. #import エラーについては、このスタイルの引用符ベースのインポートを

    #import "CDV.h"
    

    この角括弧ベースのスタイルに変更し

    #import <Cordova/CDV.h>
    

    Cordova インポートの周りの #ifdef ラッパーを削除します。それらはもはや必要ありません(インポートは統合されました)。

  15. プロジェクトを再度ビルドすると、#import エラーが発生しなくなります。

  16. プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルドフェーズタブを選択します。

  17. ターゲット依存関係フェーズを展開し、+ ボタンを選択します。

  18. CordovaLib ターゲットを選択し、追加ボタンを選択します。

  19. 最初のライブラリとのバイナリのリンクフェーズ(すでに多数のフレームワークが含まれているはず)を展開し、+ ボタンを選択します。

  20. libCordova.a 静的ライブラリを選択し、追加ボタンを選択します。

  21. Run Script フェーズを削除します。

  22. プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルド設定タブを選択します。

  23. その他のリンカフラグを検索し、値 -force_load-Obj-C を追加します。

  24. CordovaLib サブプロジェクトを展開します。

  25. VERSION ファイルを見つけて、メインプロジェクトにドラッグします(コピーではなく、リンクを作成します)。

  26. 追加されたすべてのフォルダのグループを作成ラジオボタンを選択し、完了ボタンを選択します。

  27. 前の手順でドラッグした VERSION ファイルを選択します。

  28. Option-Command-1 キーの組み合わせを入力して、ファイルインスペクタを表示します(またはメニュー項目 表示 → ユーティリティ → ファイルインスペクタを表示)。

  29. ファイルインスペクタ場所のドロップダウンメニューで、CORDOVALIB に対する相対位置を選択します。

  30. 統合されたヘッダーが見つかるように、Xcode の環境設定 Xcode の環境設定 → 場所 → 派生データ → 詳細…一意 に設定します。

  31. プロジェクトナビゲータでプロジェクトアイコンを選択し、ターゲットを選択してから、ビルド設定タブを選択します。

  32. ヘッダー検索パスを検索します。その設定に、以下の3つの値を引用符を含めて追加します。

    "$(TARGET_BUILD_DIR)/usr/local/lib/include"
    
    "$(OBJROOT)/UninstalledProducts/include"
    
    "$(BUILT_PRODUCTS_DIR)"
    
  33. その他のリンカーフラグを検索します。その設定に、この値を追加します。

    -weak_framework CoreFoundation
    
  34. プロジェクトをビルドします。コンパイルとリンクが問題なく完了するはずです。

  35. Schemeドロップダウンからプロジェクトを選択し、次にiPhone 5.1 Simulatorを選択します。

  36. 実行ボタンを選択します。

注意:シミュレーターでプロジェクトが期待どおりに動作しない場合は、Xcodeのコンソールログでエラーがないか確認してください。

1.8.x プロジェクトを 1.9.0 にアップグレードする

  1. Cordova 1.9.0 をインストールします。

  2. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  3. 新しいプロジェクトから www/cordova-1.9.0.js ファイルを www ディレクトリにコピーし、www/cordova-1.8.x.js ファイルを削除します。

  4. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい cordova-1.9.0.js ファイルを指すように更新します。

注意:1.9.0 は新しい BackupWebStorage ブール値の Cordova.plist 設定をサポートしています。デフォルトで有効になっているため、特に iOS 6 では無効にするには false に設定してください。 リリースノート:SafariとUIKitのセクションを参照してください。

1.7.0 プロジェクトを 1.8.x にアップグレードする

  1. Cordova 1.8.0 をインストールします。

  2. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  3. 新しいプロジェクトから www/cordova-1.8.0.js ファイルを www ディレクトリにコピーし、www/cordova-1.7.x.js ファイルを削除します。

  4. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい cordova-1.8.0.js ファイルを指すように更新します。

Capture APIを使用する場合は、新しいiPad Retinaディスプレイアセットが必要です

  1. 新しいプロジェクトから Resources/Capture.bundle アイテムをプロジェクトディレクトリにコピーし、既存の Resources/Capture.bundle アイテムを上書きします。

  2. プロジェクトで、Xcodeのプロジェクトナビゲーターにある Capture.bundle アイテムを選択し、Deleteキーを押してから、表示されるダイアログから参照を削除を選択します。

  3. ステップ1で作成した新しい Capture.bundle をXcodeのプロジェクトナビゲーターにドラッグし、追加されたフォルダーに対してグループを作成ラジオボタンを選択します。

1.6.x プロジェクトを 1.7.0 にアップグレードする

  1. Cordova 1.7.0 をインストールします。

  2. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  3. 新しいプロジェクトから www/cordova-1.7.0.js ファイルを www ディレクトリにコピーし、www/cordova-1.6.0.js ファイルを削除します。

  4. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい cordova-1.7.0.js ファイルを指すように更新します。

1.5.0 プロジェクトを 1.6.x にアップグレードする

  1. Cordova 1.6.1 をインストールします。

  2. プロジェクト内の AppDelegate.mAppDelegate.hMainViewController.mMainViewController.h、および Cordova.plist のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 1.5.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     Cordova.plist
    
  5. 新しい MainViewController および AppDelegate ファイルをすべて Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/cordova-1.6.1.js ファイルを www ディレクトリにコピーし、www/cordova-1.5.0.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい cordova-1.6.1.js ファイルを指すように更新します。

  8. 新しい Cordova.plist ファイルをプロジェクトに追加します。これは、統一された Cordova JavaScript ファイル (cordova-js) のために、コアプラグインサービス名を Android および BlackBerry のものと一致させる必要があるためです。

  9. バックアップした Cordova.plist にあった設定、Plugins および ExternalHosts のエントリを新しい Cordova.plist に統合します。

  10. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを、新しい AppDelegate ファイルに統合します。AppDelegate.mUIWebViewDelegate または CDVCommandDelegate コードは、MainViewController.m に移動する必要があります (そのファイル内のコメントアウトされたセクションを参照してください)。

  11. バックアップした MainViewController.h および MainViewController.m にあったプロジェクト固有のコードを、新しい MainViewController ファイルに統合します。

  12. プロジェクトナビゲーターでプロジェクトアイコンをクリックし、Projectを選択し、次にBuild Settingsタブを選択します。

  13. 検索フィールドにC/C++/Objective-Cのコンパイラを入力します。

  14. Apple LLVM Compiler 3.1の値を選択します。

1.4.x プロジェクトを 1.5.0 にアップグレードする

  1. Cordova 1.5.0 をインストールします。

  2. 新しいプロジェクトを作成し、一度実行します。この新しいプロジェクトからいくつかのアセットが必要になります。

  3. 新しいプロジェクトから www/cordova-1.5.0.js ファイルを www ディレクトリにコピーし、www/phonegap-1.4.x.js ファイルを削除します。

  4. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい Cordova cordova-1.5.0.js ファイルを指すように更新します。

  5. プロジェクトナビゲーターで PhoneGap.framework を検索し、選択します。

  6. Deleteキーを押し、プロジェクトナビゲーターの PhoneGap.framework 参照を削除します。

  7. Option-Command-Aキーの組み合わせを入力すると、プロジェクトにファイルを追加するシート(ファイルを追加…シート)がドロップダウンされます。追加されたフォルダーに対してグループを作成ラジオボタンが選択されていることを確認してください。

  8. Shift-Command-Gキーの組み合わせを入力すると、フォルダーに移動するための別のシート(フォルダーに移動:シート)がドロップダウンされます。

  9. フォルダーに移動:シートに /Users/Shared/Cordova/Frameworks/Cordova.framework と入力し、移動ボタンを押します。

  10. ファイルを追加…シートの追加ボタンを押します。

  11. プロジェクトナビゲーターで Cordova.framework を選択します。

  12. Option-Command-1キーの組み合わせを入力して、ファイルインスペクターを表示します。

  13. Locationのドロップダウンメニューでファイルインスペクター絶対パスを選択します。

  14. Option-Command-Aキーの組み合わせを入力すると、プロジェクトにファイルを追加するシート(ファイルを追加…シート)がドロップダウンされます。追加されたフォルダーに対してグループを作成ラジオボタンが選択されていることを確認してください。

  15. Shift-Command-Gキーの組み合わせを入力すると、フォルダーに移動するための別のシート(フォルダーに移動:シート)がドロップダウンされます。

  16. フォルダーに移動:シートに ~/Documents/CordovaLib/Classes/deprecated と入力し、移動ボタンを押します。

  17. ファイルを追加…シートの追加ボタンを押します。

  18. AppDelegate.hAppDelegate.m、および MainViewController.h ファイルで、#ifdef PHONEGAP_FRAMEWORK ブロック全体を以下に置き換えます

    #import "CDVDeprecated.h"
    
  19. プロジェクトナビゲーターのプロジェクトアイコンをクリックし、ターゲットを選択し、次にビルド設定タブを選択します。

  20. フレームワーク検索パスを検索します。

  21. 既存の値を /Users/Shared/Cordova/Frameworks に置き換えます。

  22. プリプロセッサマクロを検索します。

  23. 最初(結合された)の値について、値を CORDOVA_FRAMEWORK=YES に置き換えます。

  24. Build Phasesタブを選択します。

  25. Run Scriptを展開します。

  26. PhoneGapのすべての出現箇所をCordovaに置き換えます。

  27. プロジェクトナビゲーターで PhoneGap.plist ファイルを見つけ、ファイル名を一度クリックして名前編集モードにします。

  28. PhoneGap.plist の名前を Cordova.plist に変更します。

  29. Cordova.plist を右クリックし、Open As → Source Code を選択します。

  30. Option-Command-F を押して、ソースウィンドウの左上にあるドロップダウンから置換を選択します。

  31. 検索文字列に com.phonegap を入力し、置換文字列に org.apache.cordova を入力して、すべて置換ボタンを押します。

  32. 検索文字列に PG を入力し、置換文字列に CDV を入力して、すべて置換ボタンを押します。

  33. Command-B を押してビルドします。将来的に削除できる非推奨の機能がまだ残っています(CDVDeprecated.h を参照してください)。たとえば、PG* を使用するコード内のクラスを CDV* に置き換えます。

1.4.0 プロジェクトを 1.4.1 にアップグレードする

  1. Cordova 1.4.1 をインストールします。

  2. MainViewController.m のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. 新しいプロジェクトから MainViewController.m ファイルをディスク上の 1.4.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

  5. MainViewController.m ファイルを Xcode プロジェクトに追加します。

  6. バックアップした MainViewController.m にあったプロジェクト固有のコードを新しいファイルに統合します。

  7. phonegap-1.4.0.js ファイルの更新は任意です。1.4.0 と 1.4.1 の間で JavaScript に変更はありません。

1.3.0 プロジェクトを 1.4.0 にアップグレードする

  1. Cordova 1.4.0 をインストールします。

  2. プロジェクト内の AppDelegate.m および AppDelegate.h のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 1.3.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     MainViewController.xib
    
  5. すべての MainViewController ファイルを Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/phonegap-1.4.0.js ファイルを www ディレクトリにコピーし、www/phonegap-1.3.0.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい phonegap-1.4.0.js ファイルを指すように更新します。

  8. PhoneGap.plist ファイルの Plugins の下に新しいエントリを追加します。キーは com.phonegap.battery で、値は PGBattery です。

  9. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。

1.2.0 プロジェクトを 1.3.0 にアップグレードする

  1. Cordova 1.3.0 をインストールします。

  2. プロジェクト内の AppDelegate.m および AppDelegate.h のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 1.2.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     MainViewController.xib
    
  5. すべての MainViewController ファイルを Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/phonegap-1.3.0.js ファイルを www ディレクトリにコピーし、www/phonegap-1.2.0.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい phonegap-1.3.0.js ファイルを指すように更新します。

  8. PhoneGap.plist ファイルの Plugins の下に新しいエントリを追加します。キーは com.phonegap.battery で、値は PGBattery です。

  9. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。

1.1.0 プロジェクトを 1.2.0 にアップグレードする

  1. Cordova 1.2.0 をインストールします。

  2. プロジェクト内の AppDelegate.m および AppDelegate.h のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 1.1.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     MainViewController.xib
    
  5. すべての MainViewController ファイルを Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/phonegap-1.2.0.js ファイルを www ディレクトリにコピーし、www/phonegap-1.1.0.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい phonegap-1.2.0.js ファイルを指すように更新します。

  8. PhoneGap.plist ファイルの Plugins の下に新しいエントリを追加します。キーは com.phonegap.battery で、値は PGBattery です。

  9. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。

1.0.0 プロジェクトを 1.1.0 にアップグレードする

  1. Cordova 1.1.0 をインストールします。

  2. プロジェクト内の AppDelegate.m および AppDelegate.h のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 1.0.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     MainViewController.xib
    
  5. すべての MainViewController ファイルを Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/phonegap-1.1.0.js ファイルを www ディレクトリにコピーし、www/phonegap-1.0.0.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい phonegap-1.1.0.js ファイルを指すように更新します。

  8. PhoneGap.plist ファイルの Plugins の下に新しいエントリを追加します。キーは com.phonegap.battery で、値は PGBattery です。

  9. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。

0.9.6 プロジェクトを 1.0.0 にアップグレードする

  1. Cordova 1.0.0 をインストールします。

  2. プロジェクト内の AppDelegate.m および AppDelegate.h のバックアップを作成します。

  3. 新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。

  4. これらのファイルを新しいプロジェクトからディスク上の 0.9.6 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。

     AppDelegate.h
     AppDelegate.m
     MainViewController.h
     MainViewController.m
     MainViewController.xib
    
  5. すべての MainViewController ファイルを Xcode プロジェクトに追加します。

  6. 新しいプロジェクトから www/phonegap-1.0.0.js ファイルを www ディレクトリにコピーし、www/phonegap-0.9.6.js ファイルを削除します。

  7. www/index.html ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい phonegap-1.0.0.js ファイルを指すように更新します。

  8. PhoneGap.plist ファイルの Plugins の下に新しいエントリを追加します。キーは com.phonegap.battery で、値は PGBattery です。

  9. バックアップした AppDelegate.h および AppDelegate.m にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。