flutter ios打包上传app store的一些报错问题

一、 上传app到 app store出现以下问题:

A downloaded software component is corrupted and will not be used.(如图)
在这里插入图片描述

检查Xcode版本:

Xcode11以后移除Application Loder.app
解决方法:

  1. 下载Loder.app
  2. 放进 /Applications/Xcode.app/Contents/Applications/Application 目录下
  3. 打开文件夹:
    /Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter
    双击iTMSTransporter,会重新下载图中的2个jar文件,正常执行完,重新上传包即可。

二、 flutter ipa安装后打开出现白屏:

在测试时蒲公英下载,安装应用后打开出现白屏:
解决方法:

  1. 执行flutter clean
  2. 执行flutter build ios --release
  3. 打开xcode,点击product 选择 archive 。这里千万不要动任何其他设置,否则会白屏。

最后上传蒲公英等测试平台即可

  • 参考:https://jingyan.baidu.com/article/4f7d571283ae4a5b2019279d.html

三、 flutter ipa从蒲公英安装后图标变黑:

解决方式:添加相应的手机的UUID

四、 flutter ipa上传报错:

在这里插入图片描述
具体内容:

ERROR ITMS-90771: “Missing Info.plist value. The Info.plist key ‘BGTaskSchedulerPermittedIdentifiers’ must contain a list of identifiers used to submit and handle tasks when ‘UIBackgroundModes’ has a value of ‘processing’. For more information, refer to the Information Property List Key Reference at https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html.”

解决方式:1.找到info.plist
2. 找到BGTaskSchedulerPermittedIdentifiers

<key>BGTaskSchedulerPermittedIdentifiers</key>
	<array>
		<string>唯一值(*建议是Xcode 里的Bundle Identifier</string>
	</array>
要在Flutter iOS应用程序中实现应用程序版本更新,可以按照以下步骤进行操作: 1. 获取当前应用程序版本:在Flutter应用程序中,可以使用`package_info`插件获取当前应用程序的版本信息。可以在`pubspec.yaml`文件中添加以下依赖项: ```yaml dependencies: package_info: ^2.0.0 ``` 然后运行`flutter packages get`命令获取依赖项。 在Flutter代码中,可以使用以下代码获取当前应用程序的版本信息: ```dart import 'package:package_info/package_info.dart'; PackageInfo packageInfo = await PackageInfo.fromPlatform(); String version = packageInfo.version; ``` 2. 获取最新应用程序版本:为了实现应用程序版本更新,需要从服务器或其他途径获取最新应用程序版本信息。可以使用HTTP客户端库(例如`http`或`dio`)向服务器发送请求,并解析响应以获取最新版本信息。 3. 比较应用程序版本:获取当前应用程序版本和最新应用程序版本后,需要将它们进行比较,以确定是否需要进行应用程序版本更新。可以使用以下代码比较版本: ```dart int compareVersion(String currentVersion, String newVersion) { List<String> currentVersionSplit = currentVersion.split('.'); List<String> newVersionSplit = newVersion.split('.'); for (int i = 0; i < currentVersionSplit.length; i++) { int currentVersionPart = int.parse(currentVersionSplit[i]); if (newVersionSplit.length <= i) { return 1; } int newVersionPart = int.parse(newVersionSplit[i]); if (newVersionPart > currentVersionPart) { return 1; } else if (newVersionPart < currentVersionPart) { return -1; } } return 0; } ``` 如果返回值为1,则需要进行应用程序版本更新。 4. 显示应用程序版本更新提示:如果需要进行应用程序版本更新,可以显示一个提示对话框,提示用户进行应用程序版本更新。可以使用Flutter的`flutter_launcher_icons`插件生成应用程序图标,并将应用程序图标添加到提示对话框中。 5. 打开App Store进行应用程序版本更新:如果用户同意进行应用程序版本更新,可以使用Flutter的`url_launcher`插件打开App Store,让用户下载最新版本的应用程序。可以使用以下代码打开App Store: ```dart import 'package:url_launcher/url_launcher.dart'; Future<void> launchAppStore(String appStoreUrl) async { if (await canLaunch(appStoreUrl)) { await launch(appStoreUrl); } else { throw 'Could not launch App Store'; } } ``` 完成以上步骤后,就可以在Flutter iOS应用程序中实现应用程序版本更新了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值