Problems building the Braintree Cocoapod

I’ve included the Braintree pod (https://cocoapods.org/pods/Braintree) in my iOS app, but I just can’t get it to build!

I’m working on an old Rubymotion project of mine, which I haven’t touched in 5 months. It was working 5 months back, but I can’t get it to work now. I’ve tried to downgrade to the motion-cocoapods and Braintree version I was using back then, but with same result.

This is the error I’m getting when running rake --trace:

The following build commands failed:
	CompileC /Users/holgersindbaek/Desktop/pod-test/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTDropInErrorAlert.o Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	Libtool .build/libBraintree.a normal x86_64
(2 failures)
    ERROR! Vendor project "vendor/Pods" failed to compile. See full error by running task with --trace.
/Library/RubyMotion/lib/motion/project/vendor.rb:367:in `block in invoke_xcodebuild'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/file_utils.rb:57:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:365:in `invoke_xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:357:in `xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:190:in `build_xcode'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `block in build'
/Library/RubyMotion/lib/motion/project/vendor.rb:47:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:47:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:67:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:67:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:78:in `build'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/motion-cocoapods-1.9.1/lib/motion/project/cocoapods.rb:54:in `build_with_cocoapods'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:69:in `block (2 levels) in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:179:in `block in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:217:in `block in invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:215:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:215:in `invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:160:in `invoke_task'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:116:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:116:in `block in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:125:in `run_with_threads'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:110:in `top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:83:in `block in run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/lib/rake/application.rb:80:in `run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

I’ve created a test project you can find here:
https://mega.nz/#!R3gCxZrJ!MEGHwhJ50-pG3GkWE2JWn-0pPnzLR6L7EpUhI6DdNsQ

I’m using the newest version of RubyMotion and Xcode.

Any guess on what’s going on?

I might have gotten it to work. I’ll keep you posted.

How are things coming along?

Unrelated, but worth taking note of. Braintree has (at least in the past), received a lot of bad press with regards to B2B relations. Specifically their credit check process and some of the arbitrary requirements that are in there.

@amirrajan I got it to work the last time I had this bug. Now I’ve updated to the new Mojave and I’ve applied your money patch to get cocoapods to work. The only thing that’s not working now, is Braintree. I’m getting the following error:

The following build commands failed:
	CompileC /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTSimpleKeychain.o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/Pods/Braintree/BraintreePayPal/PayPalUtils/PPOTSimpleKeychain.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTPersistentRequestData.o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Models/PPOTPersistentRequestData.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTConfiguration.o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Configuration/PPOTConfiguration.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTPayPalDriver.o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTDropInErrorAlert.o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler

Do you have any idea about what the bug could be about?

Already have a build in the works to fix this.

Give this a shot: https://github.com/amirrajan/rubymotion-applied/issues/106#issuecomment-427552574

I’ve already done this part of your fix:

I’m guessing that’s the thing you’re suggesting here? That makes “motion-cocoapods” work again, so the project will build if I comment out “Braintree”. From what I can see, it’s not a BridgeSupport issue. But I might be wrong?

@amirrajan I’ve managed to get rid of the bug by building with the deployment target set to “10.0”, but now I get another bug:

CreateUniversalBinary /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy\ 3/vendor/Pods/.build/libPods-RubyMotion.a normal i386\ x86_64 (in target: Pods-RubyMotion)
    cd /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy\ 3/vendor/Pods
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy\ 3/vendor/build/Pods.build/Release-iphonesimulator/Pods-RubyMotion.build/Objects-normal/i386/libPods-RubyMotion.a /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy\ 3/vendor/build/Pods.build/Release-iphonesimulator/Pods-RubyMotion.build/Objects-normal/x86_64/libPods-RubyMotion.a -o /Users/holgersindbaek/Dropbox\ (Slang)/programming/Implementation_2.0/slang_ios\ copy\ 3/vendor/Pods/.build/libPods-RubyMotion.a

** BUILD FAILED **

    ERROR! Vendor project "vendor/Pods" failed to compile. See full error by running task with --trace.
/Library/RubyMotion/lib/motion/project/vendor.rb:368:in `block in invoke_xcodebuild'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:366:in `invoke_xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:358:in `xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:191:in `build_xcode'
/Library/RubyMotion/lib/motion/project/vendor.rb:49:in `block in build'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:69:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:78:in `build'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/motion-cocoapods-1.8.1/lib/motion/project/cocoapods.rb:53:in `build_with_cocoapods'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:70:in `block (2 levels) in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:183:in `block in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:237:in `block in invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:235:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:235:in `invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:212:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:160:in `invoke_task'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:83:in `block in run'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/lib/rake/application.rb:80:in `run'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/bin/rake:23:in `load'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/bin/rake:23:in `<main>'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
/Users/holgersindbaek/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

Any guess if what that bug relates to?

@amirrajan I’ve created an example project for braintree here:

https://we.tl/t-fMnz4MjsKG

It should give you the following error:

** BUILD FAILED **


The following build commands failed:
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTSimpleKeychain.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreePayPal/PayPalUtils/PPOTSimpleKeychain.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTPersistentRequestData.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Models/PPOTPersistentRequestData.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTConfiguration.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Configuration/PPOTConfiguration.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTPayPalDriver.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTDropInErrorAlert.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(5 failures)
    ERROR! Vendor project "vendor/Pods" failed to compile. See full error by running task with --trace.
/Library/RubyMotion/lib/motion/project/vendor.rb:368:in `block in invoke_xcodebuild'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:366:in `invoke_xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:358:in `xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:191:in `build_xcode'
/Library/RubyMotion/lib/motion/project/vendor.rb:49:in `block in build'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:69:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:78:in `build'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/motion-cocoapods-1.9.1/lib/motion/project/cocoapods.rb:54:in `build_with_cocoapods'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:70:in `block (2 levels) in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:183:in `block in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:237:in `block in invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:235:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:235:in `invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:212:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:160:in `invoke_task'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:83:in `block in run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:80:in `run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

If you set the deployment target to 10.0 (which is what I need), then it should give you the following error:

** BUILD FAILED **


The following build commands failed:
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTDropInErrorAlert.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Desktop/braintree-example/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/i386/BTDropInErrorAlert.o /Users/holgersindbaek/Desktop/braintree-example/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)
    ERROR! Vendor project "vendor/Pods" failed to compile. See full error by running task with --trace.
/Library/RubyMotion/lib/motion/project/vendor.rb:368:in `block in invoke_xcodebuild'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:366:in `invoke_xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:358:in `xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:191:in `build_xcode'
/Library/RubyMotion/lib/motion/project/vendor.rb:49:in `block in build'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:69:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:68:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:78:in `build'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/motion-cocoapods-1.9.1/lib/motion/project/cocoapods.rb:54:in `build_with_cocoapods'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:70:in `block (2 levels) in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:183:in `block in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:271:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:237:in `block in invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:235:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:235:in `invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:212:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:193:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/task.rb:182:in `invoke'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:160:in `invoke_task'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:83:in `block in run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/lib/rake/application.rb:80:in `run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

Let me know if you need anything else from me to zone in on the bug.

Just released a beta with potential fixes for Mojave. Mind giving it a shot? https://s3.us-east-2.amazonaws.com/amirrajan-public/RubyMotion+5.15.pkg

Hi @amirrajan… I know it’s been a long time since i opened this issue, but it’s still going on.

I’ve been running on High Sierra and Rubymotion 5.10 since this happened to avoid this issue.

I’ve had to upgrade to Mojave and Rubymotion 6.0 since Apple requires the app to be build against iOS 12 now though.

So now I’m back to trying to solve this issue.

I’m gettings exactly the same errors as before:

The following build commands failed:
	CompileC /Users/holgersindbaek/Downloads/braintree-error/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTSimpleKeychain.o /Users/holgersindbaek/Downloads/braintree-error/vendor/Pods/Braintree/BraintreePayPal/PayPalUtils/PPOTSimpleKeychain.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Downloads/braintree-error/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTPersistentRequestData.o /Users/holgersindbaek/Downloads/braintree-error/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Models/PPOTPersistentRequestData.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Downloads/braintree-error/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/PPOTConfiguration.o /Users/holgersindbaek/Downloads/braintree-error/vendor/Pods/Braintree/BraintreePayPal/PayPalOneTouch/Configuration/PPOTConfiguration.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Downloads/braintree-error/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTPayPalDriver.o /Users/holgersindbaek/Downloads/braintree-error/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC /Users/holgersindbaek/Downloads/braintree-error/vendor/build/Pods.build/Release-iphonesimulator/Braintree.build/Objects-normal/x86_64/BTDropInErrorAlert.o /Users/holgersindbaek/Downloads/braintree-error/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(5 failures)
    ERROR! Vendor project "vendor/Pods" failed to compile. See full error by running task with --trace.
/Library/RubyMotion/lib/motion/project/vendor.rb:368:in `block in invoke_xcodebuild'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/file_utils.rb:57:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:366:in `invoke_xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:358:in `xcodebuild'
/Library/RubyMotion/lib/motion/project/vendor.rb:191:in `build_xcode'
/Library/RubyMotion/lib/motion/project/vendor.rb:49:in `block in build'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:48:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:86:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:85:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:85:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:78:in `build'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/motion-cocoapods-1.9.2/lib/motion/project/cocoapods.rb:54:in `build_with_cocoapods'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:70:in `block (2 levels) in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/Users/holgersindbaek/.rubymotion/rubymotion-templates/motion/project/template/ios.rb:183:in `block in <top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/Users/holgersindbaek/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/holgersindbaek/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

I’ve created another demo project that you can replicate the issue on:

Can you take a look at it and tell me what you think?

Working on it as we speak. I’ll have updates for you by Monday :+1:

And yes. It’s very surprising that this is still an issue. But the team will figure it out!

Alright! Here’s the findings (and how I found them).

Step 1, you’ll want to open your Rakefile and enable verbose output like so:

require 'motion/project/template/ios'

begin
  require 'bundler'
  Bundler.require
rescue LoadError
end

# Add this line to your Rakefile
Motion::Project::App::VERBOSE = true

After adding the line above run:

rake clean:all
rake pod:install
rake > build.log

From here I looked at the build.log file and grep’ed for any errors. Which I found:

/Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreeUI/Drop-In/BTDropInErrorAlert.m:79:1: 

error: implementing deprecated method [-Werror,-Wdeprecated-implementations]

- (void)alertView:(__unused UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
^
In module 'UIKit' imported from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Target Support Files/Braintree/Braintree-prefix.pch:2:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:71:1: note: method 'alertView:clickedButtonAtIndex:' declared here
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex NS_DEPRECATED_IOS(2_0, 9_0);
^

It looks like -Wdeprecated-implementations has been added to UIAlertView's deprecation notices.

I opened the source file to see what the declaration looks like for BTDropInErrorAlert.m on line 79:

This is what it looked like originally:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- (void)alertView:(__unused UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
...
}

#pragma clang diagnostic pop

You’ll notice there is no evidence of -Wdeprecated-implementations. Changing the code block above to the follow fixed that specific compilation issue:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

// Addition of -Wdeprecated-implementations
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-implementations"

- (void)alertView:(__unused UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
...
}

#pragma clang diagnostic pop
#pragma clang diagnostic pop

After updating the line. I ran the rake > build.log again. And got:

In file included from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m:1:
/Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver_Internal.h:76:41: error:
      'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0
      [-Werror,-Wdeprecated-declarations]
@property (nonatomic, strong, nullable) SFAuthenticationSession *safar...
                                        ^~~~~~~~~~~~~~~~~~~~~~~
                                        ASWebAuthenticationSession
In module 'SafariServices' imported from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver_Internal.h:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFAuthenticationSession.h:48:12: note:
      'SFAuthenticationSession' has been explicitly marked deprecated here
@interface SFAuthenticationSession : NSObject
           ^
/Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m:585:74: error:
      'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0
      [-Werror,-Wdeprecated-declarations]
  ...= [[SFAuthenticationSession alloc] initWithURL:urlComponents.URL callb...
                                 ^~~~~
                                 ASWebAuthenticationSession
In module 'SafariServices' imported from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver_Internal.h:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFAuthenticationSession.h:48:12: note:
      'SFAuthenticationSession' has been explicitly marked deprecated here
@interface SFAuthenticationSession : NSObject
           ^
/Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m:587:41: error:
      'SFAuthenticationErrorDomain' is deprecated: first deprecated in iOS
      12.0 [-Werror,-Wdeprecated-declarations]
  ...if (error.domain == SFAuthenticationErrorDomain && error.code == SFAut...
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                         ASWebAuthenticationSessionErrorDomain
In module 'SafariServices' imported from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver_Internal.h:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFAuthenticationSession.h:21:28: note:
      'SFAuthenticationErrorDomain' has been explicitly marked deprecated here
SF_EXTERN NSString * const SFAuthenticationErrorDomain API_DEPRECATED_...
                           ^
/Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver.m:587:86: error:
      'SFAuthenticationErrorCanceledLogin' is deprecated: first deprecated in
      iOS 12.0 - Use ASWebAuthenticationSessionErrorCode instead
      [-Werror,-Wdeprecated-declarations]
  ...(error.domain == SFAuthenticationErrorDomain && error.code == SFAuthen...
                                                                   ^
In module 'SafariServices' imported from /Users/amiralirajan/Downloads/braintree-error 2/vendor/Pods/Braintree/BraintreePayPal/BTPayPalDriver_Internal.h:3:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.2.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFAuthenticationSession.h:17:28: note:
      'SFAuthenticationError' has been explicitly marked deprecated here
typedef NS_ENUM(NSInteger, SFAuthenticationError) {

If I’m not mistaken, it looks like Braintree needs to update their source code to be iOS SDK 12.0+ compatible.

To confirm my suspicions, I cloned the braintree_ios GH repo. Set SDK target to 12.2 and performed a build within Xcode. Here is a screenshot of the errors:

These errors have to be fixed in the Braintree codebase before their cocoapod with work with Xcode 10.2 (which uses the iOS 12.2 SDK).

Thanks a lot for looking into this. I’ve opened an issue on GitHub: https://github.com/braintree/braintree_ios/issues/453

It does seem to be related to with what you found out @amirrajan. The pod was set up to logging all warnings as errors: https://github.com/braintree/braintree_ios/issues/453#issuecomment-482476360. The easy fix was to comment out that line and install as a local pod.