google / promises

Promises is a modern framework that provides a synchronization construct for Swift and Objective-C.
Apache License 2.0
3.79k stars 291 forks source link

Build fails for macOS with Xcode 14.3 #209

Closed mdmathias closed 11 months ago

mdmathias commented 1 year ago

Context

PromisesObjC will fail to build due to a minimum deployment target that is too low for Xcode 14.3.

Steps to reproduce

Run pod lib lint <PODSPEC_NAME> --platforms=macos --verbose, where PODSPEC_NAME is whatever podspec you wish that either directly or indirectly depends upon PromisesObjC.

What Happens

The build will fail with the following errors:

    Testing failed:
    Test session results, code coverage, and logs:
        /Users/mdmathias/Library/Developer/Xcode/DerivedData/App-gtwqvruvuuqobxdpjnkzuiccdmtn/Logs/Test/Run-GoogleSignIn-Unit-unit-2023.05.16_14-01-49--0700.xcresult

        File not found: /Applications/Xcode_14_3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
        Linker command failed with exit code 1 (use -v to see invocation)
        Testing cancelled because the build failed.

    ** TEST FAILED **

    The following build commands failed:
        Ld /Users/mdmathias/Library/Developer/Xcode/DerivedData/App-gtwqvruvuuqobxdpjnkzuiccdmtn/Build/Products/Debug/PromisesObjC/FBLPromises.framework/Versions/A/FBLPromises normal (in target 'PromisesObjC' from project 'Pods')
    (1 failure)

What I Expect

A successful build with no such errors.

Impact

Anyone linting their app/library with a dependency (directly or indirectly) on PromisesObjC using Xcode 14.3 will fail.

Suggested Fix

Increase the OS X deployment target in PromisesObjC.podspec (and wherever else relevant) to 10.11 at a minimum: s.osx.deployment_target = 10.11.