обработка зависимостей для проекта iOS Framework
Я создал проект iOS Framework, используя этот метод:https://github.com/jverkoey/iOS-Framework
Работает довольно аккуратно, но меня немного смущает вопрос о том, как включить библиотеки / фреймворки, необходимые моей фреймворку для работы, и, в частности, как это сделать, чтобы в случае, если стороннее клиентское приложение, использующее мою фреймворк, могло включать эти библиотеки а также без конфликтов.
Допустим, моему фреймворковому коду нужны эти две вещи:
FacebookSDK.frameworklibFlurry.aПервый - iOS Framework. Когда я добавляю его в фазу «Связать двоичные файлы с библиотеками» в моей платформе и пытаюсь скомпилироватьклиентский проект который использует мой фреймворк, компоновщик жалуется на пропущенные символы - мне нужно добавить FacebookSDK в клиентский проект, и это здорово: нет возможности конфликтов, если клиентские приложения хотят использовать Facebook.
Однако, когда я делаю то же самое со статической библиотекой Flurry, я получаю ошибку дублирующихся символов при компиляции проекта клиента. Что меня немного смущает, потому что FacebookSDK.framework - не просто упакованная статическая библиотека?
ukaszs-iMac:FacebookSDK.framework lukasz$ file Versions/A/FacebookSDK
Versions/A/FacebookSDK: Mach-O universal binary with 3 architectures
Versions/A/FacebookSDK (for architecture i386): current ar archive random library
Versions/A/FacebookSDK (for architecture armv7): current ar archive random library
Versions/A/FacebookSDK (for architecture cputype (12) cpusubtype (11)): current ar archive random library
Итак, мои вопросы:
почему библиотека, встроенная во фреймворк (например, Facebook), не связана с моим продуктом проекта Framework, а библиотека, включенная в файл .a?Как включить файл .a в мою инфраструктуру, чтобы он не выдавал ошибку повторяющихся символов, когда клиентскому приложению, использующему мою инфраструктуру, также нужна эта конкретная статическая библиотека?