Reputation: 5365
I have a framework which is consumed by a DYLIB, and even though I have updated the framework XCode is still looking at an older version.
I have verified the framework being referred to by XCode is correct, and can use a hex editor to see the version string inside it is correct (.32). I have made a separate test app (that does not use a DYLIB) and I can consume the same framework (in the same location) without any issue.
I can even build my DYLIB fine w/o issue, and can see it is using the latest header files. However at run time I can see it is using an older version of the framework (.31) due to the logging used. I can also look inside the binary of the linked DYLIB and see this old string.
The funny thing is if I rename the framework binary, the DYLIB will still build (the test program will fail to link which is what expected), so it is used an older version somewhere.
I have tried regular Clean, "clean build folder", and also deleting the derived data directory (rm -rf ~/library/Developer/Xcode/DerivedData/*). I've also restarted XCode and my machine, and still getting this problem.
I've also tried deleting the library reference and re-adding it, which didn't help either. I've verified the directory is correct by looking at the build line used by clang.
I can't figure out where the heck XCode is reading the old version of the framework from.
Upvotes: 1
Views: 230
Reputation: 2077
If you check "frameworks search paths" under your target settings, do you see any paths you have not checked? Searching framework across OS returns only one possible reference?
Upvotes: 1