简体   繁体   English

使用新资产和捆绑 ID 在服务器端生成 IOS iPA 文件

[英]Generating IOS iPA file on server side with new assets and bundle id

App functionality - I have created an event based application named (ABC) which is a product of client, so if the customer of ABC want to organise an event, they can register there event with app (ABC) or they can ask for a new app (which generally will be a clone of abc) with some customisation.应用程序功能 -我创建了一个名为 (ABC) 的基于事件的应用程序,它是客户端的产品,所以如果 ABC 的客户想要组织一个事件,他们可以使用应用程序 (ABC) 在那里注册事件,或者他们可以要求一个新的应用程序(通常将是 abc 的克隆)具有一些自定义。

What we do - for this we just create a clone of base code and do some changes in each clone.我们做什么 -为此,我们只创建一个基本代码的克隆,并对每个克隆进行一些更改。 below are the changes we do in each clone.以下是我们在每个克隆中所做的更改。

1- app icon, app name, app splash , Facebook id, LinkedIn id, Twitter key, Urban-airship key , bundle id, certificates, event id. 1- 应用图标、应用名称、应用启动、Facebook id、LinkedIn id、Twitter 密钥、城市飞艇密钥、捆绑 id、证书、事件 id。

Here i want to mention that each clone will be live from different developer account.在这里我想提一下,每个克隆都将来自不同的开发者帐户。

Whenever new clone requirement came we do all these thing manually in xCode and then create the build for client testing and then share the diawi link with client for testing.每当出现新的克隆需求时,我们都会在 xCode 中手动执行所有这些操作,然后为客户端测试创建构建,然后与客户端共享 diawi 链接以进行测试。

What i want to do - So we just want to add some automation on it, i want to put up base code or ipa of base code on server, now whenever the new app requirement came, we will give client an option on cms to upload all the required detail which is required for new clone like (app icon, app name, app splash , Facebook id, LinkedIn id, Twitter key, Urban-airship key , bundle id, certificates, event id) and when he will submit the details we just need to build the app on server and want to download the new ipa with news assets and details, so that client can install the app for testing.我想要做什么 -所以我们只想在上面添加一些自动化,我想在服务器上放置基本代码或基本代码的 ipa,现在每当新的应用程序需求出现时,我们都会给客户端一个上传 cms 的选项新克隆所需的所有必需详细信息,例如(应用程序图标、应用程序名称、应用程序启动画面、Facebook id、LinkedIn id、Twitter 密钥、Urban-airship 密钥、捆绑包 id、证书、事件 id)以及他何时提交详细信息我们只需要在服务器上构建应用程序,并希望下载带有新闻资产和详细信息的新 ipa,以便客户端可以安装应用程序进行测试。

Question - is this possible to upload all the detail from CMS and build the project on server side with new uploaded data.问题 -这是否可以从 CMS 上传所有详细信息并使用新上传的数据在服务器端构建项目。 if yes then what process we have to follow?如果是,那么我们必须遵循什么流程?

Short answer:简短的回答:

online continuous integration + fastlane在线持续集成+fastlane

Long answer:长答案:

This is quite possible but you need a continuous integration system, like circleci or jenkins or bitrise.这很有可能,但您需要一个持续集成系统,例如 circleci 或 jenkins 或 bitrise。

For example on bitrise you can create an app, linked on a git repository.例如,在 bitrise 上,您可以创建一个应用程序,链接到 git 存储库。 Every build can be triggered:每个构建都可以被触发:

  • manually手动
  • on a special git event (a tag for example)在一个特殊的 git 事件上(例如一个标签)
  • hourly/daily/weekly ... etc每小时/每天/每周...等
  • on a incoming webhook with special arguments在带有特殊参数的传入 webhook 上

This last possibility can be your solution (but need some work).最后一种可能性可以是您的解决方案(但需要一些工作)。

What I see, in a brief (and not complete chain):我所看到的,简要(而不是完整的链):

  • on server side, client push/create a new app with all assets needed在服务器端,客户端推送/创建一个包含所有所需资产的新应用程序
  • Webhook is triggered with these ids/assets/urls Webhook是用这些 id/assets/urls 触发的
  • CircleCi/Bitrise triggers a build with these datas CircleCi/Bitrise使用这些数据触发构建
  • a script is triggered, not a circle ci build to launch Fastlane一个script被触发,而不是一个循环 ci 构建来启动Fastlane
    • much more efficient and customizable更高效和可定制
  • fastlane triggers the given lane with all these data like this: fastlane 使用所有这些数据触发给定的lane ,如下所示:
fastlane -iOS -lane build -fbid _XX_ -twid _YY_ -appicon _IC_ -bundleIdentifier __BUNDLEID__


Thanks to fastlane , you can easily:感谢fastlane ,您可以轻松地:

  • Rebuild a project from a "whitelabelized" app从“白标”应用程序重建项目
  • Generate assets (ie your splash and app icon)生成资产(即您的启动画面和应用程序图标)
  • Communicate to your developer account to create app (app id, provisioning profile)与您的开发者帐户通信以创建应用程序(应用程序 ID、配置文件)
  • Build app on a different scheme, and/or with different bundle identifier在不同的方案上构建应用程序,和/或使用不同的包标识符
  • Generate archive生成存档
  • post your adchoc/appstore app on TestFlight, or epicenter, or event on CircleCI new testing platform在 TestFlight、震中或 CircleCI 新测试平台上发布您的 adchoc/appstore 应用程序
  • Automatically post a review of this app自动发布对此应用的评论

Some links:一些链接:

https://www.bitrise.io https://www.bitrise.io

https://circleci.com https://circleci.com

https://fastlane.tools https://fastlane.tools

My holy bible:我的圣经:

https://docs.fastlane.tools https://docs.fastlane.tools

Your idea is ambitious but, with some work can be fully done !你的想法是雄心勃勃的,但有些工作可以完全完成! Enjoy !享受 !

Julien于连

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM