首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深度学习与python

    将 iOS 应用体积缩小一半的秘籍:妥善运用动态框架

    为每个架构建立框架,并将 build 输出打包在 xcframework 当中,由上述二进制目标进行引用。 将新包导入至现有动态库中。 构建 XCFramework 我们可以使用 xcodebuild 命令行工具来创建二进制框架。 该 xcframework 可以作为 EmergeAssetsSPM 的二进制目标进行导入。 // EmergeAssetsSPM/generate_xcframework.sh # /bin/bash! # Generate xcframework from build products xcodebuild -create-xcframework -framework $PRODUCTS_DIR

    1.8K10编辑于 2024-04-12
  • 来自专栏iOS小生活

    Flutter混合工程的自动化

    打包成App.xcframework和Flutter.xcframework,交给原生工程师。 和Flutter.xcframework都导入进工程了。 大家现在可以想一下,App.xcframework和Flutter.xcframework到底有啥区别呢? App.xcframework的。 ;而Flutter.xcframework是Flutter引擎,它是用来解析App.xcframework的,只要Flutter工程师使用的Flutter版本没有变化,那么他每一次打包出来的Flutter.xcframework

    1.4K20编辑于 2022-03-28
  • 来自专栏github@hornhuang

    升级XCode12.3报错 Building for , but the linked and embedded framework was built for iOS + iOS Simulator

    诸如此类,可能有些许不同 二、原因 WWDC 2019 推出 XCFramework 启,其实 XCode 11 开始就会有这个问题,但在 XCode 11 上一直是 warning 也就没太注意 XCode12.3 开始,针对类似于 iOS + iOS Simulator 这种多平台的包,强制使用 XCFramework 架构,否则 error( 好坑啊 ) 三、解决 这里提供三套方案,前两套比较简单 ,修改主项目配置即可;第三套是 Apple建议的方法,也就是重新打包 framework 为 XCFramework 3.1 Validate WorkSpace 启用 Validate WorkSpace 以后 WWDC 推出新功能了,还是得用新系统,旁边苹果的 Deprecated 注释也说明了这点 3.3 Apple 建议方案 Apple 官方对这个错误做了回复: 总结成一句话: 使用 XCFramework 这里是回答中生成 XCFramework 的教程 这里是回答中生成 XCFramework 的帮助文档 四、总结 Apple 之强势令人叹为观止 我在 GitHub 新建了一个仓库,正在为大家整理 iOS

    2K30发布于 2021-09-24
  • 来自专栏BennuCTech

    Flutter混合开发:在已有iOS项目中引入Flutter

    │ ├── App.xcframework │ ├── FlutterPluginRegistrant.xcframework (only if you have plugins with iOS platform code) │ └── example_plugin.xcframework (each plugin is a separate framework) ├── Profile/ │ ├── Flutter.xcframework │ ├── App.xcframework │ ├── FlutterPluginRegistrant.xcframework is a separate framework) └── Release/ ├── Flutter.xcframework ├── App.xcframework 项目的Build Phases下的Link Binary With Libraries下添加framework,直接将Flutter.xcframework和App.xcframework等文件(注意:

    6.2K51编辑于 2022-02-25
  • 来自专栏iOS小生活

    工程化(四)——组件二进制工程框架搭建

    使用Carthage引入的库,需要将Xcode工程文件(.xcodeproj)配置清楚(也就是说,该库必须要有一个.xcodeproj工程),Carthage会根据工程配置将其打包成xcframework 我们这篇文章讲的组件二进制,主要是通过xcframework的形式进行多架构处理的。xcframework不是任何编译链接器所支持的编译产物的格式,而是由Xcode支持的一种格式。 Xcode之所以要支持xcframework这种格式,就是为了帮助开发者摆脱lipo的。 如上图所示,就是AFNetwork这个三方库使用xcframework生成的二进制。 可以看到在xcframework中支持了多种架构:iOS、macOS、tvOS、watchOS,针对每一种架构,它都生成了对应的一个.a文件: 然后根据当前编译的的架构类型,找到对应架构的二进制产物.a 需要特别说明的一点是,xcframgework不但支持.framework,还支持.a、.dylib,也就是说,xcframework支持所有的库类型。

    68330编辑于 2023-11-20
  • 来自专栏即时通信IM

    产品上新丨即时通信 IM SDK 5.3.425 版本发布了

    新版本更新特性: 支持会话置顶 发送不计入未读计数的消息 单聊消息免打扰 增加获取所有会话未读总数的接口 Android SDK 转移到 Maven Central 仓库发布 iOS SDK 新增 XCFramework iOS SDK 新增 XCFramework 版本,正式支持 Mac Catalyst XCFramework 是苹果为了更好地支持 Mac Catalyst 和 ARM 芯片的 macOS,从 Xcode 即时通信 IM SDK 从这个版本开始,正式发布 XCFramework 版本。 腾讯云通信 一直致力于 让每个企业 都享受智慧服务带来的改变 END 未来可期 ?

    2K30发布于 2021-04-23
  • 来自专栏PDF 开发

    如何使用 Swift 开发 iOS PDF 查看器或编辑器

    ComPDFKit PDF SDK for iOS 的安装包包含以下文件:ComPDFKit.xcframework - 包含 ComPDFKit.xcframework 动态库 (arm64_armv7 第 2 步:添加ComPDFKit PDF SDK包在ComPDFKit PDF SDK包中找到ComPDFKit.xcframework 。它包括架构的所有二进制文件。 然后找到Frameworks、Libraries和Embedded Content部分,并将ComPDFKit.xcframework直接拖到此部分中,并将Embed选项设置为Embed & Sign。 因此,在 Swift 项目中,您需要同时导入ComPDFKit.xcframework 和 头文件。

    2.8K00编辑于 2024-05-23
  • 来自专栏程序人生

    深度分析:前端中的后端-实现篇

    如何把静态库打包成 xcframework(很遗憾,arm 的静态库目前还无法成功打包进去)。 如何优雅地撰写复杂的 Makefile。 按照 apple 官方的说法,我可以创建 xcframework,然后在 Swift Package 里引入 xcframework。 看似很简单的任务。 同样的静态库在 xcode 里就可以正常编译链接运行,为啥生成 xcframework 就报错?难道 xcframework 不是亲儿子? 好吧,osx 能够正常打包,我们就在 xcframework 里(暂时)只支持 osx 吧。 好吧,我暂且认了,可是我用的是打包好的 xcframework 啊,我在创建 xcframework 时使用非标的 lib 命名方式,为啥你当时不给报个错,让我纠正过来,或者把 lib 名改成标准的名字呢

    2.4K10发布于 2021-02-26
  • 来自专栏BennuCTech

    Flutter混合开发:开发一个简单的快速启动框架

    项目中引入Flutter 我选用的是framework的方式引入,所以在flutter module项目下通过命令编译打包framework flutter build ios-framework --xcframework /Flutter/ 然后引入到ios项目中,与上一篇文章不同的是,因为这个module中加入了plugin,所以framework产物是四个: App.xcframework flutter_boot.xcframework (这个就是我们的plugin中的ios部分) Flutter.xcframework FlutterPluginRegistrant.xcframework 这四个都需要引入到ios项目中。

    2.1K20编辑于 2022-11-11
  • 来自专栏个人路线

    ACE Tools使用指南

    ios-xcframework 构建iOS应用 xcframework 包。 arguments 参数 子命令 说明 --debug aab、aar、apk、bundle、hap、ios、ios-framework、ios-xcframework 构建应用程序的类型为debug。 --profile aab、aar、apk、bundle、hap、ios、ios-framework、ios-xcframework 构建应用程序的类型为profile。 --nosign ios、ios-framework、ios-xcframework 构建出未签名的应用程序。 --target [moduleName] hap 指定目标模块名进行构建。 -h --help aab、aar、apk、bundle、hap、ios、ios-framework、ios-xcframework 显示帮助信息。

    2.2K10编辑于 2023-12-28
  • 来自专栏Rust语言学习交流

    [精彩总结] 🦀️Rust 移动端开发体验

    当下(2022)Rust 在移动端的开发体验如何 没有 Java/Kotlin 代码,不使用 AndroidStudio 和 Gradle, 秒级编译并打包 Apk 运行 Rust 编译静态库打包到 XCFramework 开发中碰到的问题及解决 iOS iOS 端的开发流程为 Rust 编码 通过 cbindgen 生成头文件 编译多平台静态库 把静态库和头文件打包成 XCFramework,并依赖 实现 Swift 绑定 测试,发布 在对比了多种依赖静态库的方式之后,发现XCFramework对多平台的支持,更适合这个项目。 libraries into XCFramework,From Rust To Swift。 Cocoapods 支持 XCFramework,尝试了 SPM,找不到符号的问题没有解决。暂时放一放。在花费了以天计的时间成本之后,终于在 Cocoapods 成功发布。

    3K20编辑于 2022-11-28
  • 来自专栏PDF 开发

    试用Xcode构建iOS PDF阅读器

    ComPDFKit.xcframework - 包括ComPDFKit 动态库(arm64_armv7,x86_64-模拟器)以及相关的头文件PDFViewer - 包含iOS(Objective-C) 编程语言选择"Objective-C" 点击"Next"按钮 设置project的位置,然后点击创建 图片添加ComPDFKit的SDK包在ComPDFKit PDF SDK的安装包中找到ComPDFKit.xcframework 然后找到Frameworks, Libraries, and Embedded Content部分,将ComPDFKit.xcframework直接拖放到该部分,并将Embed选项设置为Embed &

    1.6K30编辑于 2023-07-27
  • 来自专栏Rust语言学习交流

    【Rust日报】2022-11-15 标准库 mpsc 现已使用 crossbeam-channel 实现

    ReadMore: https://mp.weixin.qq.com/s/DQVu9bkHTTUT7X6iNTlAkA 使用 uniffi-rs 创建多平台通用 lib 支持的模板: iOS / MacOS: xcframework

    84520编辑于 2022-11-28
  • 来自专栏ppppy_oschina

    2022年亲测可行Reveal调试别人App(需要越狱)

    也可尝试下面这个路径目的是拿到这个文件,等下要重命名之后拷贝到手机$ cd ~/Library/Application Support/Reveal/RevealServer/RevealServer.xcframework

    1.1K40编辑于 2022-11-11
  • 来自专栏iOS 备忘录

    Carthage使用

    whats-the-purpose-of-no-use-binaries-in-carthage carthage build --platform ios --use-xcframeworks --no-use-binaries 编译后生成的xcframework

    54740编辑于 2023-10-16
  • 来自专栏Swift社区

    Swift 周报 第二十三期

    讨论防止优化 XCFramework 所需的公共接口(又名 dyld:未找到符号)[4] 提议SE-0388:便捷 Async[Throwing]Stream.makeStream 方法[5] 便捷 Async forums.swift.org/t/partition-the-reflection-metadata-to-runtime-and-debug-categories/63163/1 [4] 防止优化 XCFramework 所需的公共接口(又名 dyld:未找到符号): https://forums.swift.org/t/prevent-optimizing-away-public-interfaces-needed-by-an-xcframework-aka-dyld-symbol-not-found

    1.4K20编辑于 2023-03-01
  • 来自专栏Swift社区

    现今 Swift 包中的二进制目标

    这就是诸如 Google Cast[5] 之类的预编译库在过渡到使用 xcframework 进行分发之前所做的事情 —— 下一节将详细介绍这种过渡的原因。 到目前为止,一切都很好。 事实上,如果我们需要,我们可以走得更远,例如,在同一个 xcframework 中捆绑一个包含 iOS 目标的 UIKit 接口的二进制文件和一个包含 macOS 的 AppKit 接口的二进制文件,然后让 结论 简而言之,我们可以总结 2022 年如何在 Swift 包中使用二进制文件的最佳实践,如下所示: 如果你需要为你的 iOS/macOS 项目添加预编译库或可执行文件,您应该使用 XCFramework

    2.6K20编辑于 2022-12-12
  • 来自专栏学海无涯

    iOS开发之动态库与静态库

    动态库 以.tbd、.framework、.xcframework为后缀的文件。 动态库在链接时不会直接复制,而只会存储指向动态库的引用,等到程序运行时才被载入到内存中,以供使用。

    1.6K31编辑于 2023-10-25
  • 来自专栏大前端修炼手册

    别再说 Flutter 是唯一选择了——KMP 正在悄悄抢走它的地盘

    第五步:iOS 端调用——Kotlin 编译成 Framework KMP 会把共享模块编译成一个 .xcframework,iOS 侧直接 import 使用: // iOS Swift 代码 import Kotlin Interface Enhancer)让协程、Flow 等可以直接映射到 Swift 的 async/await 和 AsyncSequence • 编译产物从 .framework 升级为 .xcframework

    23610编辑于 2026-04-15
  • 来自专栏Swift社区

    苹果印尼投资承诺再提升 10 倍 | Swift 周报 issue 67

    深入理解 iOS 上的静态库、动态库、 framework 和 xcframework 摘要: 这篇文章系统地探讨了iOS开发中静态库、动态库、framework和xcframework的特性及使用场景 此外,framework作为标准化的二进制产物,不仅支持模块化,还能管理资源和版本;而xcframework进一步解决了跨平台和多架构支持的难题,为现代开发提供了便利。

    66400编辑于 2024-12-09
领券