Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-18401

Module using Google Maps SDK works fine when run with 3.4.1.GA crashes with 3.5.0.GA

    Details

    • Story Points:
      13
    • Sprint:
      2015 Sprint 02 SDK

      Description

      two years ago I developed an iOS module that wrapped around Google Maps for iOS SDK to return support for Google maps on Titanium projects.

      https://marketplace.appcelerator.com/apps/5076?restoreSearch=true#!overview

      this worked fine and with every major Titanium SDK release I rebuilt, tested and it always worked fine.

      I used to run it using

      .../3.5.0.GA/titanium.py run

      but that doesn't work anymore, instead I run

      python build.py

      which works although it will not run in simulator which adds up to development time.

      the thing is that when I tried

      xcrun lipo -info build/...... .a

      I only got i386

      so I had to recreate a new module using the new titanium CLI, change the GUID and add my objective c classes and Google framework setup guide to it.

      then after building again I managed to get it to support all architectures, so you may want to update the docs for veteran module developers.

      now for the main issue:

      I use the module in a 10 lines demo app which just opens a window and adds an instance of Google maps, I build it with 3.4.1.GA SDK and it runs fine in the simulator. I also used the latest 1.9.1 version of Google's framework

      I then simply changed the tiapp.xml to use 3.5.0.GA instead, the simulator opened, I see my debug printouts and then the app crashes, according to xcode it crashes due to a memory release that was not allocated.

      malloc: *** error for object 0xffcb5f0: pointer being freed was not allocated ***

          • set a breakpoint in malloc_error_break to debug

      I tried to set the above breakpoint, I tried to see the xcode stack when it crashes but it is of no use, it crashes somewhere in the tile drawing of the Google Maps framework but it will not do so if run through SDK 3.4.1.GA...

      Fact is, that from all the components used here the only variable that changed is the Titanium SDK version. so my guess is something in the list of changes of the new SDK broke something and some of the older apps won't work anymore. This module is used by many Titanium developers and is bundled with their published apps.

      to sum up:

      1. module + SDK 3.4.1.GA + Google SDK 1.9.1 = works
      2. module + SDK 3.5.0.GA + Google SDK 1.9.1 = crash
      3. xCode project + Google SDK 1.9.1 + sample app = works
      4. older module build compiled months ago + SDK 3.5.0.GA = crash

      attached is a sample project. it has a module folder with three versions, the 1.9.3 was built with 3.5.0.GA and supports 64-bit, the rest are older 32-bit only created with older SDKs (3.4.0 and earlier)

      you will need to get the Google SDK

      https://developers.google.com/maps/documentation/ios/

      you will also need to tell the module where to find the google framework in the module.xcconfig file per the module docs

      if you need a license key for it drop me an email : canufind1 at gmail

        Attachments

          Activity

            People

            • Assignee:
              penrique Pedro Enrique (Inactive)
              Reporter:
              moshebox@gmail.com Moshe Marciano
              Reviewer:
              Jon Alter
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Titanium SDK/CLI <> Titanium Mobile
                  Synced with:
                  TIMOB-19619
                  Sync status:
                  ERROR
                  Last received:
                  Last sent:

                  Git Source Code