A few startup questions

I'm just having my first look at the developer webpages

A couple of very basic questions

1) To write applications for use on a Garmin watch I need to download the Monkey C compiler and eclipse IDE and use these two to write an app that runs stand alone on the watch

2) To write a companion smartphone app (this is the bit i'm not sure about) I download the iOS BLE SDK and use that with Apples Objective C or can I use Swift ?? to write an app on the phone that talks to the watch via Bluetooth ?

Thanks in advance
  • Former Member
    Former Member
    1 - Correct, you need the Monkey C compiler to write an application that runs on the Garmin device. The eclipse plug-in is not necessarily required, but it makes things significantly easier for most and includes features such as the debugger that are otherwise unavailable without the plug-in.

    2 - The exposed API in the iOS mobile SDK is all Objective-C. I am not very familiar with Swift, so I could be wrong, but I believe it is not too difficult to interface with Objective-C. In that case, interacting with the CIQ mobile SDK should be possible, and you could always write a small wrapper in Objective-C and build out the rest in Swift, if that makes things easier.

    Here is the guide for the iOS mobile SDK:
    https://developer.garmin.com/connect-iq/programmers-guide/ios-sdk-guide/
  • Thanks very much for the speedy reply.

    Do you happen have links for Eclipse and Monkey C for Mac ?

    Late last night I did manage to download XCode 8.2 for my old 2009 Mac Mini 3gb ram El Capitan which I only use for iTunes

    I also downloaded the iOS SDK and managed to compile and run the example app

    The iOS simulator is almost unusable it's so slow but I'm just trying to get far enough to see if something is even vaguely feasible without having to buy any hardware

    I started the Connect IQ simulator (blank window)

    When I clicked the "find devices" button in the iOS simulator example app it said it needed Garmin Connect to be installed

    I clicked to go to the store and it started safari in the simulator but did not show the app store Garmin page, just some odd looking app store icon/page

    This briefly lead me down the road of how to side load third party apps into a simulator image etc but I just ran out of time

    I did get as far as seeing thing that suggest downloading the app in the desktop iTunes and then copying a certain file to a certain folder the simulator can see but there seem to be some doubt if this still works in 2017 and the latest itunes does not store your iOS apps anymore does it ?

    I'm just trying to get to the point of the two simulators talking to each other and exchanging a few simple messages before I go any further

    Thanks again
  • Ah OK I'm not at home at the moment but is the Monkey C compiler part of the SDK I have already downloaded ? Looking on www.eclipse.org/downloads which version should I get ? Do I get the C++ version and then get the Monkey C plugin ? Thanks
  • You likely want to start with using eclipse, as there are things you can do there that you can't do with the command line, such as app-settings. When you download and install the SDK, that's what you need - the compiler, sim, etc, and with Eclipse, because to install the eclipse plugin for the SDK (the steps are at the beginning of the Programmer's Guide)

    A 2.4.0 beta SDK was posted just yesterday, but you may want to start with the current release of the SDK - 2.3.4.

    Check the beginning of the Programmer's Guide, as it tells you want you need.
    https://developer.garmin.com/connect-iq/programmers-guide/getting-started/
  • Thanks. I should have enough to go on later apart from do you have any advice on how I get the garmin connect app required by the ios sdk example code into the iOS simulator as the simulator does no seem to have access to the app store ? Can the iOS simulator and the Garmin simulator talk to each other ? Thanks
  • Former Member
    Former Member
    The iOS SDK is not something I'm very familiar with personally but I don't think the iOS simulator Apple provides can communicate with the Connect IQ simulator. The Android simulator can communicate with the Connect IQ simulator via adb. I don't know of a iOS tool similar to adb (again, not very familiar with the iOS dev environment).
  • Thanks. So to even to try the most simple thing in terms of ios companion app communication I am going to need a real ios device and a real watch ?
  • Former Member
    Former Member
    To the best of my knowledge this isn't possible using the iOS simulator so I guess if you want to use iOS then the answer would be yes.

    You could alternatively try experimenting with an Android partner app and use adb to communicate between the two simulators as outlined in the Communication section of the Programmer's Guide.
  • Thanks very much for this very useful feedback. Unfortunately I wanted to try something that is iOS specific. But thanks for saving me a lot of time. I've setup an ebay searches for some watches so I will see if I can find a bargain because no one was looking that day