Flutter下打包IOS遇到的部分问题

一、找不到Pods-Runner.debug.xcconfig文件

错误日志:error: could not find included file ‘Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig’ in search paths (in target ‘Runner’)

这里的问题是缺少这几个问题,首先默认的Flutter项目是没有这个东西的,所以需要先在项目目录下面build生成一下,或者先clean再build一下,以下是解决步骤:

flutter clean
flutter build ios

参考链接:

https://stackoverflow.com/questions/57901358/error-could-not-find-included-file-pods-target-support-files-pods-runner-pods

二、目标版本过低

错误日志:warning: The iOS deployment target ‘IPHONEOS_DEPLOYMENT_TARGET’ is set to
8.0, but the range of supported deployment target versions is 9.0 to
14.4.99. (in target ‘Flutter’ from project ‘Pods’)

解决办法:

打开flutterProject/ios/Podfile文件(这个文件是build生成的),修改如下代码:

# post_install do |installer|
#   installer.pods_project.targets.each do |target|
#     flutter_additional_ios_build_settings(target)
#   end
# end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
        end
    end
end

参考链接:

https://stackoverflow.com/questions/63973136/the-ios-deployment-target-iphoneos-deployment-target-is-set-to-8-0-in-flutter

三、bitcode bundle could not be generated because 调用第三方库造成

这个主要是参考以下链接完成,完成后记得重新clean、build下

参考链接

https://blog.csdn.net/chinv9183/article/details/100605888

webview_flutter使用的问题

在IOS上webview_flutter需要进行一些修改才可以使用,主要是解决https和http混用问题,方案如下:
在flutterProject/ i o s/Runner/Info.plist中加入以下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
...
    <key>io.flutter.embedded_views_preview</key>
    <string>YES</string>
      <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
...
...
</dict>

参考链接:
1、Flutter webview 使用和交互:
https://www.jianshu.com/p/4aabe453eb26
2、flutter webview在IOS上打不开网页的问题
https://blog.csdn.net/jetluning/article/details/87866029?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

四、Info.plist配置文件的部分属性

1、版本号问题

在IOS中版本号会默认使用Flutter的版本号,最好不要擅自更改,以免双向不一致。但是根据网上IOS的帖子来说,都很容易直接在IOS原生代码上进行修改,所以这里提供一种还原的方式,如下:
FlutterProject/ios/Runner/Info.Plist文件中修改:

<!-- Flutter的int版本号类似于1 -->
<key>CFBundleVersion</key>
	<string>$(FLUTTER_BUILD_NUMBER)</string>
	
<!-- Flutter的字符串版本号类似于1.0 -->
<key>CFBundleShortVersionString</key>
	<string>$(FLUTTER_BUILD_NAME)</string>

五、权限问题

权限问题在测试时候没问题,但是上传时候会报错,被权限拒绝,这里提供一个帖子进行参考:
https://blog.csdn.net/zp511253886/article/details/52584210

六、文件名问题

这里的文件名是导出的app.ipa的包,包名需要是英文,不可以为中文

七、logo问题

logo在上传时候需要每种尺寸都需要有,logo文件在
FlutterProject/ios/Runner/Info.Plist/Assets.xcassets/AppIcon.appiconset下面,在Xcode中为以下截图:
在这里插入图片描述
UI做出图标后需要去除透明通道,然后把原有的图标全部替换,但是UI给的去除透明通道的很有可能还会被拒绝说不能包含透明通道,这里用以下方式修改下:
先把png图片保存为jpg格式,然后再保存为png格式就可以了,原文链接如下:
https://www.jianshu.com/p/9eb8bad6b0c3?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值