swift 分模块多framework项目使用实践

先说混编的问题:
1.在主项目中添加XXX-Bridging-Header.h头文件,在里面添加第三方库或自定义OC的头文件。
然后在project Targets -> Build Settings-> Objective-C Bridging Header 中写入 $(PROJECT)/XXX-Bridging-Header.h。
2.在framework中由于不能使用 Bridging-Header ,需要在XXX.h(framework工程名)中添加头文件。
3.当需要导入第三方framework时在Build Settings-> Framework Search Paths中加入搜索路径,否则查找不到。

项目配置:
在framework工程的Build Settings 中设置 Mach-O Type 为 Static Library。默认为Dynamic Library,这个动态库是不被允许的。
若使用Cocoapods管理第三方工程,需要设置以下配置,禁止签名

workspace 'XXXX.xcworkspace'
use_frameworks!
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
end
end
end

打包问题:
本来想脚本指定描述文件与发布证书名称,结果报错,framework和选定的描述文件的bundleId不匹配,现在只能先选好证书,然后运行打包命令,有知道的大佬给点提示

xcodebuild -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath XXX-develop.xcarchive clean archive build

你可能感兴趣的:(swift 分模块多framework项目使用实践)