Our Blog, Filemaker only, Xojo only, Archive (older)

Follow us on Twitter, Xing, LinkedIn or Facebook.

LiteSync and Xojo

The company GENSIS SISTEMAS LTDA provides a variation of the SQLite library with a sync possibility. Developers can use their SQLite library litesync replacement to add a sync to their application. As a client asked whether it works in Xojo with MBS Xojo SQL Plugin and yes, it works.

For MacOS, you need the library files libbinn.1.dylib, libuv.1.dylib and liblitesync.0.dylib. Than you change the library and dependencies via Terminal like this:

install_name_tool -change libbinn.1.dylib @rpath/libbinn.1.dylib liblitesync.0.dylib
install_name_tool -change /usr/local/lib/libuv.1.dylib @rpath/libuv.1.dylib liblitesync.0.dylib
install_name_tool -id @rpath/liblitesync.0.dylib liblitesync.0.dylib
install_name_tool -id @rpath/libuv.1.dylib libuv.1.dylib
install_name_tool -id @rpath/libbinn.1.dylib libbinn.1.dylib

Next you can load them just like other SQLite library with our plugin classes SQLDatabaseMBS or SQLConnectionMBS. (more)

Ask for permissions to control applications with AppleScript in FileMaker

MacOS 10.14 Mojave tightens control on applications who wish to control other applications via Apple Script or Apple Events. So you may need to use our new Applescript.DeterminePermissionToAutomateTarget function in MBS FileMaker Plugin to ask for permissions.

The user can decide whether they allow or block access for your application. The dialog comes only once and if you need, the user can do the checkbox later in the privacy settings. Or reset the settings via Terminal with "tccutil reset AppleEvents" command for all applications.

New function will be available in 8.4pr4 in the next days. If you need it today, just email us.

PS: You can do the same in Xojo with our NSAppleScriptMBS.DeterminePermissionToAutomateTarget function.

PPS: You may also need for runtimes to add entitlement in code signing with com.apple.security.automation.apple-events item. Plugin and app must be signed by same team ID.

Three weeks till year's end

The year 2018 will end in less than three weeks. Do you need some more licenses?
  • You can order licenses, which end in 2019 or later and have delivery plus payment done in 2018.
  • And of course you can order updates for several years in advance for all your MBS products.
  • As all licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
  • If you need a Xojo license (new or update), we can always check whether a bundle with Xojo offers an advantage for you.
  • For FileMaker please check if you have enough license for the number of seats or servers you have in use.
Especially if you run on a budget and you want to spend some money in the old year, you can buy updates for several years in advance.

FileMaker based iOS App to the App Store

Wether you target the public iOS App Store or only the ones for business or education, your iOS app needs to go through Apple's review. The automatic tests are also needed for use of Testflight. In general the FileMaker iOS SDK made apps can go through this process.

You can use plugins in your iOS app, but the automatic tests started to complain about the plugins earlier this year. Apple's tests don't recognized the .fmplugin file name extensions for plugins, so the files are not allowed to be in the plug-ins folder inside the app. Moving the plugin file to Frameworks folder caused the complain about missing .framework file extensions. Naming the plugin file with .framework fixes the complain, but FileMaker engine didn't load it, until yesterday. The new version 17.0.4 of the SDK changed the behavior and now the plugin loads from frameworks folder!

To add the plugin, follow this steps:
* Create a new folder in Finder and name it Frameworks.
* Add the MBS Plugin framework file for device or simulator there.
* Drag & Drop the folder to the Xcode project into the files list on the left.
* Choose folder reference in the dialog.
* Build your app.

The plugin does not need to be linked to the app, just be in the right folder. When you run the project, the framework gets copied into the app and you should see it as on the screenshot above.

For the app store make sure, you use the arm64 version (device folder) of the plugin. Please make sure you have the privacy strings, an provision profile for your app and enabled push notifications. Once everything is set, you can upload the app and get it though the automatic checks.

Kudos to FileMaker Inc. for listening and helping us to get the plugin loading.
Once Apple changes the rules in the future, more changes may be required.

