سؤال

I'm running an app that uses EAAccessoryManager, which should only be available via the ExternalAccessory framework. Yet it compiles and runs without ExternalAccessory being included in the list of frameworks to link. Nor is it loaded into Xcode by any other targets. How is this possible? I'm mystified.

I'm curious because I have another project that loads a static library that also references EAAccessoryManager, and in that case, the app won't compile, exiting with the error Undefined symbols for architecture i386. This is more what I expect. What can account for the difference?

هل كانت مفيدة؟

المحلول 2

In Build Settings, in the “Apple LLVM 5.1 – Languages – Modules” section, “Link Frameworks Automatically” is enabled:

enter image description here

This is a new feature I never noticed before discovered while reading this post on @import (thanks @RhythmicFistman for the hint!). When I change that setting to “No”, I get the linker errors I expect.

نصائح أخرى

Could be a linker build setting rather than a link build phase.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top