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プロジェクトの場合
-
cordova
CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。 -
既存のプロジェクトで
cordova platform update ios
を実行します。
3.3.0プロジェクトから3.4.0へのアップグレード
非CLIプロジェクトの場合は、次を実行します
bin/update path/to/project
CLIプロジェクトの場合
-
cordova
CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。 -
cordova platform update ios
を実行します
3.2.0プロジェクトから3.3.0へのアップグレード
非CLIプロジェクトの場合は、次を実行します
bin/update path/to/project
CLIプロジェクトの場合
-
cordova
CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。 -
cordova platform update ios
を実行します
3.1.0プロジェクトから3.2.0へのアップグレード
非CLIプロジェクトの場合は、次を実行します
bin/update path/to/project
CLIプロジェクトの場合
-
cordova
CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。 -
cordova platform update ios
を実行します
3.0.0プロジェクトから3.1.0へのアップグレード
非CLIプロジェクトの場合は、次を実行します
bin/update path/to/project
CLIプロジェクトの場合
-
cordova
CLIバージョンを更新します。コマンドラインインターフェイスを参照してください。 -
cordova platform update ios
を実行します
iOS 7の問題
-
index.html
ファイルのviewport
meta
タグからwidth=device-width, height=device-height
を削除します。(関連するバグを参照してください。) -
iOS 7のサポートのためにメディア、メディアキャプチャ、スプラッシュスクリーンのコアプラグインを更新します。
Xcode 5の問題
-
Xcode 5でプロンプトが表示されたら(Issue Navigatorで)、プロジェクト設定を更新します。
-
ビルド設定タブのビルドオプションセクションにあるC/C++/Objective-Cのコンパイラ設定を更新します。デフォルトコンパイラ (Apple LLVM 5.0)を選択します。
2.9.0からCLI(3.0.0)へのアップグレード
-
コマンドラインインターフェイスで説明されているように、cordova CLIを使用して新しいApache Cordova 3.0.0プロジェクトを作成します。
-
cordova platform add ios
などのように、プラットフォームをcordovaプロジェクトに追加します。 -
プロジェクトの
www
ディレクトリの内容を、作成したばかりのcordovaプロジェクトのルートにあるwww
ディレクトリにコピーします。 -
元のプロジェクト(
Resources
など)からネイティブアセットをコピーまたは上書きし、新しいファイルを.xcodeproj
プロジェクトに追加していることを確認します。iOSプロジェクトは、platforms\ios
ディレクトリ内でビルドされます。 -
config.xml
をwww
ディレクトリにコピーし、プラグインの定義を削除します。プラットフォームディレクトリの代わりにここで設定を変更します。 -
cordova CLIツールを使用して、必要なプラグインをインストールします。CLIはすべてのコアAPIをプラグインとして処理するため、追加する必要がある場合があることに注意してください。3.0.0プラグインのみがCLIと互換性があります。
-
ビルドしてテストします。
2.9.0プロジェクトから3.0.0へのアップグレード
-
Cordova 3.0.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-3.0.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトから
www/cordova.js
(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwww
ディレクトリにコピーし、www/cordova.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.js
ファイルを指すように更新します。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。
注意: Cordova 3.0.0以降では、プラグインは事前インストールされていません。自分でインストールするには、plugman
コマンドラインユーティリティを使用する必要があります。Plugmanを使用したプラグインの管理を参照してください。
2.8.0プロジェクトから2.9.0へのアップグレード
-
Cordova 2.9.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-2.9.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトから
www/cordova.js
(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwww
ディレクトリにコピーし、www/cordova.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.js
ファイルを指すように更新します。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。
2.7.0プロジェクトから2.8.0へのアップグレード
-
Cordova 2.8.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-2.8.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトから
www/cordova.js
(バージョンサフィックスはもうありません。バージョンはヘッダー内のファイル自体にあります)ファイルをwww
ディレクトリにコピーし、www/cordova-2.7.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova.js
ファイルを指すように更新します。 -
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 -->
-
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。 -
これらの2つのフレームワークをプロジェクトに追加します
OpenAL ImageIO
-
プロジェクトのターゲットビルド設定を更新します。リンク → その他のリンカーフラグで、"-Obj-C"を"-ObjC"に編集します。
-
プロジェクトのターゲットビルド設定を更新します。リンク → その他のリンカーフラグで、"-all_load"を
-force\_load ${BUILT\_PRODUCTS\_DIR}/libCordova.a
に変更します。この問題は、この問題で定義されている問題がある場合にのみ行う必要があります。
2.6.0プロジェクトから2.7.0へのアップグレード
-
Cordova 2.7.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-2.7.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトから
www/cordova-2.7.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.6.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.7.0.js
ファイルを指すように更新します。 -
新しいプロジェクトのものに従って
AppDelegate.m
ファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。 -
config.xml
ファイルで、この行を削除します。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。
2.5.0プロジェクトから2.6.0へのアップグレード
-
Cordova 2.6.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-2.6.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
プロジェクトの
www/cordova-2.6.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.5.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトを参照する他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.6.0.js
を参照するように更新します。 -
新しいプロジェクトのものに従って
AppDelegate.m
ファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。 -
config.xml
ファイルで、この新しい行を追加します。 -
config.xml
ファイルで、この新しい行を追加します。 -
config.xml
ファイルで、UIWebViewBounceがDisallowOverscrollに変更され、デフォルト値が異なる。 -
config.xml
ファイルでは、EnableLocation
設定が非推奨になりました。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。
2.4.0プロジェクトから2.5.0へのアップグレード
-
Cordova 2.5.0のソースを、ハードドライブの永続的なディレクトリの場所に、たとえば
~/Documents/Cordova-2.5.0
にダウンロードして展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトから
www/cordova-2.5.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.4.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含む他のファイル)のCordovaスクリプトリファレンスを、新しいcordova-2.5.0.js
ファイルを指すように更新します。 -
新しいプロジェクトのものに従って
AppDelegate.m
ファイルを更新(または、ファイルを変更しなかった場合は置き換え)します(この差分を参照してください)。 -
config.xml
ファイルで、これらの新しい行を追加します。 -
config.xml
ファイルで、ルート要素を編集し、cordovaからwidgetに変更します。 -
config.xml
ファイルで、OpenAllWhitelistURLsInWebView設定を削除します。 -
cordova
ディレクトリを削除し、新しいプロジェクトのcordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.5.0 では、このスクリプトが更新されています。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。
2.3.0 プロジェクトから 2.4.0 へのアップグレード
-
Cordova 2.4.0 のソースをダウンロードし、例えば
~/Documents/Cordova-2.4.0
のような、ハードドライブ上の永続的なディレクトリに展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトの
www/cordova-2.4.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.3.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しいcordova-2.4.0.js
ファイルを指すように更新します。 -
新しいプロジェクトのものに合わせて、
MainViewController.m
ファイルを更新(または、変更したことがない場合は置き換え)します(この差分を参照)。 -
新しいプロジェクトのものに合わせて、
AppDelegate.m
ファイルを更新(または、変更したことがない場合は置き換え)します(この差分を参照)。 -
config.xml
ファイルに、この新しい行を追加します。 -
cordova
ディレクトリを削除し、新しいプロジェクトのcordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.4.0 では、このスクリプトが修正されています。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。 -
AssetsLibrary.framework をリソースとしてプロジェクトに追加します。(方法については、Apple のドキュメントを参照してください。)
2.2.0 プロジェクトから 2.3.0 へのアップグレード
-
Cordova 2.3.0 のソースをダウンロードし、例えば
~/Documents/Cordova-2.3.0
のような、ハードドライブ上の永続的なディレクトリに展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトの
www/cordova-2.3.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.2.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しいcordova-2.3.0.js
ファイルを指すように更新します。 -
新しいプロジェクトのものに合わせて、
MainViewController.m
ファイルを更新(または、変更したことがない場合は置き換え)します。 -
cordova
ディレクトリを削除し、新しいプロジェクトのcordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.3.0 では、このスクリプトが新しくなっています。 -
CordovaLib
ディレクトリを削除し、新しいプロジェクトからCordovaLib
ディレクトリをプロジェクトのルートディレクトリにコピーします。 -
プロジェクトファイルでスクリプト
bin/cordova\_plist\_to\_config\_xml
を実行して、Cordova.plist
ファイルをconfig.xml
に変換します。 -
config.xml
に InAppBrowser プラグインを追加します。そのためには、<cordova><plugins>
の下にこのタグを追加します。<plugin name="InAppBrowser" value="CDVInAppBrowser" />
-
Objective-C プラグインはもはやホワイトリストに登録されていないことに注意してください。アプリのホワイトリストを使って接続をホワイトリストに登録するには、接続の
User-Agent
ヘッダーをメインの Cordova WebView と同じユーザーエージェントに設定する必要があります。これは、メインのビューコントローラのuserAgent
プロパティにアクセスすることで取得できます。メインのビューコントローラ(CDVViewController
)には、URL がホワイトリストを通過するかどうかを確認するためのURLisAllowed
メソッドもあります。 -
Device API の変更
- iOS の場合、device.platform は以前は
iPhone
、iPad
、またはiPod Touch
を返していましたが、現在は(正しく)iOS
を返すようになりました。 - iOS の場合、device.name (現在はすべてのプラットフォームで非推奨) は以前はユーザーのデバイスの名前(例:'Shazron の iPhone 5')を返していましたが、現在は device.platform が以前返していたもの、つまり
iPhone
、iPad
、またはiPod Touch
を返すようになりました。 - すべてのプラットフォームで、device.model という新しいプロパティがあります。これは、特定のデバイスモデル、例えば
iPad2,5
を返します(他のプラットフォームの場合、これは device.name が以前返していたものを返します)。
- iOS の場合、device.platform は以前は
2.1.0 プロジェクトから 2.2.0 へのアップグレード
-
Cordova 2.2.0 のソースをダウンロードし、例えば
~/Documents/Cordova-2.2.0
のような、ハードドライブ上の永続的なディレクトリに展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトの
www/cordova-2.2.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.1.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しいcordova-2.2.0.js
ファイルを指すように更新します。 - 新しいプロジェクトのものに合わせて、
MainViewController.m
ファイルを更新(または、変更したことがない場合は置き換え)します- 更新 → viewWillAppear
-
新しいプロジェクトの
cordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.2.0 では、これは更新された 'emulate' スクリプトを持っています。 - 次に、
CordovaLib
サブプロジェクト参照を更新します。Cordova 2.1.0 以降では、CordovaLib
がどこにあるかを参照するときに CORDOVALIB Xcode 変数は使用しなくなり、参照は絶対ファイル参照になりました。- Terminal.app を起動します。
- Cordova をインストールした場所(ステップ 1 を参照)、
bin
サブディレクトリに移動します。 -
最初のパラメータがプロジェクトの
.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 を選択解除してから、ウィザードを完了まで実行します。
-
Cordova 2.1.0 のソースをダウンロードし、例えば
~/Documents/Cordova-2.1.0
のような、ハードドライブ上の永続的なディレクトリに展開します。 -
Xcodeが実行中の場合は終了します。
-
Terminal.appを使用して、上記のダウンロードしたソースを配置したディレクトリに移動します。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトの
www/cordova-2.1.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-2.0.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しいcordova-2.1.0.js
ファイルを指すように更新します。 - 新しいプロジェクトのものに合わせて、
AppDelegate.m
ファイルを更新(または、変更したことがない場合は置き換え)します- 編集済 → application:didFinishLaunchingWithOptions
- 追加済 → application:supportedInterfaceOrientationsForWindow
- 新しいプロジェクトのものに合わせて、
MainViewController.m
ファイルを更新(または、変更したことがない場合は置き換え)します- 追加済 → viewWillAppear
-
新しいプロジェクトの
cordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします。2.1.0 では、これにはスペースを含むパスをサポートする更新されたスクリプトがあります。 -
あなたのプロジェクトから
VERSION
ファイル参照を削除します(CordovaLib
内のではない)。 - 次に、
CordovaLib
サブプロジェクト参照を更新します。Cordova 2.1.0 以降では、CordovaLib
がどこにあるかを参照するときに CORDOVALIB Xcode 変数は使用しなくなり、参照は絶対ファイル参照になりました。- Terminal.app を起動します。
- Cordova をインストールした場所(ステップ 1 を参照)、
bin
サブディレクトリに移動します。 -
最初のパラメータがプロジェクトの
.xcodeproj
ファイルへのパスである以下のスクリプトを実行します。update_cordova_subproject path/to/your/project/xcodeproj
1.9.0 プロジェクトから 2.0.0 へのアップグレード
-
Cordova 2.0.0 をインストールします。
-
iOSシェルツールガイドで説明されているように、新しいプロジェクトを作成します。この新しいプロジェクトからのアセットが必要です。
-
新しいプロジェクトの
www/cordova-2.0.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-1.9.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプト参照を含むその他のファイル)内の Cordova スクリプト参照を、新しいcordova-2.0.0.js
ファイルを指すように更新します。 -
新しいプロジェクトの
cordova
ディレクトリをあなたのプロジェクトのルートディレクトリにコピーします(プロジェクトのコマンドラインツールが必要な場合)。 -
Supporting Files グループの
Cordova.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはDevice
で、値はCDVDevice
です。 -
Cordova.framework
を削除します。 -
Supporting Files グループから
verify.sh
を削除します。 -
プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルド設定タブを選択します。
-
プリプロセッサマクロを検索し、すべての CORDOVA_FRAMEWORK=1 の値を削除します。
-
ホームフォルダの
Documents
サブディレクトリの下のハードドライブにインストールされているCordovaLib
ディレクトリを見つけます。 -
CordovaLib
ディレクトリ内のCordovaLib.xcodeproj
ファイルを見つけて、そのファイルをプロジェクトにドラッグアンドドロップします。サブプロジェクトとして表示されるはずです。 -
プロジェクトをビルドすると、
#import
ディレクティブに関連するいくつかのエラーが発生します。 -
#import
エラーについては、このスタイルの引用符ベースのインポートを#import "CDV.h"
この角括弧ベースのスタイルに変更し
#import <Cordova/CDV.h>
Cordova インポートの周りの
#ifdef
ラッパーを削除します。それらはもはや必要ありません(インポートは統合されました)。 -
プロジェクトを再度ビルドすると、
#import
エラーが発生しなくなります。 -
プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルドフェーズタブを選択します。
-
ターゲット依存関係フェーズを展開し、+ ボタンを選択します。
-
CordovaLib
ターゲットを選択し、追加ボタンを選択します。 -
最初のライブラリとのバイナリのリンクフェーズ(すでに多数のフレームワークが含まれているはず)を展開し、+ ボタンを選択します。
-
libCordova.a
静的ライブラリを選択し、追加ボタンを選択します。 -
Run Script フェーズを削除します。
-
プロジェクトナビゲータでプロジェクトアイコンを選択し、プロジェクトのターゲットを選択してから、ビルド設定タブを選択します。
-
その他のリンカフラグを検索し、値 -force_load と -Obj-C を追加します。
-
CordovaLib
サブプロジェクトを展開します。 -
VERSION
ファイルを見つけて、メインプロジェクトにドラッグします(コピーではなく、リンクを作成します)。 -
追加されたすべてのフォルダのグループを作成ラジオボタンを選択し、完了ボタンを選択します。
-
前の手順でドラッグした
VERSION
ファイルを選択します。 -
Option-Command-1 キーの組み合わせを入力して、ファイルインスペクタを表示します(またはメニュー項目 表示 → ユーティリティ → ファイルインスペクタを表示)。
-
ファイルインスペクタの場所のドロップダウンメニューで、CORDOVALIB に対する相対位置を選択します。
-
統合されたヘッダーが見つかるように、Xcode の環境設定 Xcode の環境設定 → 場所 → 派生データ → 詳細… を 一意 に設定します。
-
プロジェクトナビゲータでプロジェクトアイコンを選択し、ターゲットを選択してから、ビルド設定タブを選択します。
-
ヘッダー検索パスを検索します。その設定に、以下の3つの値を引用符を含めて追加します。
"$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(BUILT_PRODUCTS_DIR)"
-
その他のリンカーフラグを検索します。その設定に、この値を追加します。
-weak_framework CoreFoundation
-
プロジェクトをビルドします。コンパイルとリンクが問題なく完了するはずです。
-
Schemeドロップダウンからプロジェクトを選択し、次にiPhone 5.1 Simulatorを選択します。
-
実行ボタンを選択します。
注意:シミュレーターでプロジェクトが期待どおりに動作しない場合は、Xcodeのコンソールログでエラーがないか確認してください。
1.8.x プロジェクトを 1.9.0 にアップグレードする
-
Cordova 1.9.0 をインストールします。
-
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
新しいプロジェクトから
www/cordova-1.9.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-1.8.x.js
ファイルを削除します。 -
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 にアップグレードする
-
Cordova 1.8.0 をインストールします。
-
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
新しいプロジェクトから
www/cordova-1.8.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-1.7.x.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいcordova-1.8.0.js
ファイルを指すように更新します。
Capture APIを使用する場合は、新しいiPad Retinaディスプレイアセットが必要です
-
新しいプロジェクトから
Resources/Capture.bundle
アイテムをプロジェクトディレクトリにコピーし、既存のResources/Capture.bundle
アイテムを上書きします。 -
プロジェクトで、Xcodeのプロジェクトナビゲーターにある
Capture.bundle
アイテムを選択し、Deleteキーを押してから、表示されるダイアログから参照を削除を選択します。 -
ステップ1で作成した新しい
Capture.bundle
をXcodeのプロジェクトナビゲーターにドラッグし、追加されたフォルダーに対してグループを作成ラジオボタンを選択します。
1.6.x プロジェクトを 1.7.0 にアップグレードする
-
Cordova 1.7.0 をインストールします。
-
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
新しいプロジェクトから
www/cordova-1.7.0.js
ファイルをwww
ディレクトリにコピーし、www/cordova-1.6.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいcordova-1.7.0.js
ファイルを指すように更新します。
1.5.0 プロジェクトを 1.6.x にアップグレードする
-
Cordova 1.6.1 をインストールします。
-
プロジェクト内の
AppDelegate.m
、AppDelegate.h
、MainViewController.m
、MainViewController.h
、およびCordova.plist
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 1.5.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m Cordova.plist
-
新しい
MainViewController
およびAppDelegate
ファイルをすべて Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/cordova-1.6.1.js
ファイルをwww
ディレクトリにコピーし、www/cordova-1.5.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいcordova-1.6.1.js
ファイルを指すように更新します。 -
新しい
Cordova.plist
ファイルをプロジェクトに追加します。これは、統一された Cordova JavaScript ファイル (cordova-js
) のために、コアプラグインサービス名を Android および BlackBerry のものと一致させる必要があるためです。 -
バックアップした Cordova.plist にあった設定、Plugins および ExternalHosts のエントリを新しい
Cordova.plist
に統合します。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを、新しいAppDelegate
ファイルに統合します。AppDelegate.m
のUIWebViewDelegate
またはCDVCommandDelegate
コードは、MainViewController.m
に移動する必要があります (そのファイル内のコメントアウトされたセクションを参照してください)。 -
バックアップした
MainViewController.h
およびMainViewController.m
にあったプロジェクト固有のコードを、新しい MainViewController ファイルに統合します。 -
プロジェクトナビゲーターでプロジェクトアイコンをクリックし、Projectを選択し、次にBuild Settingsタブを選択します。
-
検索フィールドにC/C++/Objective-Cのコンパイラを入力します。
-
Apple LLVM Compiler 3.1の値を選択します。
1.4.x プロジェクトを 1.5.0 にアップグレードする
-
Cordova 1.5.0 をインストールします。
-
新しいプロジェクトを作成し、一度実行します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
新しいプロジェクトから
www/cordova-1.5.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-1.4.x.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しい Cordovacordova-1.5.0.js
ファイルを指すように更新します。 -
プロジェクトナビゲーターで
PhoneGap.framework
を検索し、選択します。 -
Deleteキーを押し、プロジェクトナビゲーターの
PhoneGap.framework
参照を削除します。 -
Option-Command-Aキーの組み合わせを入力すると、プロジェクトにファイルを追加するシート(ファイルを追加…シート)がドロップダウンされます。追加されたフォルダーに対してグループを作成ラジオボタンが選択されていることを確認してください。
-
Shift-Command-Gキーの組み合わせを入力すると、フォルダーに移動するための別のシート(フォルダーに移動:シート)がドロップダウンされます。
-
フォルダーに移動:シートに
/Users/Shared/Cordova/Frameworks/Cordova.framework
と入力し、移動ボタンを押します。 -
ファイルを追加…シートの追加ボタンを押します。
-
プロジェクトナビゲーターで
Cordova.framework
を選択します。 -
Option-Command-1キーの組み合わせを入力して、ファイルインスペクターを表示します。
-
Locationのドロップダウンメニューでファイルインスペクターの絶対パスを選択します。
-
Option-Command-Aキーの組み合わせを入力すると、プロジェクトにファイルを追加するシート(ファイルを追加…シート)がドロップダウンされます。追加されたフォルダーに対してグループを作成ラジオボタンが選択されていることを確認してください。
-
Shift-Command-Gキーの組み合わせを入力すると、フォルダーに移動するための別のシート(フォルダーに移動:シート)がドロップダウンされます。
-
フォルダーに移動:シートに
~/Documents/CordovaLib/Classes/deprecated
と入力し、移動ボタンを押します。 -
ファイルを追加…シートの追加ボタンを押します。
-
AppDelegate.h
、AppDelegate.m
、およびMainViewController.h
ファイルで、#ifdef PHONEGAP_FRAMEWORK
ブロック全体を以下に置き換えます#import "CDVDeprecated.h"
-
プロジェクトナビゲーターのプロジェクトアイコンをクリックし、ターゲットを選択し、次にビルド設定タブを選択します。
-
フレームワーク検索パスを検索します。
-
既存の値を
/Users/Shared/Cordova/Frameworks
に置き換えます。 -
プリプロセッサマクロを検索します。
-
最初(結合された)の値について、値を CORDOVA_FRAMEWORK=YES に置き換えます。
-
Build Phasesタブを選択します。
-
Run Scriptを展開します。
-
PhoneGapのすべての出現箇所をCordovaに置き換えます。
-
プロジェクトナビゲーターで
PhoneGap.plist
ファイルを見つけ、ファイル名を一度クリックして名前編集モードにします。 -
PhoneGap.plist
の名前をCordova.plist
に変更します。 -
Cordova.plist
を右クリックし、Open As → Source Code を選択します。 -
Option-Command-F を押して、ソースウィンドウの左上にあるドロップダウンから置換を選択します。
-
検索文字列に
com.phonegap
を入力し、置換文字列にorg.apache.cordova
を入力して、すべて置換ボタンを押します。 -
検索文字列に PG を入力し、置換文字列に CDV を入力して、すべて置換ボタンを押します。
-
Command-B を押してビルドします。将来的に削除できる非推奨の機能がまだ残っています(
CDVDeprecated.h
を参照してください)。たとえば、PG* を使用するコード内のクラスを CDV* に置き換えます。
1.4.0 プロジェクトを 1.4.1 にアップグレードする
-
Cordova 1.4.1 をインストールします。
-
MainViewController.m
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
新しいプロジェクトから
MainViewController.m
ファイルをディスク上の 1.4.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。 -
MainViewController.m
ファイルを Xcode プロジェクトに追加します。 -
バックアップした
MainViewController.m
にあったプロジェクト固有のコードを新しいファイルに統合します。 -
phonegap-1.4.0.js
ファイルの更新は任意です。1.4.0 と 1.4.1 の間で JavaScript に変更はありません。
1.3.0 プロジェクトを 1.4.0 にアップグレードする
-
Cordova 1.4.0 をインストールします。
-
プロジェクト内の
AppDelegate.m
およびAppDelegate.h
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 1.3.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
-
すべての
MainViewController
ファイルを Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/phonegap-1.4.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-1.3.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいphonegap-1.4.0.js
ファイルを指すように更新します。 -
PhoneGap.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはcom.phonegap.battery
で、値はPGBattery
です。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。
1.2.0 プロジェクトを 1.3.0 にアップグレードする
-
Cordova 1.3.0 をインストールします。
-
プロジェクト内の
AppDelegate.m
およびAppDelegate.h
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 1.2.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
-
すべての
MainViewController
ファイルを Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/phonegap-1.3.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-1.2.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいphonegap-1.3.0.js
ファイルを指すように更新します。 -
PhoneGap.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはcom.phonegap.battery
で、値はPGBattery
です。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。
1.1.0 プロジェクトを 1.2.0 にアップグレードする
-
Cordova 1.2.0 をインストールします。
-
プロジェクト内の
AppDelegate.m
およびAppDelegate.h
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 1.1.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
-
すべての
MainViewController
ファイルを Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/phonegap-1.2.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-1.1.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいphonegap-1.2.0.js
ファイルを指すように更新します。 -
PhoneGap.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはcom.phonegap.battery
で、値はPGBattery
です。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。
1.0.0 プロジェクトを 1.1.0 にアップグレードする
-
Cordova 1.1.0 をインストールします。
-
プロジェクト内の
AppDelegate.m
およびAppDelegate.h
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 1.0.0 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
-
すべての
MainViewController
ファイルを Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/phonegap-1.1.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-1.0.0.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいphonegap-1.1.0.js
ファイルを指すように更新します。 -
PhoneGap.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはcom.phonegap.battery
で、値はPGBattery
です。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。
0.9.6 プロジェクトを 1.0.0 にアップグレードする
-
Cordova 1.0.0 をインストールします。
-
プロジェクト内の
AppDelegate.m
およびAppDelegate.h
のバックアップを作成します。 -
新しいプロジェクトを作成します。この新しいプロジェクトからいくつかのアセットが必要になります。
-
これらのファイルを新しいプロジェクトからディスク上の 0.9.6 ベースのプロジェクトディレクトリにコピーし、古いファイル(上記のステップ2でファイルをバックアップしてください)を置き換えます。
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
-
すべての
MainViewController
ファイルを Xcode プロジェクトに追加します。 -
新しいプロジェクトから
www/phonegap-1.0.0.js
ファイルをwww
ディレクトリにコピーし、www/phonegap-0.9.6.js
ファイルを削除します。 -
www/index.html
ファイル(およびスクリプトリファレンスを含むその他のファイル)内の Cordova スクリプトリファレンスを、新しいphonegap-1.0.0.js
ファイルを指すように更新します。 -
PhoneGap.plist
ファイルのPlugins
の下に新しいエントリを追加します。キーはcom.phonegap.battery
で、値はPGBattery
です。 -
バックアップした
AppDelegate.h
およびAppDelegate.m
にあったプロジェクト固有のコードを新しい AppDelegate ファイルに統合します。