Please get new MBS FileMaker Plugin in version 8.6pr3 or newer from us. Get the updated FileMaker iOS SDK 17.0.4. You'll need a developer account with Apple and an iOS device for testing may be useful.

MBS Xojo Plugins, version 18.6pr3

New in this prerelease of the 18.6 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 8.6pr3

New in this prerelease of version 8.6 of the MBS FileMaker Plugin:
  • Added CURL.FormClear function.
  • Updated CURL to version 7.63.0.
  • Updated OpenSSL to version 1.1.1a
  • Removed use of deprecated APIs in ucontext.h which Apple considers private API now.
  • Added Window.IsMaximized and Window.IsMinimized.
  • Fixed potential issue for List.CSVSplit function.
  • Updated DynaPDF to version
  • Added MinimalBookmark parameter to Files.CreateBookmark function.
  • Added more selectors or DynaPDF.GetField to query more fields.
  • Changed List.RemoveValue and QuickList.RemoveValue to not report error if value is not found.
  • Updated libexpat to version 2.2.6.
  • Updated libarchive to version 3.3.3.
  • Fixed a problem with MySQL DLL loading.
  • Improved relationship search field to auto complete and accept TO IDs to translate them to name.
  • Added workaround for GetBytesEx problem with returning corrupted text for >256K of text.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

FileMaker Go 17.0.4 now available

We just got notice about a new update for FileMaker Go 17.0.4:

FileMaker, Inc. has released FileMaker Go 17.0.4. This update supports 12.9-inch and 11-inch iPad Pro screen resolution.

iOS App SDK has also been updated to support this release. Access requires a FileMaker Developer Subscription or FileMaker Business Alliance membership.

Download FileMaker Go 17.0.4 on the App Store

Release notes are here.
We'll test soon if anything else has changed like our App Store plugin problem.

Xojo 2018 Release 4 Now Available

We just got notice about a new Xojo release:

Xojo 2018 Release 4 is now available for download!

It includes 110 changes and improvements, such as:

  • The new URLConnection class (part of API 2.0) is an updated version of HTTPSocket and Xojo.Net.HTTPSocket used for web communications
  • New constants AppSupportsDarkMode and AppSupportsHiDPI
  • More Dark Mode improvements to both the IDE and framework
  • iOS builds now use the 12.1. SDK for latest device support
  • macOS builds now use the 10.14 SDK for latest Declare support
  • SQLite updated to 3.25.3
The complete list of improvements in Xojo 2018 Release 4 can be found in the release notes.

We were curious whether Xojo Inc. would get back to four releases per year after just three releases last year. I consider this 4th release to be a bug fix release for the changes with dark mode from the previous release. Certainly welcome as more and more customers request Dark Mode support for MacOS 10.14 Mojave and we upgrade all projects to the newer versions. It looks like all the other nice projects in the pipeline are not yet ready, so maybe coming with 2019r1 in about three months. The Xojo conference may right in time for 2019r2 release, which may bring a few new things to be presented at the conference.

With the new URLConnection class, we got a the code from Xojo.Net.HTTPSocket in a new variation using string & memoryblock, so they better work without text & Xojo.Core.Memoryblock classes. If you have code still using HTTPSocket or HTTPSecureSocket, please move to newer classes to benefit from TLS and HTTP 1.1 implementation. If you need more options or a class working in different Xojo versions, maybe consider using CURLSMBS class from us. It can run synchronous, asynchronous and with background threading.

Enjoy the winter with long nights for coding and see you all in 2019 at a Xojo conference!

Upcoming changes for 2019

We are thinking about some changes for year 2019.

We may drop 32-bit support

DynaPDF just dropped the 32-bit Mac target by moving to Xcode 10, which simply doesn't support it any more. We still compile our plugin for 32-bit via Xcode 9, but that may not be forever. So eventually 32-bit will go away.

DynaPDF licensening

The DynaPDF licensing is set to change early 2019 a little bit. The license prices will change for DynaPDF 5. For existing customers, we suggest to order updates before the changes take effect. You can update with old pricing for up to 5 years now to secure the current pricing.

