Error adding lib to existing project

Hi. I am getting this errors when adding lib folder from iOS SDK to an existing project:

Undefined symbols for architecture i386:

“_AudioComponentFindNext”, referenced from:

  -[MPAudioUnitEngine initAudioUnit] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioComponentInstanceNew”, referenced from:

  -[MPAudioUnitEngine initAudioUnit] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioConverterConvertBuffer”, referenced from:

  -[MPAudioUnitEngine getAudioBuffer:numFrames:timeStamp:] in MediaLibiOS.a(MPAudioUnitEngine.o)

  -[MPAudioUnitEngine play:size:timestamp:] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioConverterDispose”, referenced from:

  -[MPAudioUnitEngine dealloc] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioConverterNew”, referenced from:

  -[MPAudioUnitEngine initAudioUnit] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioOutputUnitStart”, referenced from:

  -[MPAudioUnitEngine record] in MediaLibiOS.a(MPAudioUnitEngine.o)

  -[MPAudioUnitEngine play] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioOutputUnitStop”, referenced from:

  -[MPAudioUnitEngine pauseRecord] in MediaLibiOS.a(MPAudioUnitEngine.o)

  -[MPAudioUnitEngine pause] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioQueueAllocateBuffer”, referenced from:

  -[BroadcastStreamClient(AudioQueue) initAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer setQueue] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueCreateTimeline”, referenced from:

  -[AudioQueuePlayer getCurrentTime] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueDispose”, referenced from:

  -[BroadcastStreamClient(AudioQueue) disposeAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer disposeQueue] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueDisposeTimeline”, referenced from:

  -[AudioQueuePlayer getCurrentTime] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueEnqueueBuffer”, referenced from:

  -[BroadcastStreamClient(AudioQueue) initAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  _inputBufferHandler in MediaLibiOS.a(BroadcastStreamClient.o)

  _AQBufferCallback in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueFlush”, referenced from:

  -[AudioQueuePlayer dispose] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueGetCurrentTime”, referenced from:

  _inputBufferHandler in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer getCurrentTime] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueNewInput”, referenced from:

  -[BroadcastStreamClient(AudioQueue) initAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

“_AudioQueueNewOutput”, referenced from:

  -[AudioQueuePlayer setQueue] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueuePause”, referenced from:

  -[BroadcastStreamClient(AudioQueue) pauseAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer pause] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueStart”, referenced from:

  -[BroadcastStreamClient(AudioQueue) startAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer resume] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioQueueStop”, referenced from:

  -[BroadcastStreamClient(AudioQueue) stopAudioQueue] in MediaLibiOS.a(BroadcastStreamClient.o)

  -[AudioQueuePlayer stop] in MediaLibiOS.a(AudioQueuePlayer.o)

  -[AudioQueuePlayer dispose] in MediaLibiOS.a(AudioQueuePlayer.o)

“_AudioSessionGetProperty”, referenced from:

  -[MPAudioUnitEngine initAudioSession] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioSessionInitialize”, referenced from:

  -[MPAudioUnitEngine initAudioSession] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioSessionSetActive”, referenced from:

  -[MPAudioUnitEngine initAudioSession] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioSessionSetProperty”, referenced from:

  -[MPAudioUnitEngine initAudioSession] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioUnitInitialize”, referenced from:

  -[MPAudioUnitEngine initAudioUnit] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioUnitRender”, referenced from:

  _recordCallback in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioUnitSetProperty”, referenced from:

  -[MPAudioUnitEngine initAudioUnit] in MediaLibiOS.a(MPAudioUnitEngine.o)

“_AudioUnitUninitialize”, referenced from:

  -[MPAudioUnitEngine dealloc] in MediaLibiOS.a(MPAudioUnitEngine.o)

I have checked i had all frameworks listed in https://backendless.com/backend-as-a-service/quick-start-guide-for-ios/ in my project (i am not using backendless media API)

Hi,
You should add to new project target:
a.) the following Cocoa frameworks & libs (choose the target, and “Build Phases -> Link Binary With Libraries -> +”):
AVFoundation.framework, AudioToolbox.framework, CFNetwork.framework, CoreData.framework, CoreGraphics.framework, CoreLocation.framework, CoreMedia.framework, CoreVideo.framework, Foundation.framewok, MapKit.framework, Security.framework, SystemConfiguration.framework, UIKit.framework, libsqlite3.dylib, libz.dylib;
b.) if it is a first target - simply add backendless libs to progect: choose the project blue position on the top of left panel, “Files -> Add Files to …” & choose the lib folder of backendless SDK; otherwise (if current target is not a first) - add to the target the following backendless libs from lib folder of backendless SDK (choose the target and “Build Phases -> Link Binary With Libraries -> +”):
backendless.a, CommLibiOS.a, libavdevice.a, libavresample.a, libavformat.a, libswscale.a, libavutil.a, libavfilter.a, libavcodec.a, MediaLibiOS.a.

I.e, you must add the Cocoa media frameworks (AVFoundation.framework, AudioToolbox.framework, CoreMedia.framework, CoreVideo.framework) & backendless media libs (libavdevice.a, libavresample.a, libavformat.a, libswscale.a, libavutil.a, libavfilter.a, libavcodec.a, MediaLibiOS.a) even if you are not going to use media functions of backendless SDK.

Hi Vyacheslav. I added AudioToolbox framework and code compiles now.

A couple of weeks ago, i added lib folder to another project following the same steps and i didn´t have any problems. I have no idea why this time i got those errors.

Is it possible that you could update the ios quick start guide including these considerations?

Thanks!