Xcode 上的 Flutter 应用程序升级后无法启动

问题描述 投票:0回答:4

我有一个用 Flutter 制作的应用程序,自从最新版本的 Xcode 以来,一切都不像以前那样工作了。 我已经在这个问题上苦苦挣扎了近一周,并且错误根据时间而变化。

主要问题是,当将应用程序分发给Apple进行审核时,他们拒绝了该应用程序并显示以下消息:


2.1 性能:应用程序完整性指南

2.1 - 性能 - 应用程序完整性

我们在 iPad 上审核您的应用时发现了一个或多个错误 在 Wi-Fi 上运行 iOS 14.0。

具体来说,我们仍然无法通过 Apple 登录


我觉得这很奇怪,因为我之前的所有上传都经过验证,没有任何问题。 因此,为了纠正这个问题,我尝试通过模拟器运行该应用程序,因为我没有 iPad。 这就是问题开始的地方。

旁注:在物理 iPhone 上运行没有问题,我正在打开项目

runner.xcworkspace
,而不是
runner.xccodeproj

主要问题是 Xcode 找不到任何库,从第一个库开始:

GeneratePluginRegistrant.m:10:9:找不到模块“apple_sign_in”

我已尝试了与此问题相关的所有解决方案,但无济于事。

Flutter doctor 和 pod 文件如下:

[✓] Flutter(通道稳定,1.20.4,在 Mac OS X 10.15.6 19G2021 上, 语言环境 en-ES) • Flutter 版本 1.20.4,位于 /Users/peter/flutter • 框架修订版fba99f6cf9(11天前),2020-09-14 15:32:52 -0700 • 发动机版本 d1bc06f032 • Dart 版本 2.9.2

[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.1) • Android SDK 位于 /Users/peter/Library/Android/sdk • 平台 android-30,构建工具 30.0.1 • Java 二进制文件位于: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java • Java 版本 Java(TM) SE 运行时环境(内部版本 1.8.0_51-b16) • 接受所有Android 许可证。

[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 12.0) • Xcode 位于 /Applications/Xcode.app/Contents/Developer • Xcode 12.0,内部版本 12A7209 • CocoaPods 版本 1.9.3

[!] Android Studio(未安装) • 未找到Android Studio;从下载 https://developer.android.com/studio/index.html (或访问 https://flutter.dev/docs/get-started/install/macos#android-setup 了解详细说明)。

[!] IntelliJ IDEA 社区版(2017.2.5 版) • IntelliJ 位于 /Applications/IntelliJ IDEA CE.app ✗ Flutter插件未安装;这增加了 Flutter 特定的功能。 ✗ Dart 插件未安装;这增加了 Dart 特定的功能。 • 有关安装插件的信息,请参阅 https://flutter.dev/intellij-setup/#installing-the-plugins

[✓] 连接的设备(1 个可用) • iPhone 11(移动) • F1B8AE15-9028-4E0D-BD9D-2F2C7CC93ECE • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-0(模拟器)

!医生发现了两类问题。

pod 文件:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'YES'
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
    end
  end
end
xcode flutter
4个回答
1
投票

Flutter 1.20.4和XCode12/iOS14存在问题。
您需要将 Flutter 更新到当前测试版 (1.22.0-12.3.pre),其中包含针对新 iOS/XCode 版本的大量修复。

参见https://flutter.dev/docs/development/ios-14

编辑 2020 年 10 月 1 日: Flutter 1.22.0 已发布稳定版,应该可以立即与 XCode 12 和 iOS 14 配合使用。


1
投票

可能是iOS模拟器的问题。

查看这个论坛。

您可能想回复他们,从论坛中指出这个问题,似乎对其他人也有效。


0
投票

尝试让xcode中的模块看看是否找到

apple_sign_in

打开 Xcode 选择

Runner >  Signing % Capabilities > +Capabilities > Select Apple_Sign_In

Xcode 截图


0
投票
Failed to build iOS app

Xcode 构建的错误输出: ↳ --- xcodebuild:警告:使用多个匹配目标中的第一个:

© www.soinside.com 2019 - 2024. All rights reserved.