Looping help

I am trying to build my loop app for Omnipod. At the recent TCOYD conference, Katie DiSimone said to go ahead and use the Loop-dev branch. However, the build won’t accept the Omnipod. Here is the error message I am getting. Can anybody help?? Thanks!!!

PS I tried the branch for Omnipod specifically but got 2 messages about Swift 5 and a deprecated file. No clue!!

func getPumpManagerTypeByIdentifier(_ identifier: String) -> PumpManagerUI.Type? {
for bundle in pluginBundles {
if let name = bundle.object(forInfoDictionaryKey: LoopPluginBundleKey.pumpManagerIdentifier.rawValue) as? String, name == identifier {
do {
try bundle.loadAndReturnError()

                if let principalClass = bundle.principalClass as? NSObject.Type {

                    if let plugin = principalClass.init() as? LoopUIPlugin {
                        return plugin.pumpManagerType
                    } else {
                        fatalError("PrincipalClass does not conform to LoopUIPlugin")
                    }

                } else {
                    fatalError("PrincipalClass not found")
                }
            } catch let error {
                print(error)
            }
        }
    }
    return nil
}

Which branch is that? I have used JoJo. And I think some people here have used JoJo-Beeps, maybe @ClaudnDaye and @Trying.

1 Like

@CatLady The dev branch does support OmniPod, as does Jojo-beeps.

Did you do a fresh pull from from the dev branch, and perhaps a clean build?

1 Like

The branch has no problems with the Omnipod at all. You can use it with the new Dev branch. I used it briefly, then reverted back to Jo-Jo beeps.

You may need to do a full clean build as @Trying indicated.

2 Likes

The looped group is really good about helping out as long as you do your due diligence so if you are going to post your problems, make sure you first do research on the looped group/loopdocs site, search forums for the same issue, indicate what steps you have taken, take screenshots to post on your thread, and state the problem. The more the community knows, the less they need to eliminate form the help offered.

Or you can ask the questions and seek help in Zulip.

3 Likes

Thanks, everybody. This has been so frustrating! I created a Zulip account and made a screenshot but am walking away from it for now ‘cos I gotta settle my mind before teaching a restorative yoga class this evening. :pray:

After your Yoga class can you capture a full screen shot of Xcode, right before you hit the Build/ Play button, and post it?

