Looking for help with GUI on FreeAPS Loop

Hi Everyone!
I am using a version of the FreeAPS Loop on iPhone. I am wondering if any of the Loop gurus here can help me with something…

This is a screenshot of my iPhone when I bolus. I am trying to figure out a way to make the bolus amount text bigger here, just while bolusing. (The part I boxed in red below.)

Just to make it easier to see when I do a bolus! You shouldn’t need to have your glasses on just to do a bolus, right? :grinning:

I know where the string is set, but can’t figure out how to make it bigger during the bolus.

From this file:

private func updateProgress() {
guard !disableUpdates, let totalUnits = totalUnits, let unit = unit else {

    let totalUnitsQuantity = HKQuantity(unit: unit, doubleValue: totalUnits)
    let totalUnitsString = quantityFormatter.string(from: totalUnitsQuantity, for: unit) ?? ""

    if let deliveredUnits = deliveredUnits {
        let deliveredUnitsQuantity = HKQuantity(unit: unit, doubleValue: deliveredUnits)
        let deliveredUnitsString = quantityFormatter.string(from: deliveredUnitsQuantity, for: unit) ?? ""

        progressLabel.text = String(format: NSLocalizedString("Bolused %1$@ of %2$@", comment: "The format string for bolus progress. (1: delivered volume)(2: total volume)"), deliveredUnitsString, totalUnitsString)

        let progress = deliveredUnits / totalUnits
        UIView.animate(withDuration: 0.3) {
            self.progressIndicator.progress = progress
    } else {
        progressLabel.text = String(format: NSLocalizedString("Bolusing %1$@", comment: "The format string for bolus in progress showing total volume. (1: total volume)"), totalUnitsString)

Not sure who all the Loop experts are. I know these are a few of the many here who do Loop or who have done it in the past. @dm61 , @bkh , @CatLady , @Trying , @ClaudnDaye



Just trying to read the code snip, it looks like you’ve found the code that decides the text characters to print, and stuffs them into the string at progressLabel.text, but it’s not clear where the code is that renders that text string out onto your screen, with characteristics like size, font, and boldness. I’d say keep looking for some place that declares the properties of the progressLabel, and code that somehow actually prints out the progressLabel contents. Who knows, maybe the progressLabel has properties other than “text” that store attributes like size and font and boldness and so on, initialized once somewhere.


Here is what I think you may try. In search, enter progressLabel and click on the result that comes with a little pen&brush symbol. You should then see what is called a “View” where properties of the label can then be adjusted in the menus on the right-hand side. For example, you can see System Bold 15.0 is set there. Attached is a screenshot from Xcode that may help.

I have never messed with Views so I do not know if e.g. simply changing the font size would work or if you’d need to do more.


Thanks a bunch, I will give it a try!

I am not sure if I am the only one who has this issue, but I just want to see the amount number a little bigger! I just always worry about giving the wrong amount.


@Eric If you haven’t already, you may want to go on the Loop github site and PM Marion Barker about how best to do it. She does most/all of the UI documentation for Loop dev and I’m pretty sure she’d be able to point right at the place needed.


Thanks @TomH. I think I may have the GUI part figured out, except then I started getting build errors. And I have not figured that out yet.

line 39: /usr/local/bin/carthage: No such file or directory
Command PhaseScriptExecution failed with a nonzero exit code

Any ideas on that? :arrow_up: The reference to /usr/local/bin/carthage which does not exist. That is a new error.


@Eric I’m not familiar with FreeAPS, Loop dev recently moved to Carthage “free” building, though there was a hiccup in the process at one point. I recall there was an issue with the Carthage version having to do with, I believe, the Xcode version. Other than that, I’m out of my depth. Best wishes for resolving…


Thanks @TomH. I deleted everything except my project and then I uninstalled Xcode.

I’m downloading Xcode again and I’m going to reinstall it and see if anything changes.

1 Like

Good suggestion by @TomH. I’m also not familiar with FreeAPS. Hwr, if I’m not mistaken, I believe Marion Barker was using FreeAPS for a while so she may be able to help with the build error.


Marion Barker announced the update of FreeAPS to v.2.3.0(300) at Release FreeAPS v2.3.0 (300) · loopnlearn/LoopWorkspace · GitHub. She also has mentioned a sunset on updates of the code. If I understand correctly, FreeAPS is based on the Loop code and it probably includes updates from the recent release of Loop 3.0. Best of luck to anyone using FreeAPS!


How hard do you think it will be for me to port all my current mods over to the non-RileyLink version, once Insulet forces my hand on that?!?


1 Like

@Eric Hard to say without knowing all your mod’s and how extensive. If they’re not that extensive, I wouldn’t think it all that difficult; probably more time consuming than difficult unless you had significant trial and error efforts.


Almost all my mods are just changes I’ve made by editing the files in a text editor. I have it all documented. (Like the notes I gave you on the other thread!)

Once I am forced to move over, I will have to go through it all and see.

But I am gonna avoid that mess for as long as I can!

1 Like

I find no RileyLink to be very nice. I quite like the better connectivity / lack of disconnects. It might be worth the effort to port your mods over.


No rileylink means you are using Dash with Loop? I would love not to have to carry around the rileylink with me which I sometimes misplace! Sounds like you also find the Dash has better connectivity with Loop, too, another plus!


Do you think it would be possible to have both versions on my phone? So that I could get it all working before I make the permanent switch?

And I don’t mean use them both at the same time. I mean I could install it, try it. If it needs more work, I’d still have the old version as a fall back. I could do development on the new system and still use the old system for my actual pod use.

Once you have Loop 3 installed, switching back and forth is as easy as removing dash from loop and adding eros back (and grabbing that RL).


I currently have a version of FreeAPS installed.

If I call it a different name, I would assume I could install Loop3 on my phone at the same time, right? That way I could go back to my current version while I am fixing stuff in Loop3.

Yes. In Loop 3.0, Omnipod Dash is just one of the pumps in the list
when you use Add New Pump. And for me the bluetooth radio connection just works, whereas with the RileyLink and Eros pods I found myself rebooting the RileyLink and the phone every few days to try to get things working again.


I don’t actually know the answer to this, because I don’t know whether the two versions would interfere through something they share, like Apple Health or some data storage. And there’s a decent chance that when Loop 3.0 is installed it tries to convert databases and clean up debris from the previous Loop version. That said, maybe it could be made to work somehow.

But I think that if your mods are of the same complexity as the improvement to the dosing display while a bolus is in progress, it probably would be best just to modify the new version and expect it to work when you install it (I mean, it should be straightforward to get those kinds of mods to work the way you want.) Just be sure to take a good backup (of the phone) before installing the new version, so you can uninstall it and restore the phone and reinstall the previous version if it comes to that.