FileMaker 17 iOS App Software Development Kit (SDK) and deployment using the Apple Developer Enterprise Program

For FileMaker 15, 16 and 17, FileMaker Inc. has made available the FileMaker iOS App SDK.  With the iOS SDK you can:

·      Brand your custom iOS App with a custom icon for easy identification.

·      Control when you apply FileMaker Go updates to your custom iOS Apps.

·      Automate the deployment of your custom iOS Apps via mobile device management (MDM) solutions.

·      Your users won’t need to install FileMaker Go and worry about configuring it to access your cloud or private in-house server – this configuration information can be embedded or made configurable within your App.

Making use of the FileMaker iOS App SDK requires a significant appreciation of the wider technology landscape outside of the core FileMaker platform skills that would normally be expected from experienced (or even a Certified FileMaker Developer) and so here is a quick overview of the prerequisites and process:

Prerequisites

1)    You must have a valid FileMaker Developer Subscription.  If you don’t already have one, then you can purchase one directly from FileMaker – this is £79+VAT/year if you are based in the UK (https://store.filemaker.com/product/FDS).  All FileMaker Developers worth their salt should already have this in place as FDS also provides access to testing only FileMaker platform licensing, access to pre-release software, the new FileMaker 17 data migration tool, as well as the iOS SDK.  Once you have an active subscription then you can download the appropriate version of the SDK (see https://community.filemaker.com/docs/DOC-6727).

2)    If you want to distribute iOS Apps, then you must have a valid Apple Developer Program subscription (see https://developer.apple.com/programs/).  A key consideration is that FileMaker, Inc. does not recommend or support the use of the iOS App SDK to distribute custom iOS apps using the public App Store.  Therefore, for distribution outside of the public App Store, you will also need to be enrolled in the Apple Developer Enterprise Program in order to be able to deploy apps in-house (see https://developer.apple.com/programs/enterprise/).  There is an annual subscription cost associated with this and you have to be able to meet the following requirements to enrol:

·      Your organisation needs legal entity status.

·      A D-U-N-S® Number.

·      The person carrying out the enrolment must have Legal Binding Authority

·      You will need to have a registered Apple ID (see https://appleid.apple.com/account#!&page=create) which has Two-Factor Authentication enabled.

·      A website which is publicly available & with a domain registered to your organisation.

3)    Access to modern macOS compatible hardware – Xcode does not run on any other platform after all!

Building your solution

There are iOS SDKs covering FileMaker 15-17 so you need to have built and tested your solution within the corresponding version – even though the .fmp12 file format is shared dating back to FileMaker 12.  Unless you have a good reason (legacy iOS/iPhone/iPad support needed) you should probably be sticking with the latest FileMaker 17 SDK which has the most developed feature set.  Some quick considerations would be:

·      Are you targeting a single form factor or multiple device resolutions?  Make sure you have layouts that are designed to resize and scale and are relatively screen resolution agnostic, or you will need to script to detect the screen/device real estate required and build optimised layouts for each device screen size.

·      You need to decide when new versions of your App are issued, should the corresponding embedded FileMaker database file be kept or replaced with each new release?  You will need to plan, detect & script for the database to be imported across from the old data file to the new data file if that needs to be preserved or make your users aware that they may potentially lose data.

·      Depending on your use case, it may be that little actual data resides on the device and it may simply act as a launcher to a cloud hosted or LAN available FileMaker Server.

·      FileMaker Inc. seems to be fully committed to a subscription licensing model and an annual release cycle going by the last few releases in line with Apple’s annual iOS release updates so you should factor in the effort to issue at least an annual release cycle to test and update your App in light of these cycles.  Likewise, normally the provisioning profiles generated and issued for the Apple Enterprise Developer scheme are time limited.

Deployment - building & releasing your first .ipa file

The 11 step guide to building using the FileMaker 17 SDK can be found here:

https://fmhelp.filemaker.com/docs/17/en/appsdk/

Once you have a working App running in your simulator then within your Xcode project you should select Product > Archive to generate a build.  You can then view a list of your builds from Window > Organiser.  This will show you a list of the Apps and builds you have generated.  Select the App and Build version and then under the right-hand ‘Archive Information’ panel select the ‘Export..’ button.

Select ‘Enterprise’ as the method of distribution:

FM iOS SDK Picture1.png

If you know that you only need to support a very specific model of hardware then you can potentially reduce the size of the binary but limit support to that specific type, otherwise you should leave App Thinning to ‘All compatible device variants’.  If you will be distributing the App via a Mobile Device Management (MDM) solution then you do not need to tick the option to include the manifest for over-the-air-installation.

FM iOS SDK Picture2.png

If you are planning to redistribute via web then you need to provide the information for the manifest file to be generated:

FM iOS SDK Picture3.png

The first ‘gotcha’ here is that even if you are planning on distributing via a web server, then even if it is an internal server, that server will still need to use https:// and so therefore must have a valid SSL certificate.  The second, is that the above example doesn’t highlight that you will need to build a basic webpage which includes a link to the manifest and the mobile profile for the App which has been generated using the Apple Enterprise Developer account and specified within the App’s Xcode project when the build was generated.

For example, the .html page which is used to install the app will need to include these links along these lines:

<a href="itms-services://?action=download-manifest&url=https://[your-website-url]/manifest.plist" id="text"><h1>Install the Your App</h1>

and

<a href="https://[your-website-url]/Distribution_Profile_[your-mobile-app-name].mobileprovision" id="text"><h1>Install the Distribution Profile</h1>

The third snag if you aren’t using a MDM solution to push out both the App and the Mobile Provisioning profile in conjunction is that you need to download the app, install provisioning profile and then go to General > Settings> Profile > Enterprise App/[Your authorising organisation] and then click on the option to ‘Trust’ the organisation.  If your device already has MDM enabled for another 3rd party then this will appear under a slightly different location - General > Settings> Device Management > Profile > Enterprise App/[Your authorising organisation]

Until this is completed then if you attempt to open the App then you will be warned that it is an ‘Untrusted Enterprise App’.

The final consideration if you don’t have MDM is that you don’t get the benefits of issuing updates via ‘push’ like you do with the public App Store – when new updates are released, users will have to delete the App file and then re-install.

Need some assistance with deploying your  FileMaker App using the iOS SDK or need some assistance with how to get the most out of FileMaker 17 platform?  Call our team to find out more about the benefits from upgrading for a free, no obligation quotation.