I've looked & can't find any info about this - if I've created an app using the iOS App SDK version 15.0.1, how to I update it to 15.0.2? Do I have to create a new project from scratch or is there an 'update' process?
From my experience, and what I was told, you have to create it from scratch.
You do not have to recreate the project from scratch, but you do have to build the app again with the new SDK. You would also change the version number, as you would with any update. Use the same method you would use as if you were updating the database.
No there is not an automatic update of the SDK.
That sounds promising. Could you expand on how you build the app again with the new SDK? Do I need to copy files from the new SDK into the project folder for my app?
Replace the old SDK with the new SDK. Change the version number of your app then rebuild. Note current users data will not automatically be imported / updated . See http://www.yzysoft.com/filemaker-tips/how-to-update-native-ios-app-created-with-filemaker-ios-app-sdk/
Thanks for the link - that looks useful for updating the FileMaker file in my iOS App. The bit that I am still unsure about is how to "Replace the old SDK with the new SDK". Is it as simple as replacing the iOSAppSDKResources folder in my existing project folder with the iOSAppSDKResources folder from the 15.0.2 download? Or is there more to it than that?
It will not use the new sdk until you build the app again with the new sdk, which requires you to change the version number in xcode. The App on the app store is one file that contains more than one file (the database(S) and the SDK. You will have to build the app again. Once the version number is changed it will automatically update your users with the new version of your file, but it will not copy the data automatically, hence the reason you need a update process for the data in your database. If you do not have an update process in your database then your users will end up with a new app that uses the new sdk with no data.
You do not have to recreate the whole project.
It works the same way if you updated the database. You don't recreate the whole project, you change the database and the version number in xcode then build the app.
Thanks for your help on this - I appreciate it but I fear I am not expressing my question very well. I am not concerned at this moment about updating the FileMaker file as it is just a link to the hosted database & doesn't hold any data.
What I am concerned about at the moment is updating my project to be using v15.0.2 of the SDK instead of 15.0.1. It sounds like the process is:
1. Replace the old SDK with the new SDK
2. Update the build number
3. Re-build the app
I understand numbers 2 & 3 and know how to do those.
The missing piece off the puzzle for me is number 1. Is it as simple as replacing the iOSAppSDKResources folder in my existing project folder with the iOSAppSDKResources folder from the 15.0.2 download?
You have to re-download the SDK to replace it. Re-downloading will give you the updated version
I have answered your question 3 or 4 times. I give complete answer, so when others read they understand the complete process and so you don't end up with angry users because their data disappears.
When you build the app with the new SDK then the app will run using the new SDK, you have to change the version number in xcode so that current users of the software get an updated version of the app. No version number change then users app does not get updated.
1. Replace SDK in your project with the new SDK
2. Change version number in xcode.
3. Build App
Current users will now be able to update their app. If there is data in their current database on their device, it will be over written unless you have an update process in your database file. Again, this is a warning for users that have data in their database.
I am clearly not asking the question in the right way because you think you're answering my question but you're not answering the one bit that I still don't get.
I have downloaded the new sdk. My question is what do I do with the downloaded SDK - how do I "Replace SDK in your project with the new SDK"?, i.e. what files do I move to where? I believe it is the following but this is the bit I am unsure of:
1. Go to the AppResources folder of the iOSAppSDKPackage_15.0.2 folder & unzip the Resources.tbz file
2. Go into the resulting Resources folder
3. Copy the iOSAppSDKResources folder into the project folder of my app, replacing the existing folder of the same name
Do these three steps achieve "Replace SDK in your project with the new SDK"?
Many thanks for your patience.
If you want everything to function properly you have to completely rebuild the SDK from the ground up even with every minor update. All icons, files etc. have to added manually just like in the previous build.
Xcode will rebuild the SDK to produce the final App as long as the either the version or the build number is different from the previous one. However, since you are using the same App name Xcode will only change code that is different from whatever is already present in the Xcode cache/folder from the previous build.
This is problematic due to an Xcode bug and can leads to errors and crashes (at least it did when going from 15.0.1 to 15.0.2). Therefore the most important step is to clean out ~/Library/Developer/Xcode/DerivedData manually before rebuilding your app with the new SDK.
That is the easy part. Schamblee has already touched upon the harder part which is migrating the data from the previous version to the new version once the user installs the app.
Retrieving data ...