iOS 老项目适配 #Preview 预览功能

ops/2025/2/7 6:56:55/

前言

iOS 开发者 最憋屈的就是UI 布局慢,一直以来没有实时预览功能,虽然swiftUI 早就支持了,但是目前主流还是使用UIKit在布局,iOS 17 苹果推出了 #Preview 可以支持UIKit 实时预览,但是仅仅是 iOS 17,老项目怎么办呢?于是就有了这篇 老项目适配 #Preview 预览 的文章,从新建 Targets 是正文开始,前面的是我在探索过程中的踩坑记录。

环境
MacOS: 15.1
Apple: M4
Xcode: 16.1

一、AlipaySDK 报错

错误日志
PREVIEW UPDATE ERROR:
FailedToLaunchAppError: Failed to launch com.xxx.xxx
XOJITError: x86_64 slice of /Users/xxx/Documents/YLProject/poetry/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK does not contain an archive

解决

  1. 更新 Podfile 配置:
post_install do |installer|installer.pods_project.targets.each do |target|target.build_configurations.each do |config|# Needed for building for simulator on M1 Macsconfig.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'endend
end
  1. 清理并重新安装依赖
pod deintegrate
pod install

二、ProjectWidgetExtension 小组件中报错

错误日志
Could not find module ‘WebPKit’ for target ‘arm64-apple-ios-simulator’; found: x86_64-apple-ios-simulator, at: /Users/liyanhong/Library/Developer/Xcode/DerivedData/poetry-fgnfhoqfwdsbnpaudqkcloqdigxt/Index.noindex/Build/Products/Debug-iphonesimulator/WebPKit/WebPKit.framework/Modules/WebPKit.swiftmodule

解决
在 ProjectWidgetExtension 的 Build Settings 中,手动排除模拟器架构:
1. 打开 Build Settings。
2. 搜索 Excluded Architectures。
3. 在 Any iOS Simulator SDK 中添加 arm64。


http://www.ppmy.cn/ops/156370.html

相关文章

在Debian 12上安装VNC服务器

不知道什么标题 可以看到这个文章是通过豆包从国外网站copy的,先这样写着好了,具体的我有时间再补充,基本内容都在这里了。 在Debian 12上安装VNC服务器 简介 VNC(Virtual Network Computing,虚拟网络计算&#xf…

uniapp商城之用户模块【个人信息】

文章目录 前言一、前提准备1.新建分包页面2.静态结构3.自定义导航 二、获取和渲染1.封装API接口2.初始化调用3.定义类型4.页面渲染 三、修改用户头像1. 调用拍照/选择图片2.获取图片路径3.上传文件4.更新头像 四、修改用户昵称1.封装API接口2.定义类型3.点击保存调用并提示4.同…

python中的lambda function(ChatGPT回答)

Python 中的 lambda 函数是一个匿名函数,它没有名字,通常用于定义简单的、一次性使用的函数。它可以接受任意数量的参数,但只能有一个表达式,并且该表达式的结果就是返回值。 lambda 函数的语法是: lambda 参数1, 参…

基于HTML生成网页有什么优势

在互联网时代,网页是人们获取信息、交流互动的重要窗口,而基于HTML生成网页,是搭建网络大厦的关键。HTML语法简洁直观,标签和属性语义明确,新手也能迅速上手,创建包含基础元素的网页,极大降低了…

25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表

目录 240. 搜索二维矩阵 II题目描述题解 148. 排序链表题目描述题解 240. 搜索二维矩阵 II 点此跳转题目链接 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到…

Springboot中使用Elasticsearch(部署+使用+讲解 最完整)

目录 引言 一、docker中安装Elasticsearch 1、创建es专有的网络 2、开放端口 3、在es-net网络上安装es和kibana 4、可能出现的问题 5、测试 6、安装IK分词器 7、测试IK分词器 二、结合业务实战 1、准备依赖 2、配置yml 3、读取yml配置 4、准备es配置类 5、编写测…

使用Cline+deepseek实现VsCode自动化编程

要在Visual Studio Code (VS Code)中实现自动化编程,特别是使用 Cline 和 Deepseek, 你需要先了解这两个工具的基本概念和功能。Cine 可能是一个打字错误或特定领域的工具 名称,而 Deepseek 可能指的是类似于深度学习模型或某种特定的代码搜索工具。这…

如何安装LangChain软件包

前言 LangChain是一个强大的框架,用于构建使用大型语言模型(LLMs)的应用程序。它提供了一系列软件包和工具,帮助开发人员将LLMs集成到他们的工作流程中。然而,由于其模块化设计,LangChain生态系统可能会让…