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

Hyperloop: iOS - Framework handling regressions

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Hyperloop 2.2.0
    • Component/s: Hyperloop, iOS
    • Labels:
      None
    • Environment:

      TiSDK 6.2.2.GA
      Hyperloop 2.2.0 RC3

    • Story Points:
      2

      Description

      Configuring third-party sources in appc.js causes the FRAMEWORK_SEARCH_PATHS build setting to be overwritten without inheriting other paths. Also pulling in additional system frameworks via the frameworks setting in appc.js doesn't work anymore. This is a regression to Hyperloop 2.1.3.

      Steps to reproduce the issue

      1. Follow the instructions in TIMOB-25393 by placing the Contentful SDK inside the hyperloop-examples project and make sure to select a SDK build that already includes the fix from that ticket
      2. Add the following system frameworks to the frameworks configuration option in appc.js
        • SystemConfiguration
        • MobileCoreServices
        • CoreData
      3. Add the following sample code to app/controllers/index.js

        var CDAClient = require('ContentfulDeliveryAPI/CDAClient');
        var client = CDAClient.alloc().initWithSpaceKeyAccessToken('foo', 'bar');
        

      4. Build and run the hyperloop-examples application

      Actual behavior
      The build fails with the following linker error due to not linking against CoreData framework:

      [TRACE] Undefined symbols for architecture x86_64:
      [TRACE]   "_OBJC_CLASS_$_NSManagedObject", referenced from:
      [TRACE]       _OBJC_CLASS_$_CDALocalizablePersistedEntry in ContentfulDeliveryAPI(CDALocalizablePersistedEntry.o)
      [TRACE]   "_OBJC_METACLASS_$_NSManagedObject", referenced from:
      [TRACE]       _OBJC_METACLASS_$_CDALocalizablePersistedEntry in ContentfulDeliveryAPI(CDALocalizablePersistedEntry.o)
      [TRACE] ld: symbol(s) not found for architecture x86_64
      [TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)
      [ERROR] ** BUILD FAILED **
      [ERROR] The following build commands failed:
      [ERROR]         Ld build/Products/Debug-iphonesimulator/Hyperloop_Sample.app/Hyperloop_Sample normal x86_64
      [ERROR] (1 failure)
      

      Expected behavior
      The build links against the specified system frameworks and is successful. The app loads without a crash.

        Attachments

          Activity

            People

            • Assignee:
              jvennemann Jan Vennemann
              Reporter:
              jvennemann Jan Vennemann
              Reviewer:
              Hans Knöchel
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

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

                  Git Source Code