Another change is also coming. Currently you are not charged for skipped maintenance time, but that is set to change. Adding maintenance years will than start with the end of the existing maintenance period. If you bought a license in 2016 and didn't buy maintenance in 2017 and 2018, you may need to pay for two to three years in 2019 to get up to date. (more)

FileMaker updates with support for macOS Mojave

FileMaker Inc. just released update for FileMaker Pro Advanced and Server to add compatibility for MacOS 10.14 Mojave.

FileMaker Pro 17.0.3 Advanced and FileMaker Server installer with support for macOS Mojave

FileMaker, Inc. has released FileMaker Pro 17.0.3 Advanced and the FileMaker Server installer with support for macOS Mojave.

FileMaker Pro 17.0.3 Advanced includes bug fixes and compatibility updates for macOS Mojave 10.14.

The FileMaker Server installer has been updated and includes all the updates from FileMaker Server 17.0.2 and compatibility updates for macOS Mojave 10.14. Because this is a full installer, download the installation disk image and license certificate file from your software download page.

Updates have also been made to the FileMaker data migration tool. Access requires a FileMaker Developer Subscription or FileMaker Business Alliance membership.

Learn more:
FileMaker Pro 17.0.3 Advanced
FileMaker Server installer

As this update includes important bug fixes for both MacOS and Windows and performance improvements for layouts, please install the update soon.
As far as we see, the MBS plugin work just fine. Now we only wait for a FileMaker iOS SDK update.

MBS Xojo Plugins, version 18.6pr2

New in this prerelease of the 18.6 plugins:
  • Changed DynaPDFRasterizerMBS to pre-fill picture in white or black for the flags.
  • Added RotateCoords parameter for DynaPDFMBS.RotateTemplate function.
  • Added more methods to NSURLCacheMBS class.
  • Added NSCachedURLResponseMBS class.
  • Enabled SQLITE_ENABLE_API_ARMOR for SQLite to help reduce crashes with wrong API calls to SQLite.
  • Fixed crash in SQL Plugin when using unnamed fields in SQLite recordsets.
  • Fixed bug with binding empty values on encrypted CubeSQL connection.
  • Removed QuickDraw related picture support.
  • Removed Carbon ColorSync, View, Drag & Drop, Menu, Font, ATS and related classes (Carbon 32-bit only).
  • Removed IconFamilyMBS class and related global methods.
  • The MBS Plugin for Real Studio will be build on demand only.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 8.6pr2

New in this prerelease of version 8.6 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Fixing broken text encodings in Xojo

Sometimes you may see text like this:

Vielen Dank für ihr Verständnis.

That is a German text saved as UTF-8, than imported in another encoding. We need to cleanup that encoding and I got a nice function for this. We simply try to see if the text in another encoding is valid text and convert it back to UTF-8. Here is the function and it's test method: (more)

XDC 2019 Session List

The 2019 Xojo Developer Conference will take place 1st to 3rd May 2019 in Miami, Florida. The Marriott Biscayne Bay is located in the north side of Miami downtown and is a convenient location to reach most of Miami easily. Registration is possible and current rate is $899 for the ticket.

The session list has been published.
An impressive list with a lot of new speakers. Check your schedule and get a ticket soon, if you can find the time to come.

See also XDC 2019 Session List in Bob Keeney's blog.

Removing 32-bit Carbon GUI classes

As everyone now wants to use Xojo 2018 to get 64-bit, HiDPI and DarkMode on MacOS and the next version of MacOS will properly come without 32-bit support, it may be the time to remove some of the last QuickTime, QuickDraw and Carbon GUI classes.

You can still use Real Studio with current MBS Plugins 18.5, but in future, this would require to use Cocoa target at least.

We remove from MBS Xojo & Real Studiolink Plugins for next release: (more)

MBS Xojo Plugins, version 18.6pr1

New in this prerelease of the 18.6 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 8.6pr1

