XZ_iOS之更新Xcode插件技巧

本文介绍了Xcode更新后导致插件失效的原因及解决方法。通过手动修改或命令行批量更新插件的UUID,使插件与新版Xcode兼容。

很多时候,我们更新了Xcode之后,发现插件都不能用了,

为什么升级Xcode之后,插件就失效了?
  1. 每个版本的Xcode都由一个UUID;
  2. 插件如果要想在Xcode上运行,必须指定支持的UUID;

前往-资源库/Application Support/Developer/Shared/Xcode/Plug-ins 
查看Xcode插件

右击 "VVDocumenter-Xcode.xcplugin”-显示包内容-Contents-Info.plist 双击打开,里面有一个数组“DVTPlugInCompatibilityUUIDs”,在这个数组里面是所有支持的Xcode的UUID,如果更新Xcode之后不支持了,可以把最新的Xcode的UUID填进来既可。
下图是 "VVDocumenter-Xcode.xcplugin”中支持的Xcode版本的UUID:

最新的Xcode的UUID的查看方式:Finder-应用程序-Xcode-显示包内容-Contents-Info.plist 中的DVTPlugInCompatibilityUUID”对应的就是

手动修改
但是,如果Xcode插件较多,每一个都这么整的话,比较费事,我们可以使用命令行,一句即可
把读取到Xcode的UUID添加到所有插件设置中

find ~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3| xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add`defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`

当命令行执行完毕,我们发现插件中Info.plist多了一行,那就说明成功了。
Xcode完全退出,然后重启一下,界面会出现Load Bundles和Skip Bundles,注意选择Load Bundles!

如果点击了 Skip Bundles,可以在前往-资源库-Application Support-Developer-Shared-Xcode-Plug-ins中右键第三方资源库-显示包内容-Contents-Info.plist 打开,找到DVTPlugInCompatibilityUUIDs这一项,删除最后一个,然后将Xcode全部退出,然后再打开Xcode,在命令行中再次执行添加Xcode的UUID的语句,然后再全部退出Xcode,再重启,这时候就会出现Load Bundles按钮了。
  
说明:
查找安装插件的 Info.plist 文件
find ~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins -name Info.plist

向前一步命令结果的 Info.plist 中写入数据,向  DVTPlugInCompatibilityUUID 数据添加数据 
xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add

其中 ‘|' 是管道,将前一个命令的结果当做参数传递给后一个命令

之前我写的时候,一直不对,明明都是对的,后来发现,原来就是一个符号之差造成的,这个符号(`)不对造成的,这个符号叫反单引号,在苹果键盘上,切换到英文输入法下,按住fn键和~键即可。如下图:


(Mathcad+Simulink仿真)基于扩展描述函数法的LLC谐振变换器小信号分析设计内容概要:本文围绕“基于扩展描述函数法的LLC谐振变换器小信号分析设计”展开,结合Mathcad与Simulink仿真工具,系统研究LLC谐振变换器的小信号建模方法。重点利用扩展描述函数法(Extended Describing Function Method, EDF)对LLC变换器在非线性工作条件下的动态特性进行线性化近似,建立适用于频域分析的小信号模型,并通过Simulink仿真验证模型准确性。文中详细阐述了建模理论推导过程,包括谐振腔参数计算、开关网络等效处理、工作模态分析及频响特性提取,最后通过仿真对比验证了该方法在稳定性分析与控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink和Mathcad工具,从事开关电源、DC-DC变换器或新能源变换系统研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握LLC谐振变换器的小信号建模难点与解决方案;②学习扩展描述函数法在非线性系统线性化中的应用;③实现高频LLC变换器的环路补偿与稳定性设计;④结合Mathcad进行公式推导与参数计算,利用Simulink完成动态仿真验证。; 阅读建议:建议读者结合Mathcad中的数学推导与Simulink仿真模型同步学习,重点关注EDF法的假设条件与适用范围,动手复现建模步骤和频域分析过程,以深入理解LLC变换器的小信号行为及其在实际控制系统设计中的应用。
### Xcode 16 和 iOS 17 环境下运行 fastbot_iOS 的配置及适配问题解决方法 在 Xcode 16 和 iOS 17 环境下运行 fastbot_iOS 时,可能会遇到一些适配问题。以下是常见的配置和解决方案: #### 1. **Bitcode 配置** 如果在构建过程中遇到类似 `invalid Executable, the executable contains Bitcode` 的错误,可以尝试禁用 Bitcode。这可以通过以下步骤实现: - 打开项目设置,进入 `Build Settings`。 - 搜索 `Enable Bitcode` 并将其值设置为 `No`[^2]。 - 清理并重建项目(使用快捷键 `Shift + Command + K` 进行清理,然后使用 `Command + B` 进行重建)。 #### 2. **iOS SDK 下载失败问题** 在 Xcode 更新后,如果出现 `no fund iOS17 sdk` 或类似提示,并且下载安装失败,可以参考苹果官方提供的解决方案。确保从苹果开发者官网下载最新版本Xcode 或者单独下载所需的 iOS SDK 文件[^1]。 #### 3. **UITableView 的 sectionHeaderTopPadding 适配** iOS 15 引入了 `sectionHeaderTopPadding` 属性,默认会给每个 section header 增加 22px 的间距。如果需要兼容 iOS 17 并调整此行为,可以在代码中进行如下设置: ```swift if #available(iOS 15.0, *) { tableView.sectionHeaderTopPadding = 0 } ``` 对于 Objective-C: ```objective-c if (@available(iOS 15.0, *)) { tableView.sectionHeaderTopPadding = 0; } ``` 此配置同样适用于 iOS 17 的适配[^3]。 #### 4. **Podfile 中移除 Bitcode** 如果依赖库中包含 Bitcode,可能需要在 Podfile 中添加脚本以移除 Bitcode。例如: ```ruby def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) framework_path = File.join(Dir.pwd, framework_relative_path) command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}" puts "Stripping bitcode: #{command}" system(command) end bitcode_strip_path = `xcrun --find bitcode_strip`.chomp framework_paths = [ "Pods/TXIMSDK_iOS/ImSDK.framework/ImSDK", ] framework_paths.each do |framework_relative_path| strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) end ``` 该脚本会在安装 Pods 时自动移除指定框架中的 Bitcode[^4]。 #### 5. **fastbot_iOS 特定配置** fastbot_iOS 是一款用于自动化测试的工具,其运行环境可能需要额外的依赖或权限配置。确保以下几点: - 安装所有必要的依赖项(如 CocoaPods 或 Carthage)。 - 检查项目的最低支持版本是否与 iOS 17 兼容。 - 如果涉及动态库加载或插件集成,确保这些组件已正确配置并适配最新的 iOSXcode 版本。 ### 注意事项 - 确保 Xcode 和相关工具链是最新版本。 - 如果使用自定义脚本或插件,检查其是否兼容 Xcode 16 和 iOS 17。 - 在调试过程中,可以启用详细的日志输出以便定位问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值