Compilation error while using the EILIndoorLocationManager

Hi, I was following the guidelines in the online manual to implement a simple application using IndoorLocation SDK. But I am having compilation errors at the very beginning with the following errors:

  "_OBJC_CLASS_$_EILIndoorLocationManager", referenced from:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

As I am a new user to Xcode and Swift, I checked a bit on the web and tried to clear the Derived Data and disable the Bitcode option. Actually, I have followed the manual exactly as it is.

I did a manual install of the frameworks and both the EstimoteSDK and EstimoteIndoorLocationSDK are the latest. Also the Xcode version is 7.1.1.

Any help would be great! Thanks!

It looks like you’re trying to run the app in a simulator—does this problem also happen when you try to run it on your device?

Hi, yes I see the same error at both places: the device and the simulator.

I just set up a fresh project on my machine, can you see if it works for you?

Builds just fine here, I’m on Xcode Version 7.2 (7C68), and El Capitan 10.11.2.

Thank you for your help. And comparing your “Test” project with mine, I see where I made a mistake. I missed adding libEstimoteIndoorSDK.a file in “Link Binary With Libraries” under the “Build Phases” of my project.

It was a very stupid mistake. But I guess that as I followed the instructions from this page, adding a line about libEstimoteIndoorSDK.a will prevent others from falling in the same trap. Anyways, thanks a lot again.

1 Like

Absolutely agreed, I updated the README already, thanks A TON for your feedback! (:

Hi, I have the similar error code. But I install the framework using cocoapods. What can possible goes wrong during my installation?

Here is the error i got:

ld: framework not found Pods_FYP_21052016_0214am
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Looks like some problem with your CocoaPods setup. Try going through this guide:

I am having the same issue as the OP; I did a manual install of both SDK and Indoor SDK. I am sure that I have libEstimoteIndoorSDK.a included in Link Binary With Libraries. I’ve also included EstimoteSDK.framework there too, because all of the errors are with linking classes that start with EST which is from the base SDK. I have included a more thorough explanation here on StackOverflow. The architecture in question in my project is x86_64.