在Swift 5 Xcode 11.2

时间:2019-12-22 01:05:14

标签: ios swift xcode

我的问题如下:

我正在使用应用程序A,该应用程序使用了我创建的框架(框架B),并且框架B使用了迦太基使用WebP(Swift-WebP)。

链接:https://github.com/ainame/Swift-WebP

为了在应用程序A中使用框架B,我必须在构建阶段中创建以下脚本:

/ usr / local / bin / carthage复制框架

这样做是为了能够使用应用程序A中框架B内的webp

我的问题是,在生成.ipa时,它没有标记错误,但是当我在iPhone上从.ipa安装我的应用程序A时,该应用程序立即关闭并尝试打开。

Packaging.log文件为我带来以下信息,并告诉我一些我不知道的失败原因,因为它们会发生:

SDK_HuBOX =框架B 框架B中的WebP

Packaging.log

Packaging.log

如果我在设备上运行该应用程序,则该应用程序运行正常,问题仅在生成并安装在设备上时才出现。即使生成了.ipa,它也不会失败,但是在注册表中,我发现了图像的那些错误

Frameworks, Libraries, and Embedded Content

Script in Build Phases

enter image description here

Link Binary With Libraries

我希望有人能帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

也许我明白了什么:

尝试一下:

  • 将以下行添加到“输出文件”:$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/WebP.framework

  • 手动将lib WebP添加(拖放)到“链接二进制文件与库”

您可以在此处看到相同的信息,但有更多详细信息:https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos

我希望将来能为您提供一条信息,即使您的lib(SDK_HuBOX)也使用Carthage,其他库也不会自动包含在框架中,您应该在“将二进制文件与库链接”中包含依赖项以及手动=)

例如,如果您的应用程序使用了像Moya.framework之类的库(以我的情况为例),则您还应该手动添加其他依赖项(如Alamofire.framework和Result.framework),因为它们都不包含在Moya.framework中。

我希望这会有所帮助。