skip to Main Content

After upgrading flutter 2.2.0 and Xcode 12.4 iOS app stops running from IDE. However app runs when I run from Xcode itself.

Here is some logs to see.

Flutter run console output

Launching lib/main.dart on iPhone SE (2nd generation) in debug mode...
Xcode build done.                                           38.3s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    1 warning generated.
    10 warnings generated.
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:309:42: warning: comparison of distinct pointer types ('NSString *' and 'NSNull * _Nonnull') [-Wcompare-distinct-pointer-types]
        if (_stripeAccount && _stripeAccount != [NSNull null]) {
                              ~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:731:42: warning: 'startPollingSourceWithId:clientSecret:timeout:completion:' is deprecated: You should poll your own backend to update based on source status change webhook events it may receive. [-Wdeprecated-declarations]
                            [stripeAPIClient startPollingSourceWithId:sourceID clientSecret:clientSecret timeout:10 completion:^(STPSource *source, NSError *error) {
                                             ^
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPAPIClient.h:370:243: note: 'startPollingSourceWithId:clientSecret:timeout:completion:' has been explicitly marked deprecated here
    - (void)startPollingSourceWithId:(NSString *)identifier clientSecret:(NSString *)secret timeout:(NSTimeInterval)timeout completion:(STPSourceCompletionBlock)completion NS_EXTENSION_UNAVAILABLE("Source polling is not available in extensions") DEPRECATED_MSG_ATTRIBUTE("You should poll your own backend to update based on source status change webhook events it may receive.");
                                                                                          ^
    In module 'Foundation' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:9:
    In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/include/AvailabilityMacros.h:183:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
                #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))
                                                                   ^
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:798:20: warning: 'setPublishableKey:' is deprecated: If you used [STPPaymentConfiguration sharedConfiguration].publishableKey, use [STPAPIClient sharedClient].publishableKey instead. If you passed a STPPaymentConfiguration instance to an SDK component, create an STPAPIClient, set publishableKey on it, and set the SDK component's APIClient property. [-Wdeprecated-declarations]
        [configuration setPublishableKey:nextPublishableKey];
                       ^
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPPaymentConfiguration.h:126:50: note: property 'publishableKey' is declared deprecated here
    @property (nonatomic, copy, readwrite) NSString *publishableKey DEPRECATED_MSG_ATTRIBUTE("If you used [STPPaymentConfiguration sharedConfiguration].publishableKey, use [STPAPIClient sharedClient].publishableKey instead. If you passed a STPPaymentConfiguration instance to an SDK component, create an STPAPIClient, set publishableKey on it, and set the SDK component's APIClient property.");
                                                     ^
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPPaymentConfiguration.h:126:65: note: 'setPublishableKey:' has been explicitly marked deprecated here
    @property (nonatomic, copy, readwrite) NSString *publishableKey DEPRECATED_MSG_ATTRIBUTE("If you used [STPPaymentConfiguration sharedConfiguration].publishableKey, use [STPAPIClient sharedClient].publishableKey instead. If you passed a STPPaymentConfiguration instance to an SDK component, create an STPAPIClient, set publishableKey on it, and set the SDK component's APIClient property.");
                                                                    ^
    In module 'Foundation' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:9:
    In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/include/AvailabilityMacros.h:183:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
                #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))
                                                                   ^
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:1104:23: warning: 'metadata' is deprecated: Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead. [-Wdeprecated-declarations]
                 TPSEntry(metadata),
                          ^
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPPaymentMethod.h:138:89: note: 'metadata' has been explicitly marked deprecated here
    @property (nonatomic, nullable, readonly) NSDictionary<NSString*, NSString *> *metadata DEPRECATED_MSG_ATTRIBUTE("Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead.");
                                                                                          ^
    In module 'Foundation' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:9:
    In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/include/AvailabilityMacros.h:183:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
                #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))
                                                                   ^
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:1377:16: warning: 'metadata' is deprecated: Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead. [-Wdeprecated-declarations]
        if (source.metadata) {
                   ^
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPSource.h:143:89: note: 'metadata' has been explicitly marked deprecated here
    @property (nonatomic, nullable, readonly) NSDictionary<NSString*, NSString *> *metadata DEPRECATED_MSG_ATTRIBUTE("Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead.");
                                                                                          ^
    In module 'Foundation' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:9:
    In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/include/AvailabilityMacros.h:183:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
                #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))
                                                                   ^
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:1378:33: warning: 'metadata' is deprecated: Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead. [-Wdeprecated-declarations]
            [result setValue:source.metadata forKey:@"metadata"];
                                    ^
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPSource.h:143:89: note: 'metadata' has been explicitly marked deprecated here
    @property (nonatomic, nullable, readonly) NSDictionary<NSString*, NSString *> *metadata DEPRECATED_MSG_ATTRIBUTE("Metadata is no longer returned to clients using publishable keys. Retrieve them on your server using yoursecret key instead.");
                                                                                          ^
    In module 'Foundation' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:9:
    In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk/usr/include/AvailabilityMacros.h:183:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
                #define DEPRECATED_MSG_ATTRIBUTE(s) __attribute__((deprecated(s)))
                                                                   ^
    /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.m:1731:16: warning: 'STPBillingAddressFieldsZip' is deprecated: Use STPBillingAddressFieldsPostalCode [-Wdeprecated-declarations]
            return STPBillingAddressFieldsZip;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
                   STPBillingAddressFieldsPostalCode
    In module 'Stripe' imported from /Users/pc/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/stripe_payment-1.0.10/ios/Classes/TPSStripeManager.h:11:
    /Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/Stripe/PublicHeaders/STPAddress.h:48:47: note: 'STPBillingAddressFieldsZip' has been explicitly marked deprecated here
        STPBillingAddressFieldsZip __attribute__((deprecated("Use STPBillingAddressFieldsPostalCode", "STPBillingAddressFieldsPostalCode"))) = STPBillingAddressFieldsPostalCode,
                                                  ^
    7 warnings generated.
    ld: building for iOS Simulator, but linking in object file built for iOS, file '/Users/pc/Desktop/Kishan/touch_ticket_client_app/ios/Pods/Stripe/InternalFrameworks/libStripe3DS2.a' for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description
    warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'Toast' from project 'Pods')
    warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'Flutter' from project 'Pods')
Could not build the application for the simulator.
Error launching application on iPhone SE (2nd generation).
Exited (sigterm)

Flutter Doctor -v output

[✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-IN)
    • Flutter version 2.2.1 at /Users/pc/Desktop/flutter
    • Framework revision 02c026b03c (3 weeks ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/pc/Library/Android/sdk
    • Platform android-S, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.57.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (2 available)
    • iPhone SE (2nd generation) (mobile) • 1996F394-57D4-419A-ABB6-C55113BED393 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 91.0.4472.106

• No issues found!

What I have tried so far:

1) CLEAN BUILD AND RUN

flutter clean
flutter build ios
flutter run

2) RUN AGAIN AFTER FOLLOWING COMMAND

flutter clean && 
rm ios/Podfile ios/Podfile.lock pubspec.lock && 
rm -rf ios/Pods ios/Runner.xcworkspace &&  
flutter run

3) REMOVED WorkspaceSettings.xcsettings FILE