I’m around if you need help (I’ll send you a PM with my cell #). Like Harold said, the Looped Facebook page has a large village of folks who really want to and know how to trouble shoot this kind of thing. The keys is to post screen shots that show the exact thing you need help with and provide the details of the trouble shooting you have already done and what happened.

I had a weird error the first time I tried to build it and I finally just deleted all previous loop related downloads from my download folder, downloaded Xcode and the loop branch again and then was able to successfully build it.

You got this.

Lisa

4 Likes

That is my plan for Sunday…

2 Likes

I also had some errors the first few times. I had to restart it and retry and eventually it worked.

Wish I could offer some help here. But like Lisa said, try to download and start again. After it works the first time, it’s easy after that!

2 Likes

I didn’t realize so many of us are (will soon be!) looping! Awesome!

Katie D via Zulip told me that there is a new version of XCode just released so a lot of work is being done to update the branches right now. That’s why I had so much trouble. I’d actually started the process a couple of weeks ago but was a bit under the weather so I postponed my build.

5 Likes

Finally looping!!! :smiley_cat::clinking_glasses::pray:

Had to use the Omnipod specific build ‘cos the loop dev branch would not let me proceed with the choose pump step. (Contacted the folks on Zulip but not able to help.) But it is up and running in open mode.

6 Likes

Awesome! Congrats!

1 Like

Just FYI, the new v2.0 master version of loop has been released. It has support for overrides, omnipods, and more. It’s no longer necessary to run the development branch or jojo branch to get these features.

https://github.com/LoopKit/Loop/archive/master.zip

4 Likes

Not sure which Loop discussion to post this too, so picked this one.

For those using Loop or Loop-dev, from all reports I’ve read on Zulip Loop Chat and Loop&Learn, the current versions of iOS 16, Xcode 14, and WatchOS9 work with both the Master and dev versions. I upgraded all three on my Mac yesterday and everything’s working fine. I do NOT have any Loop code customizations running. The one thing to be aware of iOS 16 and WatchOS9 both have a new setting that must be turned ON regarding “Developer Mode.” The setting is in Settings-Privacy on the iPhone and the actual watch settings (i.e. not on the iPhone app, but on the watch itself). Once the setting is turned on, the iPhone/Watch goes thru a reset process and then Loop will function appropriately. I don’t know if other versions (FreeAPS, AAPS, OpenAPS, etc.) have the same success, however the “Developer” setting should also be required on any app you have to build using a developer license (free or paid).

4 Likes

Thanks for the update. I will be doing my updates over the weekend.

1 Like

I haven’t done this yet, but plan on giving it a go next week. Pete Schwamb has come up with a way to build Loop using iPhones, a developer account, Github, FastLane, and TestFlight that drastically reduces the effort. The process is a bit challenging the first time through, but subsequent efforts are the equivalent of a download from the Developer’s App Store every 90 days. If interested, check out ZulipChat Loop Development at Log in | Zulip and on GitHub for the documentation/process at LoopWorkspace/testflight.md at dev · LoopKit/LoopWorkspace · GitHub. If you already use Loop and have code modifications, this wont help. But for those that use the “stock” -dev version, it’s supposed to be great. The process and documentation is being refined for “previous builders” and “new users”. If you run into a problem, use the ZulipChatLoop forum to ask for assistance.

4 Likes

So here’s a report on using the Github Actions+Fastlane+Testflight to implement Loop-dev without needing a Mac, Xcode, or significant programming knowledge! I actually did the “build” step three days ago, but waited to install on my phone via TestFLight today (just in case, with Christmas, visits to relatives, etc.; not worth it not working and having to take the time to rebuild w/Xcode!).

I already have an Apple developer account and a Github account, so I used those. You can use a free Apple Developer account, but you’d have to “build” the app every 7-days; a Github account is free. I carefully followed the directions contained in the second link in the above post (Note: I’d already built Loop-dev with Xcode, so I skipped the sections first timers need to take.) On starting the “build” instruction, I ran into a problem at about the 90 second mark…the build process just stopped…I tried it three more times with the same result (yes, I know the definition of insanity, but Marion Barker [Loop Documentation guru] said it worked for her when an error occurred). Unfortunately, I’m not well versed in the finer points of Swift, Github, and TestFlight, and there wasn’t a good indicator what the problem might be. I retraced my steps through the instructions and decided to check the “signing” of the various swift modules requiring my Apple Developer ID to be inserted, I found one file didn’t have it, so inserted it. I also found the files I had listed didn’t completely match up with what a few others listed on the Loop Zulip Chat discussion groups. I thought not having all the files listed might be a problem, but tried the “build” again with the one file corrected with my Developer ID. The “build” started and the only clue things were progressing correctly was the timer counting the minutes of the build process. The instructions say “Go get a cup of coffee, it will take 20-30 minutes.” They were spot on, the timer stopped at 20 minutes, 21 seconds, and the bright green checkmark indicating a successful build showed up. Shortly after the green check mark showed up, I received an email stating my build had completed. The guidance says another email should arrive from TestFlight with an invitation to access the app. It took a few minutes for that to arrive…to the point I was thinking perhaps all was not well…but then it arrived. Clicking on the link (using iPhone email) opened the TestFlight app which indicated Loop was ready for install. This morning, I clicked on the link again, TestFlight opened, and I selected install. I got a warning a Loop version was already in place and asking if I wanted to replace it; I answered yes, and off it went. My existing Loop app was closed, replaced, and the program re-started. All my data (treatment settings, etc.) was intact (a couple people reported a notification data might be lost, though no one’s reported actually loosing any!). The app seemed to be working well. TestFlight had a selection toggle to install the updated Apple Watch app, it was already selected to do so and when I checked the watch app it seemed completely functional: able to bolus, chart showed BGs, etc. Gave several hours to see if any problems arose, but it’s been solid ever since.

This version of Loop-dev has the capability to run with a Dexcom G7 (been being tested by Looper’s in Germany), so I’ll look forward to implementing Loop with G7 when it becomes available here in the US. Future builds using Github Actions+FastLane+TestFlight are much simpler than Xcode, just follow the “build” step in the instructions; it does need to be done at least every 90 days (four times per year). There have already been a couple of people that have modified the TestFlight build instructions so it automatically builds the latest version and installs to the phone/watch every 7-days so they’re assured of having the latest/greatest version of the code. The great thing about this method, I can build from my phone, tablet, virtually any browser, so if I’m off on a cruise, loose/damage my phone, I can rebuild with a new phone, even my wife’s, just about anywhere!

Note: Loop-dev is “lightly” tested using various pumps (Omnipod Eros, Omnipod Dash, etc.), RileyLinks, OrangeLinks, Raspberry Pi’s, etc. for validation. It is NOT finalized, FDA sanctioned code or software. Use at your own risk and monitor Loop Zulip Chat groups for noted problems, issues, fixes, etc.

If anyone has any questions, feel free to ask. If I don’t know the answer, I’m sure someone else here of FUD can or I can direct you to the right people on LoopZulipChat. To use Loop-dev, you do NOT need to be a programmer, you DO need to be willing to step outside your comfort-zone, read and follow instructions, try something new, and monitor the LoopZulipChat discussion groups. Hopefully Loop 3.0 will result in more “finished” software, albeit not FDA approved, for linking insulin pumps, CGMs, and iPhones. Various similar products (same base code) are available for Android.

3 Likes

Thanks @TomH for the very detailed account of your experience with it!

We need to tag this post on FUD for future reference because people will come along and ask how to do this.