简体   繁体   中英

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.

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.

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.

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.

Question - is this possible to upload all the detail from CMS and build the project on server side with new uploaded data. if yes then what process we have to follow?

Short answer:

online continuous integration + fastlane

Long answer:

This is quite possible but you need a continuous integration system, like circleci or jenkins or bitrise.

For example on bitrise you can create an app, linked on a git repository. Every build can be triggered:

  • manually
  • on a special git event (a tag for example)
  • hourly/daily/weekly ... etc
  • on a incoming webhook with special arguments

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
  • CircleCi/Bitrise triggers a build with these datas
  • a script is triggered, not a circle ci build to launch Fastlane
    • much more efficient and customizable
  • fastlane triggers the given lane with all these data like this:
fastlane -iOS -lane build -fbid _XX_ -twid _YY_ -appicon _IC_ -bundleIdentifier __BUNDLEID__


Thanks to fastlane , you can easily:

  • 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)
  • 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
  • Automatically post a review of this app

Some links:

https://www.bitrise.io

https://circleci.com

https://fastlane.tools

My holy bible:

https://docs.fastlane.tools

Your idea is ambitious but, with some work can be fully done ! Enjoy !

Julien

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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