Xcode延续了它经久不变的负优化+臃肿策略,一更新就出各种幺蛾子,这次主要是加强了软件安全的检测。我司老掉牙的项目运行没问题,凡是上传就报错,如下:
报错:打包Adhoc没问题,但是上传AppStoreConnect或者TestFlight就不行
QQ_1731998028897.png
报错内容大概是说,我通过cocoapods引入的某个第三方库,enableBitcode为true,大家知道bitcode其实在Xcode 14的时候已经被废弃了。Xcode 16可能更为严格一些,目前来说在Xcode 15上面依然能够成功上传的,但Xcode 16不行。
解决方案:
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)
end
# 报错的SDK找到目录放到这
framework_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
然后重新pod install
,重新打包上传就没问题了
下面是警告:
QQ_1731997997266.png
暂时未解决,想着反正没几个人用,懒得折腾了,嘿嘿
参考资料:
https://blog.csdn.net/qinqi376990311/article/details/142493593?