问题标签 [dynamic-frameworks]

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 投票
1 回答
2233 浏览

ios - 在 Xcode 10 中创建所需文件之前,构建阶段脚本正在运行

https://github.com/realm/realm-cocoa/blob/master/scripts/strip-frameworks.sh

我们总是使用这个脚本来删除动态框架的架构。它已与 Xcode 9 一起使用。

在 Xcode 10 中,它没有删除架构。Xcode 10 中的任何东西都可以打破这个?我们有一个理论认为它与新的构建系统有关

0 投票
0 回答
158 浏览

ios - iOS - Objective C 动态框架为 arch x86_64 (模拟器)发出位码

在 Github 上设置了一个示例,我使用的是 Xcode v 9.4.1 https://github.com/iousin/TreeFramework

基本上我正在尝试构建我的框架以在 x86_64 模拟器构建中包含位码。我尝试了各种设置并尝试在命令行上构建,xcodebuild 拒绝在我的模拟器构建中包含位码,但是很高兴将它包含在 arm64(设备)构建中。

以下所有命令应该能够从签出上述框架的同一文件夹中运行。

以下是我尝试构建上述框架的命令:

运行以下命令以验证是否发出了位码(在这种情况下不会)。

但是,当我为设备构建时,会包含位码。

验证发出比特码:

感谢任何帮助。

0 投票
2 回答
724 浏览

objective-c - 创建一个具有客观 c 框架依赖的胖框架

我正在使用 Swift 4.2 和 Xcode 10.1。我正在尝试在 Swift 中构建一个框架,该框架依赖于用 Objective C 编写的 Alamofire。我手动添加了 Alamofire.xcodeproj,如 Alamofire 的自述文件中给出的那样。单个目标构建良好。我的框架目标构建良好。

当我尝试使用使用以下命令的脚本创建胖框架时出现问题

我收到以下错误:

未找到伞头“Alamofire.h”

无法构建 Objective-C 模块“Alamofire”

错误的第二行来自另一个依赖于 Alamofire 的依赖项“Moya”(见图)
在此处输入图像描述

令人费解的是,普通的 Cmd+B 对通常的目标工作正常,但 xcodebuild 失败。

我尝试过的事情:

  1. 删除派生文件夹,清理构建。
  2. 首先构建单个依赖项,然后构建通用聚合目标。
  3. 创建自定义模块映射
  4. 将所有依赖项的配置更改为相同,例如调试
  5. 将 Alamofire.xcodeproj 的 Swift 语言版本更改为 Swift 4.2

我认为 xcodebuild 命令需要更多输入。我错过了什么?

更新:

我进一步挖掘。 Debug-iphoneos/Alamofire.framework/ 中的 Headers 文件夹是空的,它应该包含伞头 Alamofire.h。

0 投票
1 回答
6444 浏览

ios - 加载失败,错误域=NSURLErrorDomain 代码=-999 “已取消”

我得到这个

“加载失败,错误域=NSURLErrorDomain 代码=-999“已取消””

尝试在我的自定义框架中调用 api 时。但是当我在另一个项目中运行相同的代码时,它可以正常工作并给出正确的响应。下面是我的代码。在普通项目中不需要的自定义框架中有什么我必须做的吗?

任务 <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1> 加载失败,错误域=NSURLErrorDomain 代码=-999 “已取消” UserInfo={NSErrorFailingURLStringKey= https://dev.xxxxxxxx.com:xxxx/api/ VirtualAPI/Login , NSErrorFailingURLKey= https://dev.xxxxxxxx.com:xxxx/api/VirtualAPI/Login , _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <91C7555E-F6E6-45EB-9762-EE61915719DE>.<1>,NSLocalizedDescription=取消} [-999]

0 投票
2 回答
1532 浏览

ios - How to export Flutter project as SDK (iOS dynamic framework)

We have built an awesome Flutter project, which has great functionality we want to export as a framework, just like native libraries do, so that the source code is hidden (convert to dynamic framework).

We have followed the instructions: https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

which allows us to include Flutter project in a Host iOS app, initializing FlutterEngine and use of FlutterViewController.

The question is, how do we create a dynamic framework, let's say SomeProductSDK.framework, which will expose a public methods to create our SomeProductSDK related modal screens?

0 投票
2 回答
1624 浏览

ios - 应用启动时,iOS 是否会将所有系统动态框架加载到内存中?

根据我的研究,iOS 使用大多数(全部)系统框架作为动态框架。当应用程序启动时,iOS 会加载所有这些吗?或者当 iOS 实际需要该框架时,iOS 可能会稍后加载它?

在应用启动时加载它的好处:iOS 调用动态框架中的函数时节省更多时间。

懒加载的好处:节省更多内存。

0 投票
1 回答
619 浏览

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

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

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

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

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

0 投票
1 回答
648 浏览

python-3.x - 用xml格式在s3上写动态帧

标题我想用 xml 格式在 s3 上编写我的动态框架。我想获取我的 df 的一个 xml 文件。我尝试了这些行,但得到了 xml 文件的不同部分。请问谁能帮我解决这个问题???

0 投票
0 回答
129 浏览

ios - 在另一个框架中弱链接一个第三方框架

所以这里是场景。我有两个 Cocoa Touch 框架,让我们调用它Framework_AFramework_B并为它们提供各自的 Cocoa PodsPod_APod_B.

现在我想Framework_A弱链接到Framework_Bie,如果Framework_B项目中存在然后调用Framework_B.

我怎样才能做到这一点?我目前正在使用__has_include宏来实现它,如下所示:

但这在将构建提交到 AppStore 时会导致问题,并会出现以下错误:

Framework_B项目中不存在时会发生这种情况。

0 投票
2 回答
1083 浏览

ios - 目标完整性问题:“为 iOS 构建,但嵌入式框架‘X.framework’是为 iOS 模拟器构建的”

我们的组织使用我们理解为 Xcode 11.4 之前规范的方法分发 iOS 预编译的动态框架。它涉及构建两个预编译框架,一个用于设备,一个用于模拟器,然后在运行时使用正确的一个。后者涉及修改“Other Linker Flags”以仅选择应该使用的框架,具体取决于“Any iOS Simulator SDK”和“Any iOS SDK”的设置方式,并将新的运行脚本阶段添加到剥离的构建阶段从设备构建的模拟器切片。

迁移到 Xcode 11.4 时,我们现在遇到目标完整性错误:

“为 iOS 构建,但嵌入式框架‘X.framework’是 为 iOS 模拟器构建的。”

我们认为迁移到 XCFramework 是解决此问题的一种方法。但是对于那些希望(或需要)现在继续使用早期版本的预编译框架构建为动态框架的人,可以在项目设置中进行哪些更改以克服此错误?