2015-11-11 76 views
0

所以我覺得我有這個還挺清楚的基礎上,this blog post和我的實驗:框架cocoapod是否可以有一個可選的公共頭文件?

  • 包含的內容由@import MyPod;是自動生成的MyPod-umbrella.h頭,它根據Podspec
  • 進口所有的公共報頭自動生成模塊地圖還允許那些明確的進口,只有那些相同的公共報頭是怎麼通過#import <MyPod/MyPod.h>頭包括
  • MyPod.h頭,我仍然需要做,但它可以輸入任何東西我選擇在模塊地圖

我希望能實現,然而,對於無論是@import#import要包含的頭,但大多數不我莢的公共報頭的所有。我希望我的一個公開頭文件包含通常省略的可選聲明,僅從需要它的幾個.m文件中手動包含。但是當代碼使用@import時,它似乎不可能,因爲包含在該傘標題中總是匹配全部公共標題。

指定自定義模塊映射是可能的,並且可以工作,但這樣做似乎排除了自動生成的地圖&傘頭的好處。

難道是猶太做一些宏觀& #ifdef招數由@import包括時跳過我的「可選」頭部的內容,但再使用的內容,如果是頭再次與#include拉?這聽起來很醜,但它是我唯一的選擇嗎?

回答

0

我發現所有的招數#ifdef使用我的框架的CocoaPods的時候,但我敢肯定,他們會在不發揮作用時的問題。但我並不想對框架產生偏見,並希望兩者都有解決方案。

因此採取另一種方法,我發現它並不難的一個項目進入吊艙的私有頭!請參閱herehere(最後一個提示是針對Swift的,但我確定右邊的@import也可以在Objective-C中使用)。

所以在我cocoapod我打算讓可選頭私有,然後依靠我的用戶使用這些方法,如果需要訪問它。

相關問題