MediaLibiOS errors upon build

When I add the lib to my project and added the required frameworks:
SystemConfiguration.framework libsqlite3.tbd libz.tbd
and added the required entries to the Library Search Path:
$(inherited) (set as non-recursive)$(PROJECT_DIR)/lib (set as recursive)
Then do a build, I get the following errors:
Undefined symbols for architecture x86_64:
“_CMSampleBufferGetDuration”, referenced from:
-[BroadcastStreamClient(VideoCapture) publishSampleBuffer:] in MediaLibiOS.a(BroadcastStreamClient.o)
“_CMSampleBufferGetImageBuffer”, referenced from:
-[BroadcastStreamClient(VideoCapture) publishSampleBuffer:] in MediaLibiOS.a(BroadcastStreamClient.o)
“_CMSampleBufferGetOutputPresentationTimeStamp”, referenced from:
-[BroadcastStreamClient(VideoCapture) publishSampleBuffer:] in MediaLibiOS.a(BroadcastStreamClient.o)
“_CMSampleBufferGetPresentationTimeStamp”, referenced from:
-[BroadcastStreamClient(VideoCapture) publishSampleBuffer:] in MediaLibiOS.a(BroadcastStreamClient.o)
“_CMTimeMake”, referenced from:
-[BroadcastStreamClient sendFrame:timestamp:pts:duration:] in MediaLibiOS.a(BroadcastStreamClient.o)
“_kCMTimeIndefinite”, referenced from:
-[BroadcastStreamClient sendFrame:timestamp:] in MediaLibiOS.a(BroadcastStreamClient.o)
-[MPMediaData init] in MediaLibiOS.a(MPMediaData.o)
-[MPMediaData initWithData:size:timestamp:] in MediaLibiOS.a(MPMediaData.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please let me know what is causing this.

Hi Barry,

Please clarify:

  1. How did you add the libs to your project? Could you provide a screenshot?
  2. Did you use CocoaPods for other dependencies? If yes, provide your Podfile.
  3. Could you use CocoaPods to add Backendless SDK in your project?

Regards,
Slava

I just created a new app and manually added Backendless SDK libs & needed frameworks.

This app is built and works fine for me.
Here are my screenshots:

I discarded all changes in the project which took me back to before I added the lib and before I made the changes to build settings and build phases. I did a build and there were no errors before adding the lib. I then added the lib (see screen shot), added the 2 framework libraries in build phases (see screen shot), added the entries to Library Search Path in build settings (see screen shot). I also included a screen shot of the project list of files showing the Lib folder and the frameworks in my project. When I build the project after doing this, I get errors (see screen shot).

Barry,

Have you tried creating a simple project by following the steps from here?:
https://backendless.com/mobile-developers/quick-start-guide-for-ios/

I see several screenshots from you where the configuration is different between what we show in the Quick Start guide and what you have.

Regards,
Mark

Barry,

Please, see your build_errors.png screenshot - prefix “_CM” belongs to CoreMedia structures. You added couple of media frameworks: AVFoundation, AudioToolbox, etc (why - i don’t know) - but you didn’t add CoreMedia.framework - why? Add it, and maybe also CoreVideo, please.

Regards,
Slava

I didn’t try building a test app using the Backendless SDK (probably I should). What I did was try to integrate the Backendless SDK into my existing app that uses Parse. I should have mentioned that initially. The frameworks that are included in the app are being used by the app, although there are some frameworks in there which I probably no longer use. I’ll try and clean it up and give it a go again and post my results. I really want this to work since I think it’s a great platform to replace Parse.

Another way is to switch on this Build Settings option:
http://support.backendless.com/public/attachments/c15d004330a0fd68a95c9e65b1a30239.png</img>

Barry, did you see my comments above? Hope they will be helpful for you.

Vyacheslav, you are a God among men! Enabling modules C and Obj C in Build Settings did the trick. Thank you!

Mark, thank you for giving this a top priority. You guys are great!

Glad to report I was able to register a test user in my existing app using Backendless. Woo hoo!