2016-10-14 7 views
2

шаги, чтобы понять мою проблему:Как получить доступ к сторонней структуре из My.Framework?

1) Я создал структуру (My.framework)

2) Добавлена ​​My.framework как подпроект к MyApp.xcodeproj.

3) Затем я запустил cocoapod для добавления AFNetworking на MyApp.xcodeproj.

4) Теперь я открываю MyApp.xcworkspace.

5) При попытке доступа к AFNetworking из классов в My.framework. Он недоступен.

P.S. Я не говорю о «зонтичных рамках». (Зонт рамки где мы добавим рамки в виде рамки подпроекта.) (Поправьте меня здесь, если я ошибаюсь)

Я просто хочу, чтобы получить доступ к AFNetworking пока еще из My.framework

+1

Вы добавляете AFNetworking к своему приложению, а не к своей структуре. Я думаю, что это проблема. – Andy

+0

Но мне нужен доступ к AFN как в приложении, так и в FW. –

+0

Если я добавлю AFN в FW, тогда FW станет «рабочей областью». и WS не может быть добавлен в качестве подпроекта для приложения. –

ответ

2

Добавить подпсус для вашего фреймворка и включить необходимые зависимости, такие как AFNetworking.

pod spec create 

Затем включите ваш podspec в подфайл приложения.

Пс: Вам не нужно публиковать свой podspec, вы можете использовать его локально.

+0

Привет, Энди, спасибо, что был здесь. Я получаю «[!] Неизвестная команда:' init' ", нажимая эту команду. –

+0

Это ... 'pod spec create My'? –

+1

@ jeet.chanchawat да, извините, это 'create'. Это должно создать для вас специальный файл спецификации. Просто, если вы работаете с Cocoapods, тогда вам лучше поддерживать все через них. Podspecs прекрасно описывают сложные зависимости и упрощают работу снаружи, когда вам нужно связать свою структуру. Кроме того, CocoaPods должен позаботиться о внедрении фреймворков для вас. – Andy

0

В моем случае это работает.

Отрегулируйте файлы заголовка в Target-> Build Phase-> Copy Headers. Здесь мы можем установить видимость заголовка.

enter image description here

см больше: https://stackoverflow.com/a/27638841/3901620

0

Другой способ

всякий раз, когда вы не используете стручок затем использовать это.

В Objective C

1) Импорт или просто Copy (перетаскивание) AFNetworking или любого другого класса, который вы используете в вашем проекте.

enter image description here

2) Импорт, где вы используете.

enter image description here

Готово Теперь вы можете получить доступ к нему.

В Swift

Вы просто импортировать или скопировать класс третьей стороны или рамки вашего проекта вам не нужно импортировать его, где вы используете.

+1

Вы даже попытались прочитать вопрос, что спросили? –