在Build Phases的Link Binary With Libraries里添libiconv.2
然后Command + Shif + K 清除一下缓存
在Podfile的文末添加下面字段,pod install一下。
require 'xcodeproj'
def fixWeakCPlus_Xcode15(installer)
# 获取当前的 Xcode 版本
current_xcode_version = `xcodebuild -version`.scan(/\d+.\d+/).first.to_f
main_project = Xcodeproj::Project.open('Paperang.xcodeproj')
# 获取主工程的主 target(一般是你的应用程序的 target)
main_target = main_project.targets.first # 假设主 target 是主工程的第一个 target
# 获取主工程的 Build Settings
build_settings = main_target.build_settings('Debug') # 你可以根据需要获取特定配置的 Build Settings
# 需要保存否
needSave = 0
# c++ weak 标识
weak_flag = '-ld_classic'
# 根据 Xcode 版本执行不同的处理
if current_xcode_version >= 15.0
if main_target
needSave = 1
# 修改版本号(目的是适配 Starscream NWProtocolTCP.Options() 报错)
build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
# 在这里使用 build_settings 来获取和操作 Build Settings 的值
# 例如,获取特定设置的值:
otherLink_setting_value = build_settings['OTHER_LDFLAGS']
if otherLink_setting_value.include?(weak_flag) == false
otherLink_setting_value.append(weak_flag)
puts "OTHER_LDFLAGS Build Setting Value: #{otherLink_setting_value}"
end
end
else
if current_xcode_version != 11.0
needSave = 1
# 获取主工程的 Build Settings
build_settings = main_target.build_settings('Debug') # 你可以根据需要获取特定配置的 Build Settings
# 修改版本号
build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
# 在这里使用 build_settings 来获取和操作 Build Settings 的值
# 例如,获取特定设置的值:
otherLink_setting_value = build_settings['OTHER_LDFLAGS']
if otherLink_setting_value.include?(weak_flag)
otherLink_setting_value.delete(weak_flag)
puts "OTHER_LDFLAGS Build Setting Value: #{otherLink_setting_value}"
end
end
end
if needSave
# 保存对主工程的任何修改(如果需要)
main_project.save
end
end