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:
- Erasing the entire project and cloning a git commit from before implementation of Facebook was ever attempted
- Erasing Xcode derived data (from both within Xcode and directly from Finder)
- Cleaning the project
- Deleting the Facebook SDK and reinstalling
- Deleting all Soomla modules and reinstalling by 1) removing references to Soomla projects and libraries from the project, 2) deleting Soomla modules from Cocos2d-x directory and replacing them with freshly downloaded versions (this includes the library referenced by
-lSoomlaiOSProfileFacebook
), re-adding them to the project (both Xcode project files and static libraries)
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
- Paste of the compile error output
- Post on Soomla forums regarding this issue. This post also includes confirmation that the
FBSDKCoreKit
library isn't in my project.
I will happily include any more information you all feel is relevant. Any feedback or troubleshooting tips would be happily appreciated.