leanflutter / flutter_distributor

An all-in-one Flutter application packaging and distribution tool, providing you with a one-stop solution to meet various distribution needs.
https://distributor.leanflutter.dev/
MIT License
817 stars 115 forks source link

打包ipa出错 #24

Closed vance-liu closed 2 years ago

vance-liu commented 2 years ago

打包ipa出错

不知道为什么打包ipa一直都是报这个错

版本

flutter_distributor: ^0.1.4

配置

......省略
      - name: release-dev-ios
        package:
          platform: ios
          target: ipa
          build_args:
            target: lib/main.dart
            export-options-plist: ios/ExportOptions.plist
        publish_to: pgyer

打包日志(xxx为隐藏信息)

Packaging xxx 1.0.0+1 as ipa:
Building...
Cleaning Xcode workspace...
8.0s
Deleting build...
742ms
Deleting .dart_tool...
275ms
Deleting .packages...                                                0ms

Deleting Generated.xcconfig...
0ms
Deleting flutter_export_environment.sh...                            0ms
Deleting Flutter.podspec...
0ms
Deleting .flutter-plugins-dependencies...
0ms
Deleting .flutter-plugins...
0ms
Running "flutter pub get" in xxx...
4.4s
Archiving xxx...
Automatically signing iOS for device deployment using specified development team in Xcode project: xxx
Running pod install...
12.1s
Running Xcode build...

Xcode archive done.                                         526.4s
Built /Users/xxx/build/ios/archive/Runner.xcarchive.

💪 Building with sound null safety 💪
Building IPA...
16.0s
Encountered error while building IPA:
BuildError
#0      AppBuilder.build (package:flutter_app_builder/src/app_builder.dart:52:7)
<asynchronous suspension>
#1      FlutterAppBuilder.build (package:flutter_app_builder/src/flutter_app_builder.dart:42:12)
<asynchronous suspension>
#2      FlutterDistributor.package (package:flutter_distributor/src/flutter_distributor.dart:146:25)
<asynchronous suspension>
#3      FlutterDistributor.release (package:flutter_distributor/src/flutter_distributor.dart:300:43)
<asynchronous suspension>
#4      CommandRelease.run (file:///xxx/.pub-cache/hosted/pub.flutter-io.cn/flutter_distributor-0.1.4/bin/command_release.dart:33:5)
<asynchronous suspension>
#5      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#6      main (file:///xxx/.pub-cache/hosted/pub.flutter-io.cn/flutter_distributor-0.1.4/bin/main.dart:38:3)
<asynchronous suspension>

Unhandled exception:
Bad state: No element
#0      List.first (dart:core-patch/growable_array.dart:339:5)
#1      FlutterDistributor.release (package:flutter_distributor/src/flutter_distributor.dart:309:50)
<asynchronous suspension>
#2      CommandRelease.run (file:///xxx/.pub-cache/hosted/pub.flutter-io.cn/flutter_distributor-0.1.4/bin/command_release.dart:33:5)
<asynchronous suspension>
#3      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#4      main (file:///xxx/.pub-cache/hosted/pub.flutter-io.cn/flutter_distributor-0.1.4/bin/main.dart:38:3)
<asynchronous suspension>
lijy91 commented 2 years ago

export-options-plist 不是 info.plist

请参考下面示例配置及文章:

vance-liu commented 2 years ago

非常感谢,我正好也是找到这个问题了。 提个建议,可否写个插件根据info.plist自动生成ExportOptions.plist。 这样可以执行默认打包,export-options-plist作为可选参数。

lijy91 commented 2 years ago

不可以,因为 ExportOptions.plist 并不可以根据 Info.plist 来生成,你可以使用 Xcode 进行一次导出 Ipa 并获取 ExportOptions.plist。

vance-liu commented 2 years ago

非常感谢!

vance-liu commented 2 years ago

@lijy91 已更改export-options-plist: ios/ExportOptions.plist,还是一样的错误,😭,大佬明天看看

vance-liu commented 2 years ago

解决了,xcode环境问题,手动调用flutter build ipa --export-options-plist=ios/ExportOptions.plist --verbose,查找错误解决了

lijy91 commented 2 years ago

收到,可以加我微信 lijy91 进讨论群