首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吊舱安装后,吊舱/页眉为空

吊舱安装后,吊舱/页眉为空
EN

Stack Overflow用户
提问于 2016-04-08 19:11:52
回答 1查看 3.4K关注 0票数 12

问题

在最近的pod install运行之前,我在我的项目(完全工作的项目)中有一组功能良好的Pods,现在我在桥接头(这是一个带有Obj包含的Swift项目)中提到的标题出现了“文件找不到”错误。在做了一些研究之后,似乎应该有指向Pods/Headers中的头的符号链接,这个目录对我来说是空的。但是,豆荚本身已经下载,所有相应的Pods/[Lib]目录都存在。

最后为人所知的良好状态

在此错误发生之前,我所做的更改是为我正在使用的一个库指定:git:commit标志。然后我重新运行pod install,并开始看到“文件未找到”错误。当时我正在使用Cocoapods 0.39

现状

我尝试过其他堆栈溢出线程的一些解决方案,包括添加User Header Search Paths (现在恢复到原来的),以及更新我的cocoapods。我现在的cocoapods版本是1.0.0.beta.6。除了需要重写部分Podfile以符合新标准等额外的麻烦之外,我现在似乎回到了相同的状态(所有库都成功下载,但是找不到头)。

下面是一个示例,说明如何在桥接标头中包含我的标头:

代码语言:javascript
复制
// In this header, you should import all the public headers of your framework using statements like #import <MyKit/PublicHeader.h>
#import <CocoaLumberjack/CocoaLumberjack.h>

下面是我的Podfile的样子(为了避免不相关的内容,我尝试将其精简):

代码语言:javascript
复制
source 'https://github.com/CocoaPods/Specs'
platform :ios, '8.0'

use_frameworks!
pod 'CocoaLumberjack', '2.0.0'
pod 'SwiftyJSON', '~> 2.3'
pod 'Classy', :git => 'https://github.com/ClassyKit/Classy.git', :commit => 'c319908f8bded62e268dfd48ee5d65329b819129'

workspace 'my.work-ios'
project 'mywork' # sdk
project 'Examples/example1' # sample project using sdk
project 'my.work-ios.xcodeproj' # placeholder for main project, not really in use

target 'UnitTests' do
  pod 'Specta'
  pod 'Expecta'
  pod 'OCMock'
  pod 'OHHTTPStubs'
end

# Copy acknowledgements to the Settings.bundle
post_install do | installer |
  require 'fileutils'

  pods_acknowledgements_path = 'Pods/Target Support Files/Pods/Pods-Acknowledgements.plist'
  settings_bundle_path = Dir.glob("**/*Settings.bundle*").first

  if File.file?(pods_acknowledgements_path)
    puts 'Copying acknowledgements to Settings.bundle'
    FileUtils.cp_r(pods_acknowledgements_path, "#{settings_bundle_path}/Acknowledgements.plist", :remove_destination => true)
  end

  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['OTHER_SWIFT_FLAGS'] = "-DLEGACY"
    end
  end
end

更新

经过进一步的研究,我发现罪魁祸首是use_frameworks!命令,省略了它(然后删除Swift库,因为它们是必需的),导致Pods/Headers中填充了PrivatePublic目录,以及相关标题的符号链接。

在以前的cocoapods版本中,情况并非如此,我仍在试图了解发生了什么,因为省略该命令对我来说不是一个有用的解决办法(考虑到我在应用程序中使用的Swift库)。

更新2

在评论中已经提到了这一点,但为了方便起见,我也把它放在这里。这似乎是由这个线程中报告的一个错误引起的:https://github.com/CocoaPods/CocoaPods/issues/4605#issuecomment-208822149。该线程还提出了一些可能对某些人来说足够好的解决办法。对我来说,他们不是,所以我回到了0.39。

EN

回答 1

Stack Overflow用户

发布于 2016-11-18 12:52:26

你试过这个设置了吗?

代码语言:javascript
复制
target 'TargetProject' do

    pod 'CocoaLumberjack', '2.0.0'
    pod 'SwiftyJSON', '~> 2.3'
    pod 'Classy', :git => 'https://github.com/ClassyKit/Classy.git', :commit     => 'c319908f8bded62e268dfd48ee5d65329b819129'

end

还有这个“快速版”吗?其中包含“3.0-GM-候选”

我正在使用这种设置,用于快速3.0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36507504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档