Reputation: 31
I have updated Flutter to 2.5.0 in my project and getting a lot of errors, for example:
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/flutter/.pub-cache/hosted/pub.dartlang.org/audio_service-0.18.0/ios/Classes/AudioServicePlugin.m:213:59: warning: 'initWithImage:' is deprecated: first deprecated in iOS 10.0 - Use -initWithBoundsSize:requestHandler: [-Wdeprecated-declarations]
artwork = [[MPMediaItemArtwork alloc] initWithImage: artImage];
^
In module 'MediaPlayer' imported from /flutter/.pub-cache/hosted/pub.dartlang.org/audio_service-0.18.0/ios/Classes/AudioServicePlugin.m:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:244:1: note: 'initWithImage:' has been explicitly marked deprecated here
- (instancetype)initWithImage:(UIImage *)image MP_DEPRECATED("Use -initWithBoundsSize:requestHandler:", ios(5.0, 10.0));
^
1 warning generated.
/flutter/.pub-cache/hosted/pub.dartlang.org/audio_service-0.18.0/ios/Classes/AudioServicePlugin.m:213:59: warning: 'initWithImage:' is deprecated: first deprecated in iOS 10.0 - Use -initWithBoundsSize:requestHandler: [-Wdeprecated-declarations]
artwork = [[MPMediaItemArtwork alloc] initWithImage: artImage];
^
In module 'MediaPlayer' imported from /flutter/.pub-cache/hosted/pub.dartlang.org/audio_service-0.18.0/ios/Classes/AudioServicePlugin.m:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMediaItem.h:244:1: note: 'initWithImage:' has been explicitly marked deprecated here
- (instancetype)initWithImage:(UIImage *)image MP_DEPRECATED("Use -initWithBoundsSize:requestHandler:", ios(5.0, 10.0));
^
1 warning generated.
or
ios/Pods/Reachability/Reachability.m:465:63: warning: cast to smaller integer type 'unsigned int' from 'Reachability *' [-Wpointer-to-int-cast]
NSStringFromClass([self class]), (unsigned int) self, [self currentReachabilityFlags]];
^~~~~~~~~~~~~~~~~~~
1 warning generated.
ios/Pods/Reachability/Reachability.m:465:63: warning: cast to smaller integer type 'unsigned int' from 'Reachability *' [-Wpointer-to-int-cast]
NSStringFromClass([self class]), (unsigned int) self, [self currentReachabilityFlags]];
or
1 warning generated.
/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.7.0/ios/Classes/FlutterDownloaderPlugin.m:373:15: warning: 'stringByReplacingPercentEscapesUsingEncoding:' is deprecated: first deprecated in iOS 9.0 - Use -stringByRemovingPercentEncoding instead, which always uses the recommended UTF-8 encoding. [-Wdeprecated-declarations]
? [origin stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
^
In module 'Foundation' imported from /flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.7.0/ios/Classes/DBManager.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h:598:1: note: 'stringByReplacingPercentEscapesUsingEncoding:' has been explicitly marked deprecated here
- (nullable NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)enc API_DEPRECATED("Use -stringByRemovingPercentEncoding instead, which always uses the recommended UTF-8 encoding.", macos(10.0,10.11), ios(2.0,9.0), watchos(2.0,2.0), tvos(9.0,9.0));
^
/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.7.0/ios/Classes/FlutterDownloaderPlugin.m:973:21: warning: 'UILocalNotification' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNNotificationRequest [-Wdeprecated-declarations]
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
^
In module 'UIKit' imported from /Meduza/meduza-dart/ios/Pods/Target Support Files/flutter_downloader/flutter_downloader-prefix.pch:2:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h:18:12: note: 'UILocalNotification' has been explicitly marked deprecated here
@interface UILocalNotification : NSObject<NSCopying, NSCoding>
^
/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.7.0/ios/Classes/FlutterDownloaderPlugin.m:973:84: warning: 'UILocalNotification' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's UNNotificationRequest [-Wdeprecated-declarations]
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
^
In module 'UIKit' imported from /Meduza/meduza-dart/ios/Pods/Target Support Files/flutter_downloader/flutter_downloader-prefix.pch:2:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalNotification.h:18:12: note: 'UILocalNotification' has been explicitly marked deprecated here
@interface UILocalNotification : NSObject<NSCopying, NSCoding>
^
/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_downloader-1.7.0/ios/Classes/FlutterDownloaderPlugin.m:975:56: warning: 'presentLocalNotificationNow:' is deprecated: first deprecated in iOS 10.0 - Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:] [-Wdeprecated-declarations]
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
^
In module 'UIKit' imported from /Meduza/meduza-dart/ios/Pods/Target Support Files/flutter_downloader/flutter_downloader-prefix.pch:2:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.5.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:236:1: note: 'presentLocalNotificationNow:' has been explicitly marked deprecated here
- (void)presentLocalNotificationNow:(UILocalNotification *)notification API_DEPRECATED("Use UserNotifications Framework's -[UNUserNotificationCenter addNotificationRequest:withCompletionHandler:]", ios(4.0, 10.0)) API_UNAVAILABLE(tvos);
There are HUNDREDS of them, about different packages and pods. I have upgraded all dependencies, I have tried flutter clean
, flutter pub cache repair
, deleting Pods and Podfile.lock, it doesn't help. Also, I can't find issues about it in packages repos or flutter repo.
My flutter doctor
:
[✓] Flutter (Channel stable, 2.5.0, on macOS 11.5.2 20G95 darwin-x64, locale en-LV)
[✗] 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/docs/get-started/install/macos#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.
[✓] Xcode - develop for iOS and macOS
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google
Chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[✓] VS Code (version 1.59.1)
[✓] Connected device (1 available)
! Doctor found issues in 3 categories.
And flutter pub outdated
:
Showing outdated packages.
[*] indicates versions that are not the latest available.
Package Name Current Upgradable Resolvable Latest
direct dependencies:
characters *1.1.0 *1.1.0 *1.1.0 1.2.0
photo_view *0.11.1 *0.11.1 *0.11.1 0.12.0
worker_manager *4.2.3 *4.2.3 *4.2.3 4.2.4
dev_dependencies: all up-to-date.
transitive dependencies:
async *2.8.1 *2.8.1 *2.8.1 2.8.2
flutter_widget_from_html_core *0.6.2 *0.6.2 *0.6.2 0.7.0
matcher *0.12.10 *0.12.10 *0.12.10 0.12.11
test_api *0.4.2 *0.4.2 *0.4.2 0.4.3
You are already using the newest resolvable versions listed in the 'Resolvable' column.
Newer versions, listed in 'Latest', may not be mutually compatible.
Upvotes: 2
Views: 2596
Reputation: 3347
For people who are coming here after updating their flutter versions to 2.8 you can do something like this to fix this,
Add these lines to the local.properties file in the android folder
flutter.minSdkVersion = 23
flutter.targetSdkVersion = 30
flutter.compileSdkVersion = 30
Upvotes: 0
Reputation: 663
In build.gradle I changed 30 into 31
android {
compileSdkVersion 31
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
Upvotes: 0
Reputation: 221
I faced this type error and fixed following below steps:
sudo gem install cocoapods
copy and paste in the terminalpod init
pod install
pod update
After finish above process open simulator and run on there.
Upvotes: 0