square / in-app-payments-flutter-plugin

Flutter Plugin for Square In-App Payments SDK
https://developer.squareup.com/docs
Apache License 2.0
340 stars 121 forks source link

error: linker command failed #168

Closed kherel closed 2 years ago

kherel commented 3 years ago

I'm facing this error, during flutter run.. note: Build preparation complete note: Planning note: Using new build system 3 Command CompileSwiftSources failed with a nonzero exit code clang: error: linker command failed with exit code 1 (use -v to see invocation) ld: building for iOS Simulator, but linking in dylib built for iOS, file '/Volumes/Dev/app/ios/Pods/SquareInAppPaymentsSDK/SquareInAppPaymentsSDKs.framework/SquareInAppPaymentsSDK.framework/SquareInAppPaymentsSDK' for architecture arm64 ↳ Xcode's output: ** BUILD FAILED ** note: Building targets in parallel /Volumes/Dev/app/ios/Pods/Pods.xcodeproj: 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 15.0.99. (in target 'AppAuth' from project 'Pods') /Volumes/Dev/app/ios/Pods/Pods.xcodeproj: 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 15.0.99. (in target 'GoogleSignIn' from project 'Pods') Could not build the application for the simulator. Error launching application on iPhone 8.

mtwichel commented 3 years ago

I'm getting the same error. I'm investigating, but I noticed it didn't have the same issue when debugging on my physical device. Are you able to reproduce with a physical device?

Also, I am on an intel based MacBook Pro, is that the same for you? I wonder if there's something weird translating between x86 and arm instructions 🤔

Further, we just upgraded to Flutter 2.5.1 - we'll see if that has a bearing too. Come to think of it, we upgraded to Xcode 13 and are testing on iOS 15, although my coworker had the issue with Xcode 12 and iOS 14.5 😕

@kherel , can you verify your devices and if it works on a physical device?

mtwichel commented 3 years ago

Update: We downgraded our app from flutter version 2.5.0 to 2.2.3 and it worked, so it looks like that's My current theory is since flutter 2.5.0 added support for dart 2.14, which added support for Apple Silicon - I wonder if something got broke because of that? Judging by this answer in stack overflow, it may just need some changes to the config files?

kherel commented 3 years ago

@mtwichel Same here. It works on a physical device. btw I have iMac with M1, and my colleague is using MacBook with Intel processor. Both of us have the same error.

Many thanks for your solution.

mtwichel commented 3 years ago

btw I have iMac with M1, and my colleague is using MacBook with Intel processor. Both of us have the same error.

Very strange! It must be some other configuration error in the package. Thanks for following up!

mrverdant13 commented 3 years ago

Hey, guys! Just hit the same issue and all you need to do to solve it is to add the following at the end of your Podfile (works with Flutter 2.5)

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      ... other setup
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
      ... yet other setup
    end
  end
end

This way, you ensure all your pods set their deployment target to 11.0.

Hope it helps!

CharmisG commented 2 years ago

You are facing this issue because of your pod version is not match with IPHONEOS_DEPLOYMENT_TARGET version. You can find IPHONEOS_DEPLOYMENT_TARGET in exmaple -> ios -> Runner.xcodeproj -> project.pbxproj. Please pull latest code and let me if you are still facing this issue for now I'm closing this issue