могу ли я использовать cocoapods при создании cocoa touch framework?

<p>я создаю новый cocoa touch framework (myframework.framework), который будет зависеть от alamofire. эта структура будет написана на swift. в качестве теста я запустил новый проект cocoa touch framework:</p><pre><code>file > new > project > framework & library > cocoa touch framework </code></pre><p>затем в терминале я выполнил:</p><pre><code>pod init </code></pre><p>в этом каталоге проектов. во вновь созданном podfile я добавил следующее:</p><pre><code>source 'https://github.com/cocoapods/specs.git' # uncomment this line to define a global platform for your project platform :ios, '8.0' # uncomment this line if you're using swift use\_frameworks! pod 'alamofire', '~> 3.0' </code></pre><p>еще раз, в терминале я выполнил:</p><pre><code>pod install </code></pre><p>и начал кодировать прочь. </p><p>все казалось хорошо и хорошо, пока я не использовал продукт myframework.framework в проекте с одним представлением. когда я пытаюсь запустить проект, я получаю следующую проблему: </p><pre><code>dyld: library not loaded: @rpath/alamofire.framework/alamofire referenced from: /users/me/library/developer/coresimulator/devices/87da70b6-49bf-441e-bd81-f4a80b0792cf/data/containers/bundle/application/2e414ea8-7e54-4d71-9295-566d4faaade2/test.app/frameworks/myframework.framework/myframework reason: image not found </code></pre><p>я думал, что проекты cocoa touch framework по своей природе являются динамическими и, следовательно, будут включать все зависимости. </p><p>может кто-нибудь сказать мне, почему это происходит и как я могу это исправить? это проблема с cocoapods или я что-то упустил?</p><p>я новичок в stack overflow, поэтому, пожалуйста, дайте мне знать, если вам нужна дополнительная информация от меня. </p><p>спасибо!</p>

<p>к сожалению, cocoapods не поддерживает использование с целью cocoa touch framework. я нашел несколько ссылок на это, копаясь в их проблемах на github:</p><blockquote> <p>на самом деле мы не поддерживаем интеграцию pod в целевые объекты фреймворка ...<br> - <a href="https://github.com/cocoapods/cocoapods/issues/4493#issuecomment-153681304">неоничу</a> 4 ноября 2015 г.</p> </blockquote><p>а также</p><blockquote> <p>... для того, чтобы это "просто работало", cp должен будет выполнить рекурсивный анализ зависимостей в вашем проекте xcode, а также каким-то образом убедиться, что вы никогда не будете использовать продукт сборки в другом контексте.<br> - <a href="https://github.com/cocoapods/cocoapods/issues/3440#issuecomment-119342221">неоничу</a> 7 июля 2015 г.</p> </blockquote><p><br /> до сих пор я нашел два способа решения этой проблемы:</p><p><strong>правильный способ</strong> - создать новую спецификацию pod для вашей платформы и добавить ее в ваш основной проект через cocoapods. это решает все проблемы, которые cococapods имеет с графом зависимостей, и является рекомендуемым решением от разработчиков cocoapods.</p><p><strong>самый простой способ</strong> - включить модули из вашего фреймворка в ваш основной проект. кажется, это работает, но, честно говоря, я не знаю почему. это подфайл из моего тестового проекта:</p><pre><code>platform :ios, '9.0' use\_frameworks! def myfirstframework\_pods pod 'alamofire', '~> 3.0' end target 'myapp' do pod 'swiftkeychainwrapper', '~>1.0' myfirstframework\_pods end target 'myfirstframework' do myfirstframework\_pods end </code></pre>

<p>попробуйте добавить зависимость от alamofire в psspec фреймворка, как показано ниже </p><pre><code>pod::spec.new do |s| # other setup # dependencies s.dependency "alamofire" # other dependencies if any </code></pre>