What is LOCAL_LIBRARY_DIR and how does it work?

Hi!
We have a discussion about where we should put our in-house framework.
At first we try ./Library folder.

Our framework doesn't have Info.plist file and it is generated from Go source.

Cmd + B was successful, but Running app in simulator ends with following error:


This app could not be installed at this time.
Could not install at this time.
Failed to load Info.plist from bundle at path .../CoreSimulator/Devices/8C671053-E54B-44D5-A9BC-966D45C0A5B1/data/Libst: ACL=

After googling and inspecting git diff, I've found interesting change:
FRAMEWORK_SEARCH_PATH contains $(PROJECT_DIR)$(LOCAL_LIBRARY_DIR)


Solution
Changing this setting FRAMEWORK_SEARCH_PATH to $(PROJECT_DIR)/Library.
Observation
I inspect this variable in xcodebuild:

xcodebuild -showBuildSettings | grep LOCAL_LIB
LOCAL_LIBRARY_DIR = /Library

Question
Could anybody tell what is going on and why Xcode treat local folder "./Library" in this special case?

Replies

Our framework doesn't have Info.plist file


Then it is not a framework. You can cobble together a framework by hand. Just look at any other framework. Build an example framework in Xcode and see how that i constructed.


Then you embed your framework inside your app. Ideally, you would have Xcode do all of this for you. I don't know how you would integrate Go into that. You could build a static library from Go source and wrap that in a framework. If you can get everything into Xcode the way it is designed, life will be much easier. You can do it manually too. But you should first do everything properly in Xcode, even with stubs, if necessary, so you know what the final version should look like. Then, you can recreate all of that manually. Or, just convert your stubs to something real and you're done.