仅使用cordova的命令行创建IOS应用程序

Posted

技术标签:

【中文标题】仅使用cordova的命令行创建IOS应用程序【英文标题】:Creating IOS app only using the command line of cordova 【发布时间】:2017-01-12 09:35:31 【问题描述】:

ios Platform Guide of Cordova 中未考虑。根据它,应该提供一些标志以便使用命令行创建 IOS 应用程序。 (flags packageType 是默认的development 并且flag codesingResourceRules 是可选的;下面讨论其他3 个flags)

据我所知,有两种可能的方式:

1.仅使用标志 --developmentTeam 和 --codeSignIdentity

文档说明:

这是 Xcode 8 的新功能。开发团队 (Team ID) 用于 代码签名。您将使用此设置和简化的代码符号 身份(即只是“iPhone 开发人员”)来签署您的应用程序,您不需要 需要提供一个 Provisioning Profile。

所以,我们有 developmentTeam 标志,它实际上是我们可以在 Apple 帐户中看到的 TeamID。但在这种情况下,不清楚如何定义 codeSignIdentity 而不弄乱 XCode。

2。使用 ProvisioningProfile

第二种方式是创建配置文件并使用其 GUID。同样,在不使用 XCode 的情况下,cordova 文档和 apple documentation 中也没有解释。

那么,问题是:不使用 XCode 就不能创建(调试或发布)IOS 应用程序吗?如果有,具体是怎样的?

【问题讨论】:

【参考方案1】:

XCode 是必需的。 cordova 命令行使用 XCode 命令

cordova build ios --device --debug

你可以选择--debug和--release

可以在项目根目录中的 build.json 文件中提供详细信息。请参阅下面的 build.json 文件的示例内容。


    "ios": 
        "debug": 
            "developmentTeam": "YOURTEAMID",
            "provisioningProfile":"12345678-1234-1234-1234-1234567890ab"
        ,
        "release": 
            "developmentTeam": "YOURTEAMID",
            "packageType": "app-store",
            "provisioningProfile": "12345678-1234-1234-1234-1234567890ab"
        
    

【讨论】:

【参考方案2】:

我不相信有办法做到这一点。 要上传到 App Store,您需要 XCode 进行归档。

我认为如果可以在没有 XCode 的情况下进行构建,那么就不需要 MacOS。正如前面提到的,它是构建您的应用程序所必需的。

【讨论】:

其实,cordova 使用的是 Xcode,只不过是命令行版本的工具而不是 IDE。

以上是关于仅使用cordova的命令行创建IOS应用程序的主要内容,如果未能解决你的问题,请参考以下文章

cordova emulate iOS 从不从命令行工作,但通过 Xcode 很好

使用 xcbuild / xcrun 和 xcconfig 为 cordova ios 应用程序添加 64 位支持

如何使用 Cordova 命令行界面创建签名的 APK 文件?

Cordova:启动特定的 iOS 模拟器图像

Cordova iOS onResume 在启动和崩溃应用程序时触发

Cordova iOS 跨源请求仅支持 HTTP