Up and Running with FileMaker’s IOS SDK

Posted by John Mathewson on May 8, 2020

FileMaker Pro’s iOS SDK can make distributing your app a lot easier!  If you’re dealing with a large user base, using SDK can create a ‘launcher file’ to distribute through MDM (Mobile Device Management). This can remove the steps of having your users download FileMaker Go, by pointing them to the correct host on numerous devices.  In fact, you can keep the host address private.

Customization is a huge benefit because your app and its icon can entirely carry your own branding. If your organization has a suite of apps, your launcher file can have a custom landing page completely designed by you.

Additionally, with a launcher file, you’ll have the added benefit of better error handling.  Since your launcher file will be a local app, you can trigger your own custom messages if a user can’t reach the host file. For example, reminding them to connect to a VPN.  Perhaps you configure your launcher file with an OnFirstWindWindow trigger to open your hosted app.

In order to create your own: You’ll need a Mac, Xcode (an Integrated Development Environment that pulls all the tools needed to produce an App and is free to download), your own .fmp12 file, and the SDK.  The SDK is only available through enrolling in FileMaker’s Developer Subscription: https://store.filemaker.com/product/FDS

Once you have these four items in place, you’re ready.  You’ll need to get your hands slightly dirty with the Mac’s Terminal and Xcode, but don’t worry we’ll only be scraping the surface of these powerful applications.

Consider this a quick “getting started” guide. For further reference, you can find FileMaker’s Guide for iOS app SDK 18 here: https://fmhelp.filemaker.com/docs/18/en/appsdk/index.html

Once you’ve downloaded the SDK and have stored it in a location of your choice, it’s time to open Terminal.  You can find this in your Mac’s Application’s Utility Folder or by simply typing “Terminal” in a spotlight search.

On your command prompt, you’ll need to type in “cd,” add a space, and then type in the path of the directory that has the SDK, and press return.  In this case, it was on my desktop.

*Pro Tip: Instead of typing out the path, drag and drop the folder right into the command prompt*

At this point, you’ve navigated in Terminal to the folder that contains the SDK and we now have to run the program “makeprojdir” in that folder.  We’ll do that by typing “./makeprojdir”, a space, the project path, another space, and then the name of your app; in this case “ourApp”. Lastly, add a unique bundle identifier for your app, com.kyologic.ourApp and then hit enter. 

./makeprojdir <projectPath> <app name> <appBundleIdentifier>

*Note: The project path doesn’t need to exist; the project folder and its contents will be created as specified*

Within your newly created project folder, you’ll find a .xcodeproj file. Within the folder, “ourApp,” a PlaceHolder.fmp12 file will be swapped with our launcher file.

*In a multi-file solution you’d place all project files in this folder*

Now you’re ready to open your project in Xcode. Go ahead and click on your .xcodeproj file.  Once Xcode is loaded, open up its preferences, navigate to Accounts, and be sure to enter your Apple ID if you intend to sign this application and build it into an iOS device during testing.

Xcode is a large program and can be daunting, but we’ll only be making a few edits.  The first is modifying the configFile, which you’ll find on the left panel.  There are a number of edits you can make here, but we’re just going to highlight the LaunchSolution variable to the name of your Launcher file.

Now you’ll want to import your app icons.  You’ll find the place to drag and drop them within CustomAppMedia from within the project folder.  You’ll want these icons sized according to Apple’s Human Interface Guidelines, found here: https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/

Connect an iOS device and at the top left of Xcode choose your device and hit the play button to see your app load onto your device’s springboard.

The goal of this post was to quickly get you up and running.  It is recommended to go through the other steps in FileMaker’s iOS SDK Guide.  If you were building beyond a launcher app, you may need to enable iCloud capabilities, access the phone’s camera, location, etc.

It is important to note that the SDK is binding your FileMaker solution(s) to a copy of FileMaker Go, so all of the iOS limitations that come along with FileMaker Go still remain.  Another difference to note, the “Close File” script step will not work due to the nature of how iOS apps remain in memory and need to be quit from the app switcher.

There are tons of exciting possibilities using the SDK and we’d be excited to learn about how you use it.  If you need help configuring and deploying your own custom app, reach out to us today!