iOS Companion App in super-duper alpha!
#1
Hey everyone!

I'm working on an iOS companion app for PineTimes running InfiniTime (and probably other similar watches/watch OSes, but I haven't tested anything yet). It's pretty bare bones right now, but so far it can:
  • Scan nearby devices and allow the user to select a device to connect to
  • Connect to a PineTime running InfiniTime 1.3.0
  • Set time and date immediately after connection
  • Read heart rate, and subscribe to HRM's notifier for updated values
  • Read battery level, and subscribe to battery level's notifier for updated values
  • Display heart rate, battery level, and connection/bluetooth/scanning status to app main page
  • Write test notifications to the PineTime (I'm working on proper notifications right now)
  • Listen for button presses in the InfiniTime music control app (so far I'm just printing button presses to console, but assuming I can figure out how to expose the app to the iOS music controls it should be pretty easy to tie in!)

I've got it up on GitHub right now. Bear in mind that I had previously never worked with Swift or XCode or BLE or anything else, so it's pretty slapdash at the moment. Also, the UI is the bare minimum I could get away with, as that's a low priority for me. Definitely a functional proof of concept though!

If you have a Mac and are willing to build this app on your device and test it out, I'd really appreciate any feedback. I've only tested it with my iPhone XR and InfiniTime 1.3.0, so I'd especially appreciate people with different phones to try it out. Also, I don't have an unsealed watch and I'm not wild about unsealing mine, so I haven't been able to test against waspOS or anything. 

I don't want to make any promises about when it will be available as a TestFlight beta or a finished product, because again I have no idea what I'm doing.

Here's the GitHub repo: https://github.com/xan-m/Infini-iOS

Feel free to contact me with any questions, feedback, hate mail, rants about terrible coding practices, or whatever else! I can also be found in the following places:
Mastodon: @xanm@fosstodon.org
Matrix: @xan-m:matrix.org

P.S. if anyone in the US has an unsealed watch they're not using and would consider selling, PM me! I think it's going to take a little hacking on InfiniTime to get iOS notifications working, but I don't really want to buy a whole dev kit and pay the crazy shipping and wait two weeks and end up with 3 watches...
  Reply
#2
(08-06-2021, 11:07 AM)xan-m Wrote: Hey everyone!

I'm working on an iOS companion app for PineTimes running InfiniTime (and probably other similar watches/watch OSes, but I haven't tested anything yet). It's pretty bare bones right now, but so far it can:
  • Scan nearby devices and allow the user to select a device to connect to
  • Connect to a PineTime running InfiniTime 1.3.0
  • Set time and date immediately after connection
  • Read heart rate, and subscribe to HRM's notifier for updated values
  • Read battery level, and subscribe to battery level's notifier for updated values
  • Display heart rate, battery level, and connection/bluetooth/scanning status to app main page
  • Write test notifications to the PineTime (I'm working on proper notifications right now)
  • Listen for button presses in the InfiniTime music control app (so far I'm just printing button presses to console, but assuming I can figure out how to expose the app to the iOS music controls it should be pretty easy to tie in!)

I've got it up on GitHub right now. Bear in mind that I had previously never worked with Swift or XCode or BLE or anything else, so it's pretty slapdash at the moment. Also, the UI is the bare minimum I could get away with, as that's a low priority for me. Definitely a functional proof of concept though!

If you have a Mac and are willing to build this app on your device and test it out, I'd really appreciate any feedback. I've only tested it with my iPhone XR and InfiniTime 1.3.0, so I'd especially appreciate people with different phones to try it out. Also, I don't have an unsealed watch and I'm not wild about unsealing mine, so I haven't been able to test against waspOS or anything. 

I don't want to make any promises about when it will be available as a TestFlight beta or a finished product, because again I have no idea what I'm doing.

Here's the GitHub repo: https://github.com/xan-m/Infini-iOS

Feel free to contact me with any questions, feedback, hate mail, rants about terrible coding practices, or whatever else! I can also be found in the following places:
Mastodon: @xanm@fosstodon.org
Matrix: @xan-m:matrix.org

P.S. if anyone in the US has an unsealed watch they're not using and would consider selling, PM me! I think it's going to take a little hacking on InfiniTime to get iOS notifications working, but I don't really want to buy a whole dev kit and pay the crazy shipping and wait two weeks and end up with 3 watches...
Please PM me your shipping address and phone number (for shipping purpose), I will ship one PineTime twin pack to you.
  Reply
#3
(08-09-2021, 01:51 PM)tllim Wrote:
(08-06-2021, 11:07 AM)xan-m Wrote: Hey everyone!

I'm working on an iOS companion app for PineTimes running InfiniTime (and probably other similar watches/watch OSes, but I haven't tested anything yet). It's pretty bare bones right now, but so far it can:
  • Scan nearby devices and allow the user to select a device to connect to
  • Connect to a PineTime running InfiniTime 1.3.0
  • Set time and date immediately after connection
  • Read heart rate, and subscribe to HRM's notifier for updated values
  • Read battery level, and subscribe to battery level's notifier for updated values
  • Display heart rate, battery level, and connection/bluetooth/scanning status to app main page
  • Write test notifications to the PineTime (I'm working on proper notifications right now)
  • Listen for button presses in the InfiniTime music control app (so far I'm just printing button presses to console, but assuming I can figure out how to expose the app to the iOS music controls it should be pretty easy to tie in!)

I've got it up on GitHub right now. Bear in mind that I had previously never worked with Swift or XCode or BLE or anything else, so it's pretty slapdash at the moment. Also, the UI is the bare minimum I could get away with, as that's a low priority for me. Definitely a functional proof of concept though!

If you have a Mac and are willing to build this app on your device and test it out, I'd really appreciate any feedback. I've only tested it with my iPhone XR and InfiniTime 1.3.0, so I'd especially appreciate people with different phones to try it out. Also, I don't have an unsealed watch and I'm not wild about unsealing mine, so I haven't been able to test against waspOS or anything. 

I don't want to make any promises about when it will be available as a TestFlight beta or a finished product, because again I have no idea what I'm doing.

Here's the GitHub repo: https://github.com/xan-m/Infini-iOS

Feel free to contact me with any questions, feedback, hate mail, rants about terrible coding practices, or whatever else! I can also be found in the following places:
Mastodon: @xanm@fosstodon.org
Matrix: @xan-m:matrix.org

P.S. if anyone in the US has an unsealed watch they're not using and would consider selling, PM me! I think it's going to take a little hacking on InfiniTime to get iOS notifications working, but I don't really want to buy a whole dev kit and pay the crazy shipping and wait two weeks and end up with 3 watches...
Please PM me your shipping address and phone number (for shipping purpose), I will ship one PineTime twin pack to you.

Aw man, I wasn’t subscribed to the thread somehow and I totally missed this! I ended up ordering a dev kit, and it should arrive tomorrow. 

Thank you so much for the offer though!
  Reply
#4
Thanks for your efforts! My Pinetime will arrive tomorrow so I'm burning to start playing with it, both in combination with the Pinephone and my daily iOS driver. Great and thanks for opening up a testflight link! Do you want feedback on your github via issues or here on the forum?
  Reply
#5
GitHub issues are great for anything that’s actionable, like bugs, UI changes, feature requests, etc. For general comments and casual stuff like that, here is totally fine! Either way, I add stuff to GitHub issues as people report it from other sources, so whatever is easiest for you works for me.

If you do experience a crash, please send the crash report through TestFlight! It sends me a trace of the exact line of code that the app crashed on, so it’s extremely helpful for debugging.

Welcome to the PineTime family!
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Companion apps Markdanni123 13 6,786 01-26-2021, 04:49 AM
Last Post: Markdanni123
  PineTime smartwatch - a Linux Phone companion Luke 35 38,087 10-26-2020, 12:26 PM
Last Post: zer0sig

Forum Jump:


Users browsing this thread: 1 Guest(s)