您好,欢迎访问沃航(武汉)科技有限公司官方网站
cordova命令直接生成ios的ipa文件
2017-07-15 17:00:00

对于cordova,大家应该都不陌生吧。是目前全球社区最活跃,历史最悠久的一款html5 app打包工具,由于其社区活跃,因此有不少的开发者为其开发插件。

在此,我分享一下我开发ios的经验吧。

在我之前想通过cordova打包ios,一直都是在中文的网站上寻找相应的方法,然后所有的方法都是将cordova的工程重新导入到xcode中,然后编译实现的。但是由于公司比较小,还没有配mac电脑,所以公司目前是使用一个由virtualbox虚拟出来的一个mac os系统打包的,已经配置好了samba共享环境以及ssh远程命令环境。在使用命令的过程中,并没感觉系统卡,但是当使用图形页面时。卡的感觉十分明显。因此手动打开xcode,然后导入工程并编译对于我来说并不是一个好的选择。

下面我来介绍一下使用cordova命令直接生成ipa文件的方法吧。

大家都知道,打包一个ipa,至少需要两个文件,一个是开发者证书,另一个是ipa识别证书(*.mobileprovision)。

这两个证书的申请方式我就不阐述了,请各位自行百度去。简单的说,下面要将的都是基于这两个证书都有了的前提。

第一,在cordova的工程下新建一个build.json文件,然后输入如下文字:

{
    "ios": {
        "release": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "provisioningProfile": "926c2bd6-8de9-4c2f-8407-1016d2d12954",
            "packageType": "app-store",
            "buildFlag": [
                "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
                "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
                "LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks""
            ]
        }
    }
}

稍微解释一下,大家知道Cordova是一个跨平台的打包工具,上面配置文件中的ios就是指这个是针对ios的配置信息。

Release就是指发行版本。

codeSignIdentity是指使用哪个开发者证书进行加密。

developmentTeam是指那个开发者所在的开发团队。

packageType有四个选项,通常我们只使用两个,一个是app-store,是发行到app store的版本,另一个是ad-hoc,是给测试机测试用的版本。

provisioningProfile是打包app所需要的另一个参数,指定ipa识别证书所使用的。(当一个ipa识别证书生成后,直接双击即可导入xcode中,然后在~/Library/MobileDevice/Provisioning Profiles/下会生成同样一个识别证书,但是名字将是由一串数字组成,这里大家可以找一找这个文件夹下的证书,将证书的名字填为这个属性的参数即可。)


最后,也就是最神奇的一步了,使用cordova build ios --release --device命令编译ios。这是在其他的中文讲解中都是不曾写到的,--device就是说真机模拟,直接生成ipa,--release就是编译发行版,调用编译发行版的配置文件。


联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn