3

Telerik AppBuilder を使用して開発されたクロスプラットフォームの Cordova アプリと、Xamarin Studio を使用して構築された WatchKit アプリ (拡張機能 + ウォッチキット アプリ) があります。コンパイルされた拡張機能 (.appex ですよね?) と Telerik AppBuilder による IPA 出力をバンドルするための適切な手順がわかりません。

私たちが使用している幅広いテクノロジーを考えると、このプロセスをどこから探し始めるべきかさえわかりません。他のほとんどの ZIP アーカイブと同じように IPA コンテンツにアクセスできることに気付きましたが、それが正しい最初のステップであるかどうかはわかりません...

4

1 に答える 1

3

これは.ipa、メインの Cordova アプリケーションのファイルを編集することで実現できます。.appex一般に、フォルダの下にファイルを追加し、ホスト iPhone/iPad アプリケーション用のファイルをPlugins作成.entitlementsし、最後にバイナリを再設計しPayloadて、.ipaファイルに再度圧縮する必要があります。以下は、Telerik AppBuilder を使用して開発された Cordova アプリと WatchKit アプリ (拡張機能 + ウォッチキット アプリ) を組み合わせる方法を説明する手順です。

  1. まず.ipa、ホスト アプリケーション用のファイルと.appexWatchKit アプリ用のパッケージが必要です。ファイルは、他の.ipaアーカイブと同様に圧縮解除できる通常の iOS アプリケーション アーカイブ ファイルです。たとえば、unzipコマンド ライン ツール (例: unzip <my_ipa_file>.ipa) を使用できます。Telerik AppBuilder.ipaと WatchKit アプリの両方を解凍します。
    注: .ipaアーカイブにはPayload、実際の.appアプリケーション パッケージが配置されている名前のフォルダーが含まれています。このフォルダを圧縮するときは、この命名規則を維持する必要があります。
  2. _CodeSignatureのフォルダを削除しますPayload/<cordova_application_name>.app/_CodeSignature。この_CodeSignatureフォルダーには、アプリケーションのバイナリ コード署名プロセス中に作成されたハッシュ テーブルを表す xml ファイルが含まれています。主にアプリのリソースに関する情報が含まれています。私たちの目的は新しいものを生成することなので、これは必要ありません。
  3. .appexWatchKit 拡張機能をコピーしPayload/cordova_application_name>.app/Pluginsます (ほとんどの場合、フォルダーを作成する必要がありPluginsます)。
  4. archived-expanded-entitlements.xcentテンプレートを使用して作成する

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>application-identifier</key> <string>'App_Identifier_Prefix'.'Main_Application_Bundle_Identifier'</string> <key>keychain-access-groups</key> <array> <string>'App_Identifier_Prefix'.'Main_Application_Bundle_Identifier'</string> </array> </dict> </plist>

archived-expanded-entitlements.xcent下に を追加しますPayload/<cordova_application_name>.app/archived-expanded-entitlements.xcent
注: は、コルドバ アプリケーションMain_Application_Bundle_Identifierの値です。CFBundleIdentifier詳細については、App_Identifier_Prefixこの SO の質問を確認してください$(AppIdentifierPrefix) プロパティを手動で変更しますか?

  1. すべての.mobileprovisionファイルで、正しいアプリ ID と同じ証明書を使用する必要があります。最初.ipaに、Cordova アプリケーションのファイルを正しい.mobileprovision規定で署名することをお勧めします。それ以外の場合は、.mobileprovision下に配置する必要がありますPayload/<cordova_application_name>.app/embedded.mobileprovision
  2. ツールを使用codesignして、Cordova アプリケーションのバイナリに再署名します。

    codesign -f -s "Certificate_Name" --entitlements Payload/<cordova_application_name>.app/archived-expanded-entitlements.xcent Payload/<cordova_application_name>.app/<cordova_application_name>
  3. 編集したものを圧縮Payloadしてファイルに戻し.ipaます。(例zip -r <expected_ipa_name>.ipa Payload/)
  4. 準備万端です!

この問題についてさらにサポートが必要な場合はお知らせください。

于 2015-10-08T13:44:20.147 に答える