我有一个用 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
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 配合使用。
尝试让xcode中的模块看看是否找到
apple_sign_in
打开 Xcode 选择
Runner > Signing % Capabilities > +Capabilities > Select Apple_Sign_In
Failed to build iOS app
Xcode 构建的错误输出: ↳ --- xcodebuild:警告:使用多个匹配目标中的第一个: