matthewlehew
matthewlehew

Reputation: 13

What are the ways to clear out Xcode linker settings?

My question:

Is it possible for Xcode (7.2.1) to erroneously retain instructions to link a framework that is no longer anywhere in the project? If so, how can this be solved?

My problem:

I'm trying to compile an iOS project using Cocos2d-x v3.10 and the latest versions of the Soomla modules, particularly Soomla Profile. Other Soomla modules worked before I implemented Profile, but as soon as I add -lSoomlaiOSProfileFacebook as a linker flag, I get a compile-time error:

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

I'm thoroughly confused by this, as FBSDKCoreKit is a framework used in Facebook's iOS SDK version 4.0 and above, and Soomla Profile is only configured to use 3.0 (and therefore shouldn't be asking for FBSDKCoreKit). I have the FacebookSDK framework version 3.23.3 integrated into the project. There is nothing in my project that should be referencing or asking for FBSDKCoreKit.

My only possible explanation is that at one time I did have FBSDKCoreKit in my project before I understood that Soomla wouldn't work with it, and I successfully triggered a couple actions that were registered in the Facebook Developer portal (this was NOT done using Soomla commands, and this was done before the -lSoomlaiOSProfileFacebook library was linked). I feel like Xcode may be hanging on to some memory of FBSDKCoreKit for some reason, even though the framework has been completely removed along with all references.

To sum: Soomla should be looking for FacebookSDK, not FBSDKCoreKit.

Things I have tried:

All of these have been tried multiple times, and I have at least once done every step before a compile attempt.

I am convinced there is nothing in the project that should be asking for FBSDKCoreKit, which makes me wonder if this is an Xcode issue. Are there any next steps for a problem of this nature?

References

I will happily include any more information you all feel is relevant. Any feedback or troubleshooting tips would be happily appreciated.

Upvotes: 1

Views: 610

Answers (1)

matthewlehew
matthewlehew

Reputation: 13

Occam's Razor led me to grep all the static libraries provided with the Soomla Profile project. Turns out that starting with 1.4.0 (it's currently on 1.8.1) the provided binaries are querying the wrong SDK after all. I've opened a PR but keeping this question up because of the fantastic responses that taught me about checking the .pbxproj files.

Upvotes: 0

Related Questions