当前位置: 首页 > news >正文

Xcode 16 上传AppStore遇到第三方库 bitcode 的问题

Xcode 16 上传AppStore遇到第三方库 bitcode 的问题

  • 最近两天更新了Xcode 16,然后正好要发布新版本的App,打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行
    • 解决方案
    • 参考资料

最近两天更新了Xcode 16,然后正好要发布新版本的App,打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行

报错内容大概是说,我通过cocoapods引入的某个第三方库,enableBitcode为true,大家知道bitcode其实在Xcode 14的时候已经被废弃了。Xcode 16可能更为严格一些,目前来说在Xcode 15上面依然能够成功上传的,但Xcode 16不行。

解决方案

直接在终端中使用如下命令:

xcrun bitcode_strip -r YourFramework.framework/YourFramework -o YourFramework.framework/YourFramework

在我的项目中,报错的是网易七鱼SDK中的NIMSDK.framework,所以,我会打开终端,然后cd到目录下:xxx项目名称/Pods/NIMSDK_LITE/NIMSDK
NIMSDK.framework就在上述目录下。所以使用如下命令:
示例

参考资料

https://discuss.bitrise.io/t/xcode-16-known-issues/24484

该文章还提供了直接修改podfile的方式,该方式我尝试了没有成功,况且可以直接用上面的命令来暂时解决,就直接用比较方便。毕竟pod之后一定会更新的,新版本就不需要那个脚本了应该。如果报错的framework恰好是很久很久不更新的那种,那么就可以尝试使用脚本的方式来实现了。

post_install do |installer|  bitcode_strip_path = `xcrun --find bitcode_strip`.chop!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)endframework_paths = ["Pods/LibraryA/LibraryA/dynamic/LibraryA.xcframework/ios-arm64_armv7/LibraryA.framework/LibraryA","Pods/LibraryB/LibraryB.xcframework/ios-arm64_armv7/LibraryB.framework/LibraryB"]framework_paths.each do |framework_relative_path|strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)end
end

相关文章:

  • django drf 过滤器
  • 字符编码发展史4 — Unicode与UTF-8
  • 2024 CSP 游记
  • 用Flutter几年了,Flutter每个版本有什么区别?
  • 数据结构与算法——Java实现 20.习题——二叉树层序遍历
  • Iceberg 基本操作和快速入门
  • Linux中的tr命令详解
  • C#进阶-读写Excel常用框架及其使用方式
  • STM32嵌入式编程学习到提高:【5】delay函数
  • 【C++】托管类和托管函数
  • jenkins分布式构建
  • C高级(Day21)
  • XPath基础知识点讲解——用于在XML中查找信息的语言
  • [vulnhub] Jarbas-Jenkins
  • numpy is not available
  • [译]CSS 居中(Center)方法大合集
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Apache Pulsar 2.1 重磅发布
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • ES6系统学习----从Apollo Client看解构赋值
  • Git初体验
  • golang 发送GET和POST示例
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript对象详解
  • MobX
  • mongo索引构建
  • oldjun 检测网站的经验
  • RxJS: 简单入门
  • windows下如何用phpstorm同步测试服务器
  • 扑朔迷离的属性和特性【彻底弄清】
  • 实现简单的正则表达式引擎
  • 赢得Docker挑战最佳实践
  • 智能合约开发环境搭建及Hello World合约
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 积累各种好的链接
  • ​MySQL主从复制一致性检测
  • #Linux(帮助手册)
  • #pragma once
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (¥1011)-(一千零一拾一元整)输出
  • (3)llvm ir转换过程
  • (BFS)hdoj2377-Bus Pass
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (阿里云万网)-域名注册购买实名流程
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (算法)硬币问题
  • (学习总结16)C++模版2
  • (一)Dubbo快速入门、介绍、使用
  • (一)Neo4j下载安装以及初次使用
  • (转)为C# Windows服务添加安装程序
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .Net 4.0并行库实用性演练
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)