ios - 如何在 Codemagic 中指定目标平台 ios 版本号
问题描述
我正在尝试在没有 Mac 的情况下在 Codemagic 上构建我的应用程序的 ios 版本。构建失败并显示以下消息。
[!] Automatically assigning platform `iOS` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
[!] CocoaPods could not find compatible versions for pod "flutter_facebook_login":
In Podfile:
flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`)
Specs satisfying the `flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`)` dependency were found, but they required a higher minimum deployment target.
貌似flutter_facebook_login包的ios版本要求比ios 8要高。我想如果能指定更高的ios版本就可以解决了。我该如何解决这个问题?
解决方案
最后,我通过手动创建 Podfile 解决了这个问题,如下所示。
# Uncomment this line to define a global platform for your project
platform :ios, '11.0'
use_frameworks!
use_modular_headers!
def parse_KV_file(file,seperator='=')
file_abs_path = File.expand_path(file)
if !File.exists? file_abs_path
return [];
end
pods_ary = []
skip_line_start_symbols = ["#", "/"]
File.foreach(file_abs_path) { |line|
next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
plugin = line.split(pattern=seperator)
if plugin.length == 2
podname = plugin[0].strip()
path = plugin[1].strip()
podpath = File.expand_path("#{path}", file_abs_path)
pods_ary.push({:name => podname,:path=>podpath});
else
puts "Invalid plugin specification: #{line}"
end
}
return pods_ary
end
target 'Runner' do
# Flutter Pods
use_frameworks!
use_modular_headers!
generated_xcode_build_settings = parse_KV_file("./Flutter/Generated.xcconfig")
if generated_xcode_build_settings.empty?
puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter build or flutter run is executed once first."
end
generated_xcode_build_settings.map{ |p|
if p[:name]=='FLUTTER_FRAMEWORK_DIR'
pod 'Flutter', :path => p[:path]
end
}
# Plugin Pods
plugin_pods = parse_KV_file("../.flutter-plugins")
plugin_pods.map{ |p|
pod p[:name], :path => File.expand_path("ios",p[:path])
}
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
推荐阅读
- angular - 克隆离子项目后无法服务
- r - 在 R 中查找所选变量的平均值
- angular - Angular 将 html 属性(即样式/类)从父级传递给子级
- ubuntu - CALDB 的问题——更好的数据处理
- python - Django查询集过滤器基于孩子的数量
- javascript - 如何在地图上的google api中添加一个按钮
- stackexchange-api - 如何在 Stack Exchange API 中使用 fromdate 和 todate 参数?
- amazon-web-services - 特定天后使用 Lambda 排空 SQS 队列
- python - 我试图在线打印出标题的文字,但控制台上没有显示任何内容
- html - 使用 VBA 单击 iframe (IE) 中的链接