diff --git a/Config.xcconfig b/Config.xcconfig index a3d88e21..7834a6cb 100644 --- a/Config.xcconfig +++ b/Config.xcconfig @@ -1,25 +1,9 @@ #include? "LoopFollowConfigOverride.xcconfig" #include? "../../LoopFollowConfigOverride.xcconfig" +#include? "LoopFollowDisplayNameConfig.xcconfig" +#include? "../../LoopFollowDisplayNameConfig.xcconfig" -// -// Config.xcconfig -// nsapple -// -// Created by Kenneth Stack on 4/12/18. -// Copyright © 2018 Perceptus.org. All rights reserved. -// unique_id = ${DEVELOPMENT_TEAM} //Version (DEFAULT) -LOOP_FOLLOW_MARKETING_VERSION = 2.0.02 - -// Custom Display Name for Your LoopFollow App -// --------------------------------------------- -// The 'display_name' field allows you to personalize the name of this LoopFollow app instance. -// This name appears on your device and helps to distinguish between different LoopFollow instances. -// -// How to Set: -// 1. Replace 'LoopFollow' with the desired name of your app. -// 2. Save the file and build the app for the changes to take effect. -// -display_name = LoopFollow +LOOP_FOLLOW_MARKETING_VERSION = 2.1.0 diff --git a/LoopFollow.xcodeproj/project.pbxproj b/LoopFollow.xcodeproj/project.pbxproj index 9813aad0..6cb7e5cf 100644 --- a/LoopFollow.xcodeproj/project.pbxproj +++ b/LoopFollow.xcodeproj/project.pbxproj @@ -33,6 +33,7 @@ DDCF979A24C14DB4002C9752 /* WatchSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDCF979924C14DB4002C9752 /* WatchSettingsViewController.swift */; }; DDCF979C24C14EFB002C9752 /* AdvancedSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDCF979B24C14EFB002C9752 /* AdvancedSettingsViewController.swift */; }; DDCF979E24C2382A002C9752 /* AppStateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDCF979D24C2382A002C9752 /* AppStateController.swift */; }; + DDCFCAF22B17273200BE5751 /* LoopFollowDisplayNameConfig.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = DDCFCAF12B17273200BE5751 /* LoopFollowDisplayNameConfig.xcconfig */; }; DDF9676E2AD08C6E00C5EB95 /* SiteChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDF9676D2AD08C6E00C5EB95 /* SiteChange.swift */; }; FC16A97A24996673003D6245 /* NightScout.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC16A97924996673003D6245 /* NightScout.swift */; }; FC16A97B249966A3003D6245 /* AlarmSound.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC7CE589248ABEA3001F83B8 /* AlarmSound.swift */; }; @@ -217,6 +218,7 @@ DDCF979924C14DB4002C9752 /* WatchSettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchSettingsViewController.swift; sourceTree = ""; }; DDCF979B24C14EFB002C9752 /* AdvancedSettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdvancedSettingsViewController.swift; sourceTree = ""; }; DDCF979D24C2382A002C9752 /* AppStateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateController.swift; sourceTree = ""; }; + DDCFCAF12B17273200BE5751 /* LoopFollowDisplayNameConfig.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = LoopFollowDisplayNameConfig.xcconfig; sourceTree = ""; }; DDF9676D2AD08C6E00C5EB95 /* SiteChange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiteChange.swift; sourceTree = ""; }; ECA3EFB4037410B4973BB632 /* Pods-LoopFollow.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LoopFollow.debug.xcconfig"; path = "Target Support Files/Pods-LoopFollow/Pods-LoopFollow.debug.xcconfig"; sourceTree = ""; }; FC16A97924996673003D6245 /* NightScout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NightScout.swift; sourceTree = ""; }; @@ -630,6 +632,7 @@ FC97880B2485969B00A7906C = { isa = PBXGroup; children = ( + DDCFCAF12B17273200BE5751 /* LoopFollowDisplayNameConfig.xcconfig */, FC3AE7B3249E8E0E00AAE1E0 /* LoopFollow.xcdatamodeld */, FC5A5C3C2497B229009C550E /* Config.xcconfig */, FC8DEEE32485D1680075863F /* LoopFollow */, @@ -833,6 +836,7 @@ FC7CE518248ABE37001F83B8 /* Siri_Alert_Calibration_Needed.caf in Resources */, FC5A5C3D2497B229009C550E /* Config.xcconfig in Resources */, FC7CE550248ABE37001F83B8 /* Siri_Alert_High_Glucose.caf in Resources */, + DDCFCAF22B17273200BE5751 /* LoopFollowDisplayNameConfig.xcconfig in Resources */, FC7CE525248ABE37001F83B8 /* Sci-Fi_Warning.caf in Resources */, FC7CE556248ABE37001F83B8 /* Sci-Fi_Console_Alarm.caf in Resources */, FC7CE55C248ABE37001F83B8 /* Big_Clock_Ticking.caf in Resources */, diff --git a/LoopFollowDisplayNameConfig.xcconfig b/LoopFollowDisplayNameConfig.xcconfig new file mode 100644 index 00000000..9b1a22b1 --- /dev/null +++ b/LoopFollowDisplayNameConfig.xcconfig @@ -0,0 +1,19 @@ +// +// LoopFollowDisplayNameConfig.xcconfig +// +// Use this file to configure instance-specific settings for LoopFollow. +// + +// App Suffix: Used to differentiate AppGroupIdentifier between different app instances. +app_suffix = + +// Custom Display Name for Your LoopFollow App +// --------------------------------------------- +// The 'display_name' field allows you to personalize the name of this LoopFollow app instance. +// This name appears on your device and helps to distinguish between different LoopFollow instances. +// +// How to Set: +// 1. Replace 'LoopFollow' with the desired name of your app. +// 2. Save the file and build the app for the changes to take effect. +// +display_name = LoopFollow diff --git a/README.md b/README.md index 3e633693..6492b957 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,34 @@ low alert for the BG you want to wake up to and close Loop. Please see [Loop and Learn: Loop Follow](https://www.loopandlearn.org/loop-follow/) for all the building options. +With the release of version 2.1.0, there is now an easy option for building up to three instances of the Loop Follow app for multiple Loopers in your family. Each instance can be configured to have the display name you choose with these names being the default: + +* LoopFollow +* LoopFollow_Second +* LoopFollow_Third + +#### Display Name Updates + +The _display_name_ is found in a single file. + +* Suggestion if you customize the name: use LF {unique name} so you can find the apps easily in iOS Settings screen + +Summary instructions by build method: + +* Browser Build: + * Commit the desired _display_name_ in the LoopFollowDisplayNameConfig.xcconfig file of your forked repository for LoopFollow, LoopFollow_Second or LoopFollow_Third +* Mac-Xcode Build + * First build with script, you will be prompted to enter the desired _display_name_ + * This _display_name_ is used each time you select a fresh download for LoopFollow 1, 2 or 3 + * To modify the _display_name_ for subsequent script builds, edit the appropriate file in the ~/Downloads/BuildLoopFollow folder + * LoopFollowDisplayNameConfig.xcconfig + * LoopFollowDisplayNameConfig_Second.xcconfig + * LoopFollowDisplayNameConfig_Third.xcconfig + +#### Updates + +When modifications and versions are updated, there might be a slight delay for getting the second and third forks updated as well, so if you are using this feature, wait until all three repositories are updated. + ### General feature list Please review the list on [Loop and Learn: Loop Follow](https://www.loopandlearn.org/loop-follow/) which may be updated more frequently than this README.md file. @@ -67,7 +95,7 @@ Please review the list on [Loop and Learn: Loop Follow](https://www.loopandlearn ### Versions -We added version numbers that are incremented with each pull request that is merged. +We added version numbers that are incremented with each pull request (or group of pull requests) merged. New PR are directed to the dev branch. If you direct one to main, we will move it to point to dev. So always start with your code aligned with dev. @@ -76,28 +104,26 @@ The versioning is: * major.minor.micro * For example our first version is 2.0.0 -After that we made a decision to make the micro numbering be 2 digits. - -After a PR is merged to dev, the repository maintainers will bump up the micro verion number - please do not modify the version in your branch. +After a PR is merged to dev, the repository maintainers will bump up the verion number before merging to main - please do not modify the version in your branch. For the most part, the deveopers keep main and dev branches at the same level. But sometimes we want modification to remain in dev for additional testing. #### Version Example -Starting with version 2.0.01 +Starting with version 2.1.0 * PR with Feature A gets merged to dev - * Maintainers, bump dev to 2.0.02 + * Maintainers, bump dev to 2.1.0 * Maintainers merge dev into main - * both main and dev are at 2.0.02 + * both main and dev are at 2.1.0 * PR with Feature B gets merged to dev - * Maintainers, bump dev to 2.0.03 - * main is still at 2.0.02 + * Maintainers, bump dev to 2.1.1 + * main is still at 2.1.0 * PR with Feature C gets merged to dev - * Maintainers, bump dev to 2.0.04 - * main is still at 2.0.02 + * Maintainers, bump dev to 2.1.2 + * main is still at 2.1.0 * Maintainers merge dev into main - * both main and dev are at 2.0.04 + * both main and dev are at 2.1.2 #### Version Updates