返回

从常见问题了解iOS组件化-Pod库制作的窍门

IOS

引言

在前面的文章《iOS组件化-私有库制作》中,我们介绍了如何使用Cocoapods来制作私有库。接下来,我们主要来记录下在制作Pod库的时候碰到的一些问题。

问题一:use_frameworks! pod库类型

问题

在使用Cocoapods制作Pod库时,如果使用了use_frameworks!指令,则在使用该Pod库的项目中需要设置use_frameworks!,否则会报找不到符号的错误。

解决方法

在使用Pod库的项目中,在Podfile文件中添加use_frameworks!指令,如下所示:

use_frameworks!

target 'YourTarget' do
  pod 'YourPod', '~> 1.0.0'
end

问题二:Pod库中使用Objective-C和Swift混合编程

问题

在Pod库中,如果同时使用了Objective-C和Swift两种语言,则在使用该Pod库的项目中需要设置enable_bitcode = false,否则会报找不到符号的错误。

解决方法

在使用Pod库的项目中,在Podfile文件中添加enable_bitcode = false指令,如下所示:

target 'YourTarget' do
  pod 'YourPod', '~> 1.0.0'
  enable_bitcode = false
end

问题三:Pod库中使用私有API

问题描述

在Pod库中,如果使用了私有API,则在使用该Pod库的项目中需要设置use_modular_headers!指令,否则会报找不到符号的错误。

解决方法

在使用Pod库的项目中,在Podfile文件中添加use_modular_headers!指令,如下所示:

target 'YourTarget' do
  pod 'YourPod', '~> 1.0.0'
  use_modular_headers!
end

问题四:Pod库中使用静态库

问题描述

在Pod库中,如果使用了静态库,则在使用该Pod库的项目中需要设置use_static_framework!指令,否则会报找不到符号的错误。

解决方法

在使用Pod库的项目中,在Podfile文件中添加use_static_framework!指令,如下所示:

target 'YourTarget' do
  pod 'YourPod', '~> 1.0.0'
  use_static_framework!
end

问题五:Pod库中使用资源文件

问题描述

在Pod库中,如果使用了资源文件,则在使用该Pod库的项目中需要设置资源文件的路径,否则会报找不到资源文件的错误。

解决方法

在使用Pod库的项目中,在Podfile文件中添加resource_bundles指令,如下所示:

target 'YourTarget' do
  pod 'YourPod', '~> 1.0.0'
  resource_bundles = ['YourPod/Resources']
end

结束语

本文介绍了在使用Cocoapods制作Pod库时常遇到的问题以及相应的解决方法。希望对大家有所帮助。