微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter:无法在 codemagic 上为 ios 构建

如何解决Flutter:无法在 codemagic 上为 ios 构建

我正在尝试在 codemagic 上为我的 Flutter 项目创建一个 IOS 版本,但它一直失败。我在应用程序中使用 Flutter_config,但我的 .env 文件中的值已添加到 codemagic 的环境变量中,但我仍然认为失败的构建与 Flutter_config 有关,但也许还有更多。这是我的日志,任何帮助都会很棒。

== Building for iOS ==


Running Xcode build...                                          

Xcode archive done.                                         19.1s

Failed to build iOS app
Error output from Xcode build:
↳
    ** ARCHIVE Failed **


Xcode's output:
↳
    Command CompileSwift Failed with a nonzero exit code
    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:107:111: error: using '!' is not allowed here; perhaps '?' was intended?
            typealias Function = (_ data: UnsafeRawPointer,_ len: CC_LONG,_ md: UnsafeMutablePointer<UInt8>) -> UnsafeMutablePointer<UInt8>!
                                                                                                                  ^                          ~
                                                                                                                                             ?
    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:188:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func MD2() -> Self {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:198:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func MD4() -> Self {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:208:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func MD5() -> Self {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:217:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func SHA1() -> Self {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:226:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func SHA224() -> Self {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:235:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func SHA256() -> Self {
        ^~~~~~~

 /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:628:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func encrypt(_ algorithm: Cipher.Algorithm,options: Cipher.Options,key: Data,iv: Data? = nil) throws -> Data {
        ^~~~~~~

    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:646:5: warning: 'public' modifier is redundant for instance method declared in a public extension
        public func decrypt(_ algorithm: Cipher.Algorithm,iv: Data? = nil) throws -> Data {
        ^~~~~~~

                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:272:69: note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
            return type(of: self).init(Data(bytes: UnsafePointer<UInt8>(messageDigest),count: messageDigest.count))
                                                                        ^~~~~~~~~~~~~
    /Users/builder/clone/ios/Pods/SCrypto/Source/SCrypto.swift:272:69: note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
            return type(of: self).init(Data(bytes: UnsafePointer<UInt8>(messageDigest),count: messageDigest.count))
   
                                                    ^
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/BuildDotenvConfig.rb' of type 'text.script.ruby' for architecture 'arm64' (in target 'Flutter_config' from project 'Pods')
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/BuildxcConfig.rb' of type 'text.script.ruby' for architecture 'arm64' (in target 'Flutter_config' from project 'Pods')
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/ReadDotEnv.rb' of type 'text.script.ruby' for architecture 'arm64' (in target 'Flutter_config' from project 'Pods')
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/BuildDotenvConfig.rb' of type 'text.script.ruby' for architecture 'armv7' (in target 'Flutter_config' from project 'Pods')
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/BuildxcConfig.rb' of type 'text.script.ruby' for architecture 'armv7' (in target 'Flutter_config' from project 'Pods')
    warning: no rule to process file '/Users/builder/programs/Flutter/.pub-cache/hosted/pub.dartlang.org/Flutter_config-1.0.8/ios/Classes/ReadDotEnv.rb' of type 'text.script.ruby' for architecture 'armv7' (in target 'Flutter_config' from project 'Pods')
Encountered error while archiveing for device.




Build Failed :|
Failed to build for iOS

解决方法

根据错误消息,我建议检查下一个解决方案 https://github.com/dart-lang/crypto/issues/85#issuecomment-584256548

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。