ale*_*nca 26 ios cocoapods swift
使用最新版本的可可豆荚(0.36),我能够将swift(例如Alamofire)中的可可豆荚嵌入我的快速项目中.现在我将自己的自定义框架引入到项目中,该框架也希望依赖于Alamofire.
为了实现这一点,我所做的是选择将pods框架添加到我的框架作为依赖:
为我自己的嵌入式Swift框架(Swift模块)选择Target,在"Linked frameworks and libraries"的"General"选项卡中,我将"Pods.framework"添加为"Required".
但是,这还不足以编译,因为我自己的swift框架中的类不能"导入Alamofire",因为它不被认为是"可用框架".
将Pods.debug.xcconfig和Pods.release.xcconfig文件添加到我自己的swift框架的目标的配置中,换句话说,更改构建设置以执行所有更改,可可豆荚对我的构建设置执行iOS App目标,解决了这个问题.
它现在构建没有问题.它也在模拟器中运行没有问题,我自己的嵌入式swift框架成功地使用了由cocoa pods添加的框架.
但是,如果我在设备上运行相同的程序,它会毫无问题地进行编译和安装,但在启动时会出现致命错误:
dyld: Library not loaded: @rpath/Pods.framework/Pods
Referenced from: /private/var/mobile/Containers/Bundle/Application/32D2F1F8-679F-4A5F-8159-28F1C800D0C6/TestingFrameworks.app/Frameworks/mySwiftFramework.framework/mySwiftFramework
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
显然,并非cocoa pods xcconfig文件中的所有设置都适合添加到我的自定义swift框架的构建设置中.
但为什么它在模拟器中工作呢?更重要的是构建设置是什么,我需要纠正?
对我来说,我似乎需要更改此构建设置:
PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods
Run Code Online (Sandbox Code Playgroud)
别的......
Pas*_*sta 28
我发现了问题.嵌入式框架的Frameworks /文件夹中根本没有pods.framework.
这是因为Pods-frameworks.sh实际上并没有复制正确目录中的内容.
我设法解决了这个问题:

而已!
对于像我这样的新手,问题中的这一部分可能会让你感到困惑:
将Pods.debug.xcconfig和Pods.release.xcconfig文件添加到我自己的swift框架的目标的配置中,换句话说,更改构建设置以执行所有更改,可可豆荚对我的构建设置执行iOS App目标,解决了这个问题.
去做这个:
在您的定制嵌入式框架的Xcode项目,点击File> New> File...> iOS> Other> Configuration Settings File.
做两次以上.您可以分别命名文件Pods.release.xcconfig和Pods.debug.xcconfig.
在Project导航器中,展开PodsXcode项目Target Support Files>> Pods.你会看到那里有类似命名的.xcconfig文件.只需将其内容复制到自定义嵌入式Swift框架内的同名文件即可.
单击您的Swift框架的Xcode项目文件,选择项目目标(蓝色的,而不是黄色的工具箱)Info>> Configurations.
展开Debug和Release配置.您可能会在Xcode项目下看到两个目标 - 主框架目标和测试目标.在"基于配置文件"列中,将主目标上的配置文件设置为您之前创建Pods.debug的Pods.release文件和文件.

然后做@Pasta的回答.
如果您将自定义嵌入式Swift框架与其他项目一起使用,则此设置将会因为其他项目具有不同的.xcconfig设置而中断(Pods的名称.framework也可能不同).
我只是在我的框架中添加了Alamofire作为git子模块.注:去的git submodule方式要求您将定制的框架添加到您的主项目的Embedded Frameworks,还有Alamofire.framework来自内部的自定义框架.
| 归档时间: |
|
| 查看次数: |
12741 次 |
| 最近记录: |