Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-26897] iOS Module: Adding Third-Party iOS Framework causes build error

GitHub Issuen/a
TypeBug
PriorityNone
StatusClosed
ResolutionDone
Resolution Date2019-10-13T04:34:33.000+0000
Affected Version/sRelease 7.5.1
Fix Version/sn/a
ComponentsiOS
Labelsn/a
ReporterRakhi Mitro
AssigneeVijay Singh
Created2019-03-13T11:48:06.000+0000
Updated2019-10-13T04:34:33.000+0000

Description

The customer has an issue regarding to add third-Party iOS Framework which causes build error. The module is packaged successfully on SDK 7.5.1.GA. *Sample Test module*: https://www.dropbox.com/s/fz79its9l8w1kt6/iosTestModule1.zip?dl=0 *Steps to reproduce:* 1. Download and unzip the attached iosTestModule file. 2. Open titanium.xcconfig file,update Titanium SDK path in titanium.xcconfig file.

TITANIUM_SDK_VERSION = 7.5.1.GA

//
// THESE SHOULD BE OK GENERALLY AS-IS
//
TITANIUM_SDK = /............./Library/Application Support/Titanium/mobilesdk/osx/7.5.1.GA
TITANIUM_BASE_SDK = "$(TITANIUM_SDK)/iphone/include"
TITANIUM_BASE_SDK2 = "$(TITANIUM_SDK)/iphone/include/TiCore"
TITANIUM_BASE_SDK3 = "$(TITANIUM_SDK)/iphone/include/JavaScriptCore"
HEADER_SEARCH_PATHS= $(TITANIUM_BASE_SDK) $(TITANIUM_BASE_SDK2) $(TITANIUM_BASE_SDK3)

3. Now package the module and bind to a sample Appc project. 4. Try to run the sample project and observe the error.
[ERROR] :  ** BUILD FAILED **
[ERROR] :  The following build commands failed:
[ERROR] :  	Ld /Users/sharifabudarda/Documents/Appcelerator_Studio_Workspace/AC6068/build/iphone/build/Intermediates/AC6068.build/Debug-iphoneos/AC6068.build/Objects-normal/armv7/AC6068 normal armv7
[ERROR] :  (1 failure

Attachments

FileDateSize
iOS Device Trace.txt2019-03-14T17:33:37.000+00001927611
KofaxMobileSDKDevelopersGuide_EN.pdf2019-03-25T14:31:16.000+00001307071
log.txt2019-03-20T08:32:46.000+00004579853
tracelog.txt2019-03-14T15:57:58.000+00001615290

Comments

  1. Vijay Singh 2019-03-14

    [~fhaque] 1. I am not able to get module from shared link. Please share the module again. 2. Is error happening for running the module for device and simulator both?
  2. Fazlul Haque 2019-03-15

    We have some update from the customer about their module. They are planning to integrate Kofax iOS mobile SDK with our Appcelerator mobile app. Kofax offers data capture module for mobile apps to capture images, process and extract data correctly (from physical documents/papers) with device camera. To call kofax native iOS APIs from JavaScript, they are creating a custom module for iOS (integrating Kofax Mobile SDK). Please find below some useful links. https://www.kofax.com/Products/Mobile-Capture/Mobile-SDK/Features https://knowledge.kofax.com/Mobile_Capture https://www.kofax.com/-/media/Files/Datasheets/EN/ps_kofax-mobile-sdk_en.pdf
  3. Hans Knöchel 2019-03-15

    Real issue:
       [TRACE] :    "_vDSP_dotprD", referenced from:
       [TRACE] :        tesseract::WeightMatrix::MatrixDotVector(double const*, double*) const in MobileSDK(weightmatrix.o)
       [TRACE] :        tesseract::WeightMatrix::MatrixDotVectorInternal(GENERIC_2D_ARRAY<double> const&, bool, bool, double const*, double*) in MobileSDK(weightmatrix.o)
       [TRACE] :        tesseract::WeightMatrix::VectorDotMatrix(double const*, double*) const in MobileSDK(weightmatrix.o)
       [TRACE] :        tesseract::WeightMatrix::SumOuterTransposed(tesseract::TransposedArray const&, tesseract::TransposedArray const&, bool) in MobileSDK(weightmatrix.o)
       [TRACE] :        tesseract::WeightMatrix::DotProduct(double const*, double const*, int) in MobileSDK(weightmatrix.o)
       [TRACE] :  ld: symbol(s) not found for architecture armv7
       
    Probably linking thee AudioToolbox framework correctly will fix this. This is no Titanium bug.
  4. Rakhi Mitro 2019-03-20

    [~vijaysingh],Here is the response from the customer:
       
       This Kofax framework needs other Apple frameworks/libraries to be added in the module. So we have added them to the module and the framework names are updated in the module.xcconfig file. 
       Below are the list of dependencies for kofax: 
       1. Accelerate.framework 
       2. MobileCoreServices.framework 
       3. CoreMotion.framework 
       4. AssetsLibrary.framework 
       5. AudioToolbox.framework 
       6. SystemConfiguration.framework 
       7. CoreMedia.framework 
       8. CoreLocation.framework 
       9. Foundation.framework 
       10. libz.tbd 
       11. libxml2.tbd 
       12. libsqlite3.tbd 
       13. libc++.tbd 
       
       After packaging the module with the above changes and target to a sample app. When running the sample app still produces an error. Attached the sample module in below dropboxlink. 
       
       URL: https://www.dropbox.com/sh/nab40u3sb7as9rw/AAALdv16SxrC9qMPQpLjrdpka?dl=0 
       
       After adding all the above frameworks, we are unable to see the mentioned error “_vDSP_dotprD” in the build log file. Attached is the sample app’s build log file. 
       

JSON Source