gpt4 book ai didi

ios - 如何在 Cordova App 中打包 Watch App

转载 作者:行者123 更新时间:2023-12-04 17:02:16 24 4
gpt4 key购买 nike

我们有一个使用 Telerik AppBuilder 开发的跨平台 cordova 应用程序,以及一个使用 Xamarin Studio 构建的 WatchKit 应用程序(扩展 + watchkit 应用程序)。我不知道将已编译的扩展(.appex,对吗?)和 Telerik AppBuilder 输出的 IPA 捆绑在一起的正确步骤是什么。

考虑到我们使用的技术范围很广,我什至不知道应该从哪里开始寻找这个过程。我注意到我可以像大多数其他 ZIP 存档一样访问 IPA 内容,但不知道这是否是正确的第一步...

最佳答案

可以通过编辑 .ipa 来实现。主 Cordova 应用程序的文件。一般来说,应该添加 .appex Plugins 下的文件文件夹,创建.entitlements主机 iPhone/iPad 应用程序的文件,最后重新编码二进制文件并压缩 Payload.ipa再次归档。以下是描述如何将使用 Telerik AppBuilder 开发的 Cordova 应用程序与 WatchKit 应用程序(扩展 + watchkit 应用程序)相结合的步骤。

  1. 首先你需要有 .ipa主机应用程序的文件和 .appex WatchKit 应用程序包。一个.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. 复制 .appex WatchKit 扩展到 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.xcentPayload/<cordova_application_name>.app/archived-expanded-entitlements.xcent
注意:Main_Application_Bundle_IdentifierCFBundleIdentifier你的 Cordova 应用程序的值(value)。有关 App_Identifier_Prefix 的更多信息检查这个 SO 问题 Changing manually $(AppIdentifierPrefix) property?

  1. 所有 .mobileprovision文件应使用正确的应用程序 ID 和相同的证书。我建议最初使用 .ipa cordova 应用程序的文件使用正确的 .mobileprovision 签名条款。否则你应该把你的.mobileprovisionPayload/<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. 我们准备好了!

如果您在这个问题上需要任何进一步的帮助,请告诉我。

关于ios - 如何在 Cordova App 中打包 Watch App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32686529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com