2014-10-07 147 views
20

我创建在Xcode 6.0.1一个新的项目,并创建以下Podfile:CocoaPods与XCode 6.0.1 - 我如何解决出现在红色的豆荚框架?

source 'https://github.com/CocoaPods/Specs' 
platform :ios, '8.0' 

pod 'AFNetworking', '~> 2.0' 

我然后跑pod install,并在Xcode打开xcworkspace。当我构建项目时,所有框架都显示为红色。例如,荚项目下的Foundation.framework显示为红色,并指不存在我的电脑上的路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework 

我的问题是:我怎样才能框架出现在导航器中以黑色显示,并将我的吊舱正确链接到我的主项目中?

Xcode screenshot

我已在答案中提到这个question几个变化:

  1. 本来,libpods.a产品以红色出现为好。我通过将每配置构建产品路径更改为$(BUILD_DIR)/$(CONFIGURATION)来解决这个问题。

  2. 我已经确定我的基本SDK是我可以找到的所有目标上的iOS 8.0。

  3. 我已验证我的有效架构已设置为“arm64 armv7 armv7.1”,用于所有可找到的目标。

+2

对于我在主项目(tmpios)的构建设置中的“其他链接器标签”中添加$(继承)做了这个伎俩,仍然是红色的,但链接正常并且运行良好。 – 2015-11-16 12:00:18

回答

3

这是正常的,因为这些框架不存在于pod的项目路径中。正如我在tmpios->中所看到的那样,框架不会出现在任何应该存在的框架中。 选择你的项目,然后Target-> tmpios-> Build Phases-> Link Binary With Libraries,然后添加你需要的框架。

如果你仍然有一个编译错误,并没有找到荚库然后再编写荚文件以这种方式:

source 'https://github.com/CocoaPods/Specs' 
link_with ['tmpios', 'tmpiosTests'] 
platform :ios, '8.0' 

pod 'AFNetworking', '~> 2.0' 

安装吊舱,并在项目靶> tmpios->构建设置 - >其他链接器标志,添加$(继承)。

+0

谢谢,但这并没有解决我的问题。另外,我试图让框架在Pods项目下显示为黑色,而不是红色。 – 2014-10-08 14:34:23

+0

我也在寻找解决这个问题的方法。 :( – BlueConga 2014-10-26 10:20:06

+0

也在等待解决方案:(现在我结束了不使用cocoapods – Egor 2015-01-25 11:12:15

14

我有同样的奇怪问题,其中在一台机器上正确识别,但没有在另一台机器上的库 - 那里他们也是红色的。

的解决方案是在Pods目标添加到建筑方案(“产品中心>方案>编辑计划...”,然后用+舱体的主要目标添加和把它放在你的主要目标的前面。) 然后cleanbuild该项目。

+0

没有,这根本没有帮助 – Egor 2015-01-25 11:05:43

+4

对我来说,这是解决方案,这也是cocoapods网站上的官方故障排除解决方案: http://guides.cocoapods.org/using/troubleshooting.html – High6 2015-01-25 11:23:29

+0

添加Pods框架对我来说不起作用,但是增加了单个框架 – felix 2015-04-23 10:09:07

1

只需删除xcode中的Pods组中的所有配置并再次运行pod安装即可。这将重新生成xcconfigs文件。然后确保它们在项目>信息>配置中正确设置

0

我有同样的问题。原来我只需要运行与

sudo gem install cocoapods 
0

荚更新我不得不改变的路径解决相同的问题;“红色framework'.because路径显示‘SDK IOS9’before.So我设置框架位置'相对于SDK'并手动选择正确的框架位置,并且它暂时工作。

enter image description here

我猜是因为我更新到Xcode中8,但我coacopods仍然是旧版本,因此它与IOS9造成这个问题设置的位置。