美文网首页
CocoaPods相关

CocoaPods相关

作者: 忠橙_g | 来源:发表于2019-03-26 17:43 被阅读0次

CocoaPods不会生成xcworkspace

运行gem install cocoapods 更新cocoapods工具,然后再执行pod install
问题解决

解决CocoaPods慢的方案

https://www.jianshu.com/p/c84c9a61e9fe

Spec相关

podspec文件解析
文章介绍了一些普通项目的配置方式,这里补充两个小tip:

  • 使用use_frameworks!造成的引用错误?
    如果在Podfile中使用了use_frameworks!,那么cocopods会帮我们自动生成头文件xxx-umbrella.h,这里面导入了所有我们在podspec中配置的所有公共头文件(类似于pch文件),只要我们引用了这个文件中导入的头文件(无论是什么类型的头文件),就会引用整个模块,这就导致了如果私有库中使用了C++的代码,那么只要引用到相关的代码,就会提示找不到文件。(如果调用方不使用use_frameworks就没有这个问题,但我们不能强求别人对吧)
    因此我们就需要将C++的文件配置成私有的头文件,使用下面的代码:
s.private_header_files = [
 '.../**/*.{cpp,hpp,c}'
]

这样就不会报错了。
但是这样会导致无法使用C++文件,按照常规的操作,就需要修改到配置文件了,如何用spec修改配置文件,请看下面:

  • 如何修改项目配置?
    上面的例子中,我们想要修改Targets中的Header Search Paths来解决C++文件的使用问题,因此需要用到下面的代码:
s.pod_target_xcconfig = { ///< 修改本模块Target配置
  'KEY' =>  'Value',
}
s.user_target_xcconfig = { ///< 修改主工程Target配置
  'KEY' =>  'Value',
}

其中,KEY就是setting里的对应key的全大写+空格改为下划线,如Header Search Paths > 'HEADER_SEARCH_PATHS' ,对应的添加(使用时应自行修改为对应配置):

search_paths = [
  #Podfile不使用use_frameworks搜索路径
  '$(PODS_ROOT)/Headers/Public/...',
  '$(PODS_ROOT)/Headers/Private/...',
  #Podfile使用use_frameworks库内搜索路径
  '$(PODS_ROOT)/.../Headers',
  '$(PODS_ROOT)/.../PrivateHeaders',
//...
]
private_header_path = [
  '${PODS_CONFIGURATION_BUILD_DIR}/.../xxx.framework/PrivateHeaders',
  '$(PODS_ROOT)/Headers/Private/...',
]
s.pod_target_xcconfig = {
  'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' ,
  'HEADER_SEARCH_PATHS' => search_paths.join(' '),
}
s.user_target_xcconfig = {
  'HEADER_SEARCH_PATHS' => private_header_path.join(' '),
}

相关文章

  • CocoaPods相关!!!

    今天(2018.12.02)开始一个新项目,本着pod init 创建Podfile的步骤,发现出现这个错误,几经...

  • Cocoapods相关

    关键字: Cocoapods, iOS, 开发, 移动,Swift, 报错 error: RPC failed; ...

  • cocoapods相关

    使用cocoapods管理第三方库时,如何查看本地项目使用第三方库的版本。这里查看的是目前使用的第三方库的版本,而...

  • CocoaPods相关

  • Cocoapods相关

    一些网站 Getting StartedCocoaPods安装和使用及问题:Setting up CocoaPod...

  • CocoaPods相关

    安装 gem sources --remove https://rubygems.org/ gem sources...

  • CocoaPods相关

    CocoaPods安装 使用gem安装,安装命令很简单$ sudo gem install cocoapods如果...

  • CocoaPods相关

    CocoaPods安装 地址:简书pod地址 code4app pod地址 地址 CocoaPods添加新库...

  • Cocoapods相关

    1、更换cocoapods版本 sudo gem uninstall cocoapods -n /usr/loca...

  • CocoaPods相关

    CocoaPods最新安装及跳过podsetup快速安装教程 https://www.cnblogs.com/zh...

网友评论

      本文标题:CocoaPods相关

      本文链接:https://www.haomeiwen.com/subject/xtdnvqtx.html