Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BIT-58: Configure the project to allow customizing bundle identifiers and versions #14

Merged
merged 5 commits into from
Sep 1, 2023

Conversation

matt-livefront
Copy link
Collaborator

🎟️ Tracking

BIT-58

🚧 Type of change

  • 🤖 Build/deploy pipeline (DevOps)

📔 Objective

This PR modifies the project configuration to make it easier to swap out bundle identifiers and version numbers. I removed the existing xcconfig files and created a Configs directory for xcconfig files for all targets.

  • Common.xcconfig contains common Bitwarden build settings.
  • Local.xcconfig contains developer specific build settings, which override anything in Common.xcconfig.
  • And then there's a config for each target.

The Local.xcconfig file is in gitignore, so developers can put any build settings (like the base bundle ID) in this file and it will override the default Bitwarden settings. This should make it easier to swap bundle IDs for development and QA builds. For example, if you drop the following into that file, you should be able to build for device using a different team & bundle ID.

CODE_SIGN_STYLE = Automatic
DEVELOPMENT_TEAM = <Your team ID>
ORGANIZATION_IDENTIFIER = <Your reversed domain name>

I also had to make some changes to pass TestFlight validation:

  • Added app icons.
  • Add the referenced extension.js file into the action extension.
  • Remove NDEF from com.apple.developer.nfc.readersession.formats.

The NDEF change was causing the following TestFlight error:

*** Error: Asset validation failed Invalid entitlement for core nfc framework. The sdk version '16.4' and min OS version '15.0' are not compatible for the entitlement 'com.apple.developer.nfc.readersession.formats' because 'NDEF is disallowed'. (ID: a4f04d1a-d8ac-4e8d-978a-9a30055e37e5) (90778)

From what I could find, it seems like this worked in the Xamarin app because it linked against an older iOS SDK. But on newer SDKs this results in the above error. And removing that format supposedly doesn't affect NFC reading. I added a task to our backlog to confirm that when we get to that point.

📋 Code changes

  • Info.plist: Removes hard coded bundle identifiers and version which will be set xcconfig files for the bundle ID and project.yml for the version numbers.
  • *.entitlements: Removes hard coded organization identifiers.

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@bitwarden-bot
Copy link

bitwarden-bot commented Sep 1, 2023

Logo
Checkmarx One – Scan Summary & Details6ba5b77e-e041-4255-95a1-3dd7ffd8679f

No New Or Fixed Issues Found

@github-actions
Copy link
Contributor

github-actions bot commented Sep 1, 2023

1 Warning
⚠️ Total coverage less than 80%

Code coverage

Total coverage: 48.18%

Powered by Slather

Generated by 🚫 Danger

fedemkr
fedemkr previously approved these changes Sep 1, 2023
Copy link
Member

@fedemkr fedemkr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this config setup and the flexibility it gives ! 🚀

@fedemkr
Copy link
Member

fedemkr commented Sep 1, 2023

@matt-livefront btw, if you want to customize the icon for Dev, we have the icons here

@matt-livefront
Copy link
Collaborator Author

@matt-livefront btw, if you want to customize the icon for Dev, we have the icons here

Thanks, I'll add it!

Copy link
Member

@fedemkr fedemkr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!! 🎉

Copy link
Contributor

@nathan-livefront nathan-livefront left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love that dev icon!

@matt-livefront matt-livefront merged commit fc3b5ab into main Sep 1, 2023
@matt-livefront matt-livefront deleted the matt/BIT-58-ci-setup branch September 1, 2023 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants