颤振构建xcode11.3失败

时间:2020-01-16 06:38:37

标签: ios xcode flutter

我的构建目标是8.0
当我运行flutter build iOS时,我遇到了错误,有人可以帮忙吗?谢谢!

系统信息:macOS catalina v10.15.2

我的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 parse_KV_file(file, separator='=')
  file_abs_path = File.expand_path(file)
  if !File.exists? file_abs_path
    return [];
  end
  generated_key_values = {}
  skip_line_start_symbols = ["#", "/"]
  File.foreach(file_abs_path) do |line|
    next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
    plugin = line.split(pattern=separator)
    if plugin.length == 2
      podname = plugin[0].strip()
      path = plugin[1].strip()
      podpath = File.expand_path("#{path}", file_abs_path)
      generated_key_values[podname] = podpath
    else
      puts "Invalid plugin specification: #{line}"
    end
  end
  generated_key_values
end

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  # Flutter Pod

  copied_flutter_dir = File.join(__dir__, 'Flutter')
  copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
  copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
  unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
    # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
    # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
    # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.

    generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
    unless File.exist?(generated_xcode_build_settings_path)
      raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
    end
    generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
    cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];

    unless File.exist?(copied_framework_path)
      FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
    end
    unless File.exist?(copied_podspec_path)
      FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
    end
  end

  # Keep pod path relative so it can be checked into Podfile.lock.
  pod 'Flutter', :path => 'Flutter'

  # Plugin Pods

  # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
  # referring to absolute paths on developers' machines.
  system('rm -rf .symlinks')
  system('mkdir -p .symlinks/plugins')
  plugin_pods = parse_KV_file('../.flutter-plugins')
  plugin_pods.each do |name, path|
    symlink = File.join('.symlinks', 'plugins', name)
    File.symlink(path, symlink)
    pod name, :path => File.join(symlink, 'ios')
  end
end

# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
install! 'cocoapods', :disable_input_output_paths => true

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',

        ## dart: PermissionGroup.calendar
        'PERMISSION_EVENTS=0',

        ## dart: PermissionGroup.reminders
        'PERMISSION_REMINDERS=0',

        ## dart: PermissionGroup.contacts
        'PERMISSION_CONTACTS=0',

        ## dart: PermissionGroup.camera
        'PERMISSION_CAMERA=0',

        ## dart: PermissionGroup.microphone
        'PERMISSION_MICROPHONE=0',

        ## dart: PermissionGroup.speech
        'PERMISSION_SPEECH_RECOGNIZER=0',

        ## dart: PermissionGroup.photos
        # 'PERMISSION_PHOTOS=0',

        ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
        'PERMISSION_LOCATION=0',

        ## dart: PermissionGroup.notification
        # 'PERMISSION_NOTIFICATIONS=0',

        ## dart: PermissionGroup.mediaLibrary
        'PERMISSION_MEDIA_LIBRARY=0',

        ## dart: PermissionGroup.sensors
        'PERMISSION_SENSORS=0'
      ]
      end
    end
  end

我的信息列表:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>flutter_lim</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>$(MARKETING_VERSION)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>$(CURRENT_PROJECT_VERSION)</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
    </dict>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    <key>io.flutter.embedded_views_preview</key>
    <string>YES</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <key>PermissionGroupNotification</key>
</dict>
</plist>

颤抖的医生:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.12.13+hotfix.6, on Mac OS X 10.15.2 19C57, locale zh-Hans-CN)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.