New in this prerelease of version 8.6 of the MBS FileMaker Plugin:
  • Fixed loading of static SQLite3 library which failed due to different mutex settings when compiling with newer SQLAPI version.
  • Added more for internal SQLite3 library load for SQLAPI.
  • Updated DynaPDF to version
  • Added Socket.IsClosed and Socket.IsListening functions.
  • Improved ColorPanel.Choose with passing color and result.
  • Added links to blog articles from help.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Birthday of our video page

Twelve years ago we started created tutorial videos and today our video page has birthday. Enjoy a video and learn about our plugins.

Over the years we collected more than 80 videos. We hope you enjoy them!

Watch Xojo Videos - FileMaker Videos

Youtube channels:

We know we could make more videos. So what wishes do you have?
Please email us or post a comment here.

Links from documentation to blog entries

This blog is running for for over 10 years already. We have a ton of articles here and now we link them to our plugin documentation, FileMaker and Xojo.

In the documentation, when you find a function or class, which has been mentioned in an article, the maximum 10 newest articles will be listed for you to jump right into the blog and read it.

Earlier this year we got the links to CURL documentation, DynaPDF documentation and all our example projects into the documentation.

And with a documentation browsing tool like Dash, you would even find the blog entries there.

For dash documentation we added Interfaces and Plugin parts to the index.
Get the dash docset here for FileMaker and here for Xojo.

Cleanup your C code for MacOS and remove FSCreateFileUnicode

This is a blog article to remind everyone writing application in C to no longer use FSCreateFileUnicode function because it is very slow on APFS in our tests.

Speed tests show a 50 times slower result with APFS and FSCreateFileUnicode function:

Time needed for NSData writeToURL: 0.350506
Time needed for fopen & fwrite: 0.218125
Time needed for FSCreateFileUnicode: 11.721211

each for 1000 files to be created & written in a Xcode project.

For creating the file (not opening and writing!), you get a 11 second wait for 1000 files. Using fopen, the standard C library, you get a much better performance.

For Xojo, it looks like they use FSCreateFileUnicode for TextOutputStream and BinaryStream classes. We got one project run in 5 minutes instead of 2h by just changing the code to write output files. This tool writes something like 100000 files in a run and heavily benefits from any optimization. Reported as feedback case 54276.

By the way our LargeBinaryStreamMBS class in MBS Xojo Util Plugin still uses the old APIs, too. We need it mainly to read/write resource forks on Mac, but as that is going away, it may be good to deprecate that in favor of an optimized BinaryStream from Xojo in a future release?

The problem seems in Apple's implementation to emulate older and deprecated FSCreateFileUnicode with the newer Apple File System. For years they told us to move away from FSRef and really it is time to move. I also reported this to Apple (case 46302303) to let them know that it's slow than they can help to keep old applications performance well by improving it.

Older blog entries:

2018-11-27 MBS FileMaker Plugin 8.5 - More than 5500 Functions In One Plugin
2018-11-27 MonkeyBread Software Releases the MBS Xojo Plugins in version 18.5
2018-11-27 Neues MBS FileMaker Plugin 8.5 - Über 5500 Funktionen in einem Plugin
2018-11-26 MBS Workshop @ Denkform
2018-11-24 Passing an UUID to each app download
2018-11-24 MBS Xojo Plugins, version 18.5pr9
2018-11-24 MBS FileMaker Plugin, version 8.5pr9
2018-11-23 Xojo Black Friday Offers
2018-11-22 Survey about European MBS Xojo Conferences 2019
2018-11-22 MBS Xojo Plugins, version 18.5pr8
2018-11-22 MBS FileMaker Plugin, version 8.5pr8
2018-11-21 Xojo Black Friday Sale!
2018-11-19 Windows on ARM in 64-bit
2018-11-18 MBS Xojo Training
2018-11-18 FMnext Experience II in Meilen, Schweiz und MBS Plugin Schulung
2018-11-17 SetApp for Xojo Apps
2018-11-16 FileMaker Roadmap for 2019
2018-11-15 Machine ID
2018-11-14 MBS Xojo Plugins, version 18.5pr7
2018-11-14 MBS FileMaker Plugin, version 8.5pr7


Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed