mobile icon indicating copy to clipboard operation
mobile copied to clipboard

Support installing development and prod concurrently

Open Hinton opened this issue 4 years ago • 3 comments

Type of change

  • [ ] Bug fix
  • [x] New feature development
  • [x] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • [ ] Build/deploy pipeline (DevOps)
  • [ ] Other

Objective

Configures the debug build to use a different app bundle id than release, allowing you to install the development build alongside a regular instance of the application.

Only the Debug build is affected and all other builds will use the production app bundle id, which should ensure that the AppStore and Testflight builds behave identical as before.

Code changes

I duplicated the Info.plist files to Info-dev.plist and modified the bundle id. And changed the projects to conditionally load the Info.plist files depending on which configuration is run.

Before you submit

  • [ ] I have added unit tests where it makes sense to do so (encouraged but not required)
  • [ ] This change requires a documentation update (notify the documentation team)
  • [ ] This change has particular deployment requirements (notify the DevOps team)

Hinton avatar Nov 23 '21 18:11 Hinton

I'm hesitant to merge this as it means we'll be releasing a different binary than what QA is testing. While it shouldn't make a difference, strange things happen. I'd like to think the upcoming account switching feature will help with simultaneous personal use and testing.

mpbw2 avatar Dec 06 '21 18:12 mpbw2

Cake is outside my area of expertise @vvolkgang. I mostly wanted a quick way to run Bitwarden on my devices without having to replace my regular app.

Hinton avatar Jan 04 '22 17:01 Hinton

I think this would be super helpful when trying to compare things on dev against prod without [un]installing prod every time this is needed. Also for people that also uses the prod app in the normal life of their device and have to test something they are currently working on, they have to keep switching which it can be a waste of time. If we're going to use CAKE, then here is a really useful extension for editing the plists Cake.Plist I can do it on a BEEEP if needed. What I'd add is some sort of automatic verification check in case someone needs to modify some plist or config file so that they update cake as well if needed

fedemkr avatar Jul 05 '22 17:07 fedemkr

Superseded by https://github.com/bitwarden/mobile/pull/2161

Hinton avatar Nov 10 '22 14:11 Hinton