[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
[!] Android Studio (not installed)
[✓] Connected device (1 available)

错误输出:


    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-4.1.0/ios/Classes/strategies/NotificationPermissionStrategy.m:71:5: warning: 'UIRemoteNotificationType' is deprecated:
    first deprecated in iOS 8.0 - Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.
    [-Wdeprecated-declarations]
        UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
        ^
    In module 'UIKit' imported from /Users/Geek/work/flutter_lim/ios/Pods/Target Support Files/permission_handler/permission_handler-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:69:32: note:
    'UIRemoteNotificationType' has been explicitly marked deprecated here
    typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) {
                                   ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-4.1.0/ios/Classes/strategies/NotificationPermissionStrategy.m:71:72: warning: 'enabledRemoteNotificationTypes' is
    deprecated: first deprecated in iOS 8.0 - Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter
    getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings [-Wdeprecated-declarations]
        UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
                                                                           ^
    In module 'UIKit' imported from /Users/Geek/work/flutter_lim/ios/Pods/Target Support Files/permission_handler/permission_handler-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:229:1: note:
    'enabledRemoteNotificationTypes' has been explicitly marked deprecated here
    - (UIRemoteNotificationType)enabledRemoteNotificationTypes API_DEPRECATED("Use -[UIApplication isRegisteredForRemoteNotifications] and UserNotifications Framework's -[UNUserNotificationCenter
    getNotificationSettingsWithCompletionHandler:] to retrieve user-enabled remote notification and user notification settings", ios(3.0, 8.0)) API_UNAVAILABLE(tvos);
    ^
    2 warnings generated.
    2 warnings generated.
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.m:26:
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:328:19: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param sharedStyle
     ~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:25: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param allowTapToDismiss
     ~~~~~~~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: warning: parameter 'allowTapToDismiss' not found in the function declaration
    [-Wdocumentation]
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: note: did you mean 'tapToDismissEnabled'?
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
            tapToDismissEnabled
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:362:20: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param queueEnabled
     ~~~~~~~~~~~~~~~~~~^
    4 warnings generated.
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:2:
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:328:19: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param sharedStyle
     ~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:25: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param allowTapToDismiss
     ~~~~~~~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: warning: parameter 'allowTapToDismiss' not found in the function declaration
    [-Wdocumentation]
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: note: did you mean 'tapToDismissEnabled'?
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
            tapToDismissEnabled
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:362:20: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param queueEnabled
     ~~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:19:23: warning: unused variable 'viewController' [-Wunused-variable]
        UIViewController *viewController =
                          ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:70:21: warning: unused variable 'topPadding' [-Wunused-variable]
                CGFloat topPadding = window.safeAreaInsets.top;
                        ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:71:21: warning: unused variable 'bottomPadding' [-Wunused-variable]
                CGFloat bottomPadding = window.safeAreaInsets.bottom;
                        ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:48:19: warning: unused variable 'size' [-Wunused-variable]
            NSNumber *size = call.arguments[@"size"];
                      ^
    8 warnings generated.
    4 warnings generated.
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:2:
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:328:19: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param sharedStyle
     ~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:25: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param allowTapToDismiss
     ~~~~~~~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: warning: parameter 'allowTapToDismiss' not found in the function declaration
    [-Wdocumentation]
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:343:9: note: did you mean 'tapToDismissEnabled'?
     @param allowTapToDismiss
            ^~~~~~~~~~~~~~~~~
            tapToDismissEnabled
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/UIView+Toast.h:362:20: warning: empty paragraph passed to '@param' command [-Wdocumentation]
     @param queueEnabled
     ~~~~~~~~~~~~~~~~~~^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:19:23: warning: unused variable 'viewController' [-Wunused-variable]
        UIViewController *viewController =
                          ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:70:21: warning: unused variable 'topPadding' [-Wunused-variable]
                CGFloat topPadding = window.safeAreaInsets.top;
                        ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:71:21: warning: unused variable 'bottomPadding' [-Wunused-variable]
                CGFloat bottomPadding = window.safeAreaInsets.bottom;
                        ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/fluttertoast-3.1.3/ios/Classes/FluttertoastPlugin.m:48:19: warning: unused variable 'size' [-Wunused-variable]
            NSNumber *size = call.arguments[@"size"];
                      ^
    8 warnings generated.
    4 warnings generated.
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/mobpush_plugin-1.0.9/ios/Classes/MobpushPlugin.m:5:
    In file included from /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFoundation.h:28:
    /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFImageGetter.h:25:4: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable,
    or _Null_unspecified) [-Wnullability-completeness]
    + (instancetype)sharedInstance;
       ^
    /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFImageGetter.h:25:4: note: insert '_Nullable' if the pointer may be null
    + (instancetype)sharedInstance;
       ^
                    _Nullable
    /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFImageGetter.h:25:4: note: insert '_Nonnull' if the pointer should never be null
    + (instancetype)sharedInstance;
       ^
                    _Nonnull
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/mobpush_plugin-1.0.9/ios/Classes/MobpushPlugin.m:5:
    In file included from /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFoundation.h:33:
    /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MobSDK.h:108:9: warning: parameter 'data' not found in the function declaration [-Wdocumentation]
     @param data  title=标题,content=内容(type=1,返回url,type = 2时返回富文本)
            ^~~~
    /Users/Geek/work/flutter_lim/ios/Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MobSDK.h:108:9: note: did you mean 'result'?
     @param data  title=标题,content=内容(type=1,返回url,type = 2时返回富文本)
            ^~~~
            result
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/mobpush_plugin-1.0.9/ios/Classes/MobpushPlugin.m:223:22: warning:
    'sendMessageWithMessageType:content:space:isProductionEnvironment:extras:linkScheme:linkData:result:' is deprecated: Method discard from v2.3.0. [-Wdeprecated-declarations]
                [MobPush sendMessageWithMessageType:type
                         ^
    In file included from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/mobpush_plugin-1.0.9/ios/Classes/MobpushPlugin.m:3:
    /Users/Geek/work/flutter_lim/ios/Pods/mob_pushsdk/MobPush/MobPush.framework/Headers/MobPush+Test.h:42:70: note:
    'sendMessageWithMessageType:content:space:isProductionEnvironment:extras:linkScheme:linkData:result:' has been explicitly marked deprecated here
                                result:(void (^)(NSError *error))handler __deprecated_msg("Method discard from v2.3.0.");
                                                                         ^
    In module 'Foundation' imported from /Users/Geek/work/flutter_lim/ios/Pods/mob_pushsdk/MobPush/MobPush.framework/Headers/MobPush.h:9:
    In module 'CoreFoundation' imported from
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk/usr/include/sys/cdefs.h:191:48: note: expanded from macro '__deprecated_msg'
            #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                          ^
    3 warnings generated.
    error: the following command failed with exit code 0 but produced no further output
    CompileC
    /Users/Geek/Library/Developer/Xcode/DerivedData/Runner-dhwtsvpdzvjexedeiokhabtbjtth/Build/Intermediates.noindex/Pods.build/Release-iphoneos/mobpush_plugin.build/Objects-normal/arm64/MobpushPlugin.o
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/mobpush_plugin-1.0.9/ios/Classes/MobpushPlugin.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:73:53: warning: incompatible pointer types sending 'FlutterEngine *' to
    parameter of type 'NSObject<FlutterBinaryMessenger> * _Nonnull' [-Wincompatible-pointer-types]
                                        binaryMessenger:_headlessRunner];
                                                        ^~~~~~~~~~~~~~~
    In module 'Flutter' imported from /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.h:1:
    /Users/Geek/work/flutter_lim/ios/Flutter/Flutter.framework/Headers/FlutterChannels.h:178:74: note: passing argument to parameter 'messenger' here
                          binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
                                                                             ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:157:103: warning: values of type 'NSUInteger' should not be used as format
    arguments; add an explicit cast to 'unsigned long' instead [-Wformat]
        return [NSString stringWithFormat: @"%@.%lu", [[[self currentSession] configuration] identifier], [task taskIdentifier]];
                                                ~~~                                                       ^~~~~~~~~~~~~~~~~~~~~
                                                %lu                                                       (unsigned long)
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:162:89: warning: values of type 'NSUInteger' should not be used as format
    arguments; add an explicit cast to 'unsigned long' instead [-Wformat]
        return [NSString stringWithFormat: @"%@.%lu", [[session configuration] identifier], [task taskIdentifier]];
                                                ~~~                                         ^~~~~~~~~~~~~~~~~~~~~
                                                %lu                                         (unsigned long)
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:273:15: warning: unused variable 'url' [-Wunused-variable]
        NSString *url = dict[KEY_URL];
                  ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:863:52: warning: incompatible pointer types sending 'NSURLSessionTask *' to
    parameter of type 'NSURLSessionDownloadTask *' [-Wincompatible-pointer-types]
            NSString *taskId = [self identifierForTask:task ofSession:session];
                                                       ^~~~
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:160:60: note: passing argument to parameter 'task' here
    - (NSString*)identifierForTask:(NSURLSessionDownloadTask*) task ofSession:(NSURLSession *)session
                                                               ^
    /Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.4.0/ios/Classes/FlutterDownloaderPlugin.m:904:51: warning: block implicitly retains 'self'; explicitly mention 'self'
    to indicate this is intended behavior [-Wimplicit-retain-self]
                        localNotification.alertBody = _allFilesDownloadedMsg;
                                                      ^
                                                      self->
    6 warnings generated.
    4 warnings generated.
    Building AOT snapshot in release mode (ios-release)...
    Building App.framework for arm64...

    Building App.framework for armv7...
    Building AOT snapshot in release mode (ios-release)...             65.1s
    Built to build/aot/.
    warning: parsing line table prologue at offset 0x6f697463 found unsupported version 0x00
    warning: line table parameters mismatch. Cannot emit.
    note: while processing /Users/Geek/work/flutter_lim/build/aot/armv7/snapshot_assembly.o
    Project /Users/Geek/work/flutter_lim built and packaged successfully.
    mkdir -p /Users/Geek/work/flutter_lim/build/ios/Release-iphoneos/深度智投.app/Frameworks
    rsync --delete -av --filter P .*.?????? --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules"
    "/Users/Geek/work/flutter_lim/ios/Pods/../Flutter/Flutter.framework" "/Users/Geek/work/flutter_lim/build/ios/Release-iphoneos/深度智投.app/Frameworks"
    building file list ... done
    Flutter.framework/
    Flutter.framework/Flutter
    Flutter.framework/Info.plist
    Flutter.framework/icudtl.dat
    Flutter.framework/_CodeSignature/
    Flutter.framework/_CodeSignature/CodeResources

    sent 369751741 bytes  received 120 bytes  35214462.95 bytes/sec
    total size is 369706205  speedup is 1.00
    fatal error: lipo: can't write to output file: /Users/Geek/work/flutter_lim/build/ios/Release-iphoneos/深度智投.app/Frameworks/Flutter.framework/Flutter.lipo (No space left on device)
    Command PhaseScriptExecution failed with a nonzero exit code
    note: Using new build system
    note: Planning build
    note: Constructing build description

复制步骤

配置

版本:4.1.0Permission_handler

平台: -[x]:iphone:iOS

当我将ios构建目标更改为10.0时,出现了更多警告

1 个答案:

答案 0 :(得分:1)

如错误消息所述:

/Users/Geek/work/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-4.1.0/ios/Classes/strategies/NotificationPermissionStrategy.m:71:5: warning: 'UIRemoteNotificationType' is deprecated:
    first deprecated in iOS 8.0 - Use UserNotifications Framework's UNAuthorizationOptions for user notifications and registerForRemoteNotifications for receiving remote notifications instead.
    [-Wdeprecated-declarations]

您必须添加:

if application.respondsToSelector("isRegisteredForRemoteNotifications")
{
    // iOS 8 Notifications
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: (.Badge | .Sound | .Alert), categories: nil));
    application.registerForRemoteNotifications()
}
else
{
    // iOS < 8 Notifications
    application.registerForRemoteNotificationTypes(.Badge | .Sound | .Alert)
}

对此有一个附加的问题,here