相关疑难解决方法(0)

#if canImport()未找到带有CocoaPods的框架

您好,这里是我们的Podspec,它具有default_subspec和可选的子规范(由于已经设置了默认值,因此不会使用)。该子规格具有更多功能,但需要额外的8MB大小...

`s.default_subspec = 'mainSDK'

s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h"
end

s.subspec 'additionalSDK' do |additionalSDK|
additionalSDK.source_files = "additionalSDK.framework/Headers/*.h"
additionalSDK.vendored_frameworks =['additionalSDK.framework', 'mainSDK.framework']
end
Run Code Online (Sandbox Code Playgroud)

现在,在我们的mainSDK中,我们在#if canImport(additionalSDK)中包含了AdditionalSDK,然后在这些编译器标志之间提供了与AdditionalSDK 相关的代码,如下所示:

#if canImport(additionalSDK)
    //adding optional delegate
    class ViewController: UIViewController, OptionalDelagate
#else
    //no need for delagete
    class ViewController: UIViewController
#endif
Run Code Online (Sandbox Code Playgroud)

但是,客户端集成了我们mainSDK后,他认为,该框架是缺少模块:additionalSDK.framework

这怎么可能?我们已经在工作空间中将AdditionalSDK标记为可选。我们试图设置additionalSDK-weak_framework其他连接标志(构建设置),但这并没有帮助。

如果客户端集成了额外的 SDK,则所有框架都将正常运行,因为所有框架都已链接。

可选的依赖关系,没有的CocoaPods做工精良,它的CocoaPods的只是问题或我不知道如何配置它

`s.default_subspec = 'mainSDK'

s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h" …
Run Code Online (Sandbox Code Playgroud)

ios ios-frameworks cocoapods podspec swift

6
推荐指数
1
解决办法
1021
查看次数

升级 Xcode12 和 macOS BigSur 后使用框架时 iOS/macOS 应用程序分发失败

我们无法分发使用我们框架的示例应用程序,而我们的用户也不能。在归档并分发到 AppStore 时,应用程序被拒绝并显示以下消息:

Invalid Bundle - One or more dynamic libraries that are referenced by your app are not present in the dylib search path. If your app contains bitcode, bitcode processing may have failed. Because of these errors, this build of your app will not be able to be submitted for review or placed on the App Store.

该框架包含位代码,或者至少BITCODE_GENERATION_MODE = bitcode在我们的 中有一个构建设置.xcconfig,这基本上意味着 Xcode 将向-fembed-bitcode任何 clang 调用添加构建标志。

从这里开始,我们开始使用Ad-Hoc构建进行测试,以加快我们的试错尝试,这在Rebuild from bitcode选择选项时也会失败。管理器显示包含以下内容的弹出窗口: …

xcode ios bitcode ipatool xcframework

6
推荐指数
1
解决办法
559
查看次数