问题标签 [static-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
347 浏览

objective-c - 如何在用 Swift 编写的 CocoaPod 中使用静态 Objective-C 框架?

我有一个用 Swift 4 编写的 CocoaPod。现在我需要向这个 pod 添加一些新功能。为了能够做到这一点,我需要使用一个用 Objective-C 编写的静态框架。

我想我需要使用一个桥接头,但我不知道在这种情况下我应该如何修改我的 .podspec 。当我尝试使用这行代码添加头文件时:

我看到s.source_files这个错误:Include of non-modular header inside framework module

另外,我发现我可以使用一个特殊的 module.modulemap 文件,但是我应该向该文件添加哪些数据以及如何在我的 .podspec 文件中引用 module.modulemap?

0 投票
1 回答
740 浏览

ios - cocoad pods - 构建静态框架

嗨,有这个 cocoapod 框架,我仅以二进制模式分发(无源)。基本上,我正在分发 的输出carthage build,它创建了一个动态框架。

我也被要求发布这个框架的静态版本。我在 XCode 中创建了一个新目标,它使用静态库(使用与动态框架相同的源)构建框架。

最终,我file ...blabla.a看到它只包含 arm 架构。

我一直在研究:https ://github.com/Carthage/Carthage/blob/master/Documentation/StaticFrameworks.md - 但这对我来说失败了(在链接状态下它尝试执行Ld失败)。

我的代码只有 objc,我运行的是 Xcode 10.2.1。

0 投票
1 回答
619 浏览

ios - iOS 是否失去了使用动态框架的大部分优势?

iOS 是否失去了使用动态框架的大部分优势?

这是否意味着如果我们使用动态框架dlOpen稍后加载它们,它会比静态框架更快?因为动态框架在开始时需要一些时间来链接,但它们在加载到内存时会节省更多时间。静态框架的加载时间比动态框架的链接时间长。真的吗?

所以看起来在 iOS 上使用动态框架没有任何优势,对吧?

那么在 macOS 和 Linux 上呢?动态框架有什么优势吗?如果是这样,它们是如何工作的?

0 投票
2 回答
1493 浏览

swift - 具有静态框架子依赖项的 XCFramework

我有一个依赖于几个静态框架的 XCFramework。

我的 XCFramework 是在启用 BUILD_FOR_LIBRARIES_FOR_DISTRIBUTION 的情况下构建的。

不需要从 XCFramework 外部访问子框架。

当我尝试在客户端(主机)应用程序中编译我的 XCFramework 时,我在 XCFramework 的 .swiftinterface 文件中收到错误消息No such module 'FBSDKLoginKit'(FBSDKLoginKit 是 XCFramework 子框架之一)

似乎缺少的是依赖模块的 swiftinterface 文件。例如,我正在使用 FBSDKLoginKit,但 XCFramework 中没有 swiftinterface。

作为参考,我正在编译框架如下:

0 投票
1 回答
715 浏览

swift - 静态 Swift 框架未能通过 CocoaPods 验证,并显示“未定义的架构符号”

我正在使用 Xcode 12.2,并正在开发一个 Swift 静态框架(.xcframework最终嵌入到 a 中),我打算使用 CocoaPods 来提供它。

我的问题目前不是应用程序项目中的 CocoaPods 集成(pod install正常工作并且应用程序构建和运行),而是使用pod lib lint命令验证 pod。

lint验证失败,日志包含以下内容:

并且日志包含与 Undefined symbols for architecture arm64

我的.podspec文件如下

我的猜测是 CocoaPods 创建的项目是使用 Objective-C 的,可能不会引用 Swift 编译器或库。但我不知道如何解决这个问题..

我一直在这方面失去了几天,任何帮助将不胜感激。

谢谢

0 投票
1 回答
157 浏览

swift - 如何使用 cocoapods 避免多项目工作区中的类重复

我在业余时间做一个应用程序,想问你一个问题,我的工作区有 3 个子项目:presentation、domain 和 data,每个都是一个静态框架,有自己的 pod,都非常酷,但是现在我有一个问题,我不知道如何解决。我有几个 firebase 依赖项,其中一些必须在 Presentation 中,而另一些在 Data 中,执行时出现问题,因为它给了我一个错误:

PodsDummy_FirebaseUI 类在 /Users/.../Debug-iphonesimulator/PresentationCleanExample.framework/PresentationCleanExample (0x104ffada0) 和 /Users/.../data/Containers/Bundle/Application/A15FF8B8-7B67-4512-8DFD-04F008175660 中实现/CleanExample.app/CleanExample (0x100c6e288)。将使用两者之一。哪一个是未定义的。

所以我在 FirebaseUI/Storage 的 podspec 中看到的是以下内容: https ://github.com/firebase/FirebaseUI-iOS/blob/master/FirebaseStorageUI.podspec

这让我觉得 cocoapods 没有正确解决依赖 Firebase/Storage。

在此处输入图像描述

问题是这只是我从 Firebase 获得的数千个重复类之一,用于遵循上图。我想有一种方法可以只注入一次 Firebase 依赖项,从而避免类重复,但我不知道如何。

我的播客文件:

Github

我已经上传了代码https://github.com/rchampa/CleanExample

问题

  • FirebaseStorageUI.podspec 文件有问题还是 cocoapods 的限制?

  • 我的 Podfile 错了吗?

0 投票
0 回答
226 浏览

swift - 从已编译的框架创建私有 pod,无需框架的源代码