rm -f ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

4) REPAIRED PUB CATCH

flutter pub cache repair 

4

Answers


  1. Chosen as BEST ANSWER

    After many attempts and applying possible solutions now I think that the answers to this question depend on the project and dependencies and there can not be one only perfect solution.

    - From my side to solve This problem what I have done is:

    • Back up the Existing project.
    • Create a new flutter project.
    • Copy the mentioned files from the existing project into the new project you just created.

    Files

     pubspec.yaml
     Androidmanifest.xml
    

    Folders

     assets
     lib
    
    
    • Beside this files and folder you have to also copy the file which you manually updated in the Android or ios folder for your project.

    After make sure you copied all files and folders you want for your project try running your newly created flutter project.


  2. Did you try to run these commands? Same problem happened to me after upgrading my Flutter project and with these commands I was able to run my project again on iOS.

    cd ios
    pod deintegrate
    rm Flutter/Flutter.podspec
    rm podfile.lock
    pod init 
    pod install
    flutter clean
    flutter pub get
    flutter run
    

    And make sure you have flutter_additional_ios_build_settings in your podfile.

    This is mine usually.

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
          config.build_settings['SWIFT_VERSION'] = '5.0' 
          config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
        flutter_additional_ios_build_settings(target)
      end
    end
    

    Additionally, consider using pod install --repo-update instead of pod install

    Also, can you try to run your project in Xcode through .xcworkspace file? In my experience, Xcode built it with no problem on iOS Simulator but flutter can’t. So I was trying to figure out if you encounter the same problem as I had.

    EDIT: I also suggest you to update Stripe library to the latest version.

    Login or Signup to reply.
  3. i update my firebase packege ( do it if u have ) then :

    cd ios
    rm podfile.lock
    flutter clean
    flutter pub get
    pod install
    

    last thing clean there project from code product->clean build folder then run it from code

    I hope that fix the problim

    Login or Signup to reply.
  4. I’ve had this compatibility problem before, but because of the different projects, there’s
    no fixed answer;

    Step 1. Back up an existing project (I usually create a compression package directly);

    Step 2. Working with The iOS Simulator deployment target, change to the lowest supported version of ios 9 instead of iOS 8. (Try to run)

    Step 3. Adjust the code one by one according to log prompts, including replacing deprecation methods, updating third-party libraries, and so on.

    Important: Error logs are your best helper, follow instructions to deal with, and problems are bound to be resolved.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search