ios - 通过 Cocoapods 中的开发 pod 功能测试静态框架
问题描述
我有一个用 Swift 编写的框架。我通过 Cocoapods 将它作为静态二进制框架分发。我也有一个使用该框架的应用程序,并将该框架开发为开发 pod。
最近我不得不添加 OpenCV 作为框架的依赖项和一个 Objective-C Wrapper 类,以便能够从 Swift 代码中使用 OpenCV。由于步骤中的“静态转换依赖项”错误,pod install
我不得不在spec.static_framework = true
我的 podspec 中添加行。错误消失了,但我还有一个错误——Swift 语法有 100 多个错误。
如果将框架编译为二进制并从另一个存储库安装为通常的 pod,而不是开发 - 一切都很好。但我需要进行更改并实时测试它们,而不是每分钟编译和上传二进制文件。
非常感谢有关如何通过开发 pod功能测试静态框架的任何建议。
解决方案
这可能不是最好的解决方案(它也不使用开发 pod),但至少当我不得不一起调试我的框架和我的应用程序时它对我有用(这是一种类似的情况,因为应用程序通常使用框架作为cocoapod),编辑 Podfile:
use_frameworks!
workspace 'App.xcworkspace'
target 'App' do
project 'App.xcodeproj'
# 1 - comment out the normal dependency
# pod 'MyFramework', '1.9'
end
# 2 - this section is added
target 'MyFramework'
project '/Users/me/path/to/MyFramework.xcodeproj'
pod 'DependencyOfMyFramework'
end
然后确保您在 App.xcodeproj 中没有未提交的更改。
关闭 Xcode,运行pod install
,再次打开 xcworkspace,手动添加MyFramework
和DependencyOfMyFramework
作为应用程序的依赖项(框架、库和嵌入式内容),可能会添加一些框架搜索路径以防出错。
为我工作,但我意识到如果你经常这样做会很不方便。
推荐阅读
- performance-testing - 无法理解 jprofiler 的调用树视图
- android - PreferenceManager.setDefaultValues 不适用于自定义首选项
- python - 如何处理 Django 嵌套模板标签
- mysql - MYSQL:INNER JOIN 与 BIG TABLES 的替代方案(太慢了)
- android - Flutter:资源链接失败
- dataframe - 将聚合列添加到无需连接的数据透视表
- r - 没有图例的ggplot2地图
- python - Azure 中的 Python 库
- sql - 我正在尝试使用 sql 在两年的两个相同日期之间计算方差
- javascript - 使用js更改背景图像不透明度而不影响前景图像