Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cocoapods's pods that depend on PromiseKit 6.22.1+ fail to pod lib lint while using Xcode 14.3 #1317

Closed
crsantos opened this issue May 31, 2023 · 6 comments

Comments

@crsantos
Copy link
Contributor

crsantos commented May 31, 2023

Version: 6.22.1
Installed via: Cocoapods

Hi,

I'm following up after this issue #1308 and the PR that fixed it: #1311.

That PR fixed Xcode 14.3 builds, but while using Cocoapods, as you said on the issue, it creates a temporary project for the linting process, based on the podspec.

Any pod that depends on PromiseKit will fail on linting due to the iOS 8.0 deployment target.

I know you referred here that dropping support for older versions is tricky, #1311 (comment)

But this also blocks people from using Xcode 14.3 and beyond, hence my question:

are we good to also bump the podspec's deployment target to 11.0?

(Same as #1311 did for the xcodeproj)

Log

This can be replicated with a simple pod lib lint on the repo:

Expand
  PromiseKit on  v6 via 🏎
➜  pod lib lint

 -> PromiseKit (6.22.1)
    - NOTE  | url: The URL (https://twitter.com/mxcl) is not reachable.
    - ERROR | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  note: Using codesigning identity override: -
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  note: Building targets in dependency order
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  clang: error: linker command failed with exit code 1 (use -v to see invocation)
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  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 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] xcodebuild:  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 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/Bolts, and more...] xcodebuild:  note: Using codesigning identity override:
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.10, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.10, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/Accounts, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.10, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CloudKit, and more...] xcodebuild:  note: Metadata extraction skipped. No AppIntents.framework dependency found. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CloudKit, and more...] xcodebuild:  note: Metadata extraction skipped. No AppIntents.framework dependency found. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CorePromise, and more...] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CorePromise, and more...] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CorePromise, and more...] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/Alamofire, PromiseKit/Bolts, PromiseKit/CoreBluetooth, and more...] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - ERROR | [PromiseKit/Accounts, PromiseKit/Alamofire, PromiseKit/AddressBook, and more...] file patterns: The `source_files` pattern did not match any file.
    - NOTE  | [iOS] [PromiseKit/Alamofire] xcodebuild:  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 11.0 to 16.4.99. (in target 'Alamofire' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/Alamofire] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.11, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/Alamofire] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.11, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/Alamofire] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.11, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'App' from project 'App')
    - NOTE  | [OSX] [PromiseKit/Alamofire] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.10, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'Alamofire' from project 'Pods')
    - NOTE  | [PromiseKit/Alamofire] xcodebuild:  note: Metadata extraction skipped. No AppIntents.framework dependency found. (in target 'Alamofire' from project 'Pods')
    - NOTE  | [watchOS] [PromiseKit/Alamofire] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'Alamofire' from project 'Pods')
    - NOTE  | [tvOS] [PromiseKit/Alamofire] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Alamofire' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/Bolts] xcodebuild:  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 11.0 to 16.4.99. (in target 'Bolts' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/Bolts] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.8, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'Bolts' from project 'Pods')
    - NOTE  | [watchOS] [PromiseKit/Bolts] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'Bolts' from project 'Pods')
    - NOTE  | [tvOS] [PromiseKit/Bolts] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Bolts' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/CloudKit] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/CloudKit] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [iOS] [PromiseKit/CloudKit] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/CloudKit] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.12, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'App' from project 'App')
    - NOTE  | [OSX] [PromiseKit/CloudKit] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.12, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/CloudKit] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.12, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/CloudKit,PromiseKit/Photos] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/CloudKit,PromiseKit/Photos] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/CloudKit,PromiseKit/Photos] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [PromiseKit/CloudKit, PromiseKit/CoreLocation, PromiseKit/HomeKit, and more...] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 3.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [PromiseKit/CloudKit, PromiseKit/CoreLocation, PromiseKit/HomeKit, and more...] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 3.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'App' from project 'App')
    - NOTE  | [PromiseKit/CloudKit, PromiseKit/CoreLocation, PromiseKit/HomeKit, and more...] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 3.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/HealthKit] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/HealthKit] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [iOS] [PromiseKit/HealthKit] xcodebuild:  Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [tvOS] [PromiseKit/MapKit] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.2, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Pods-App' from project 'Pods')
    - NOTE  | [tvOS] [PromiseKit/MapKit] xcodebuild:  /var/folders/l3/pnhb_1ln5pbcnc_hmpxz0lr00000gp/T/CocoaPods-Lint-20230531-97323-6wyw61-PromiseKit/App.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.2, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'App' from project 'App')
    - NOTE  | [tvOS] [PromiseKit/MapKit] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.2, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromiseKit' from project 'Pods')
    - NOTE  | [iOS] [PromiseKit/OMGHTTPURLRQ] xcodebuild:  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 11.0 to 16.4.99. (in target 'OMGHTTPURLRQ' from project 'Pods')
    - NOTE  | [OSX] [PromiseKit/OMGHTTPURLRQ] xcodebuild:  Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.9, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'OMGHTTPURLRQ' from project 'Pods')
    - NOTE  | [watchOS] [PromiseKit/OMGHTTPURLRQ] xcodebuild:  Pods.xcodeproj: warning: The watchOS Simulator deployment target 'WATCHOS_DEPLOYMENT_TARGET' is set to 2.0, but the range of supported deployment target versions is 4.0 to 9.4.99. (in target 'OMGHTTPURLRQ' from project 'Pods')
    - NOTE  | [tvOS] [PromiseKit/OMGHTTPURLRQ] xcodebuild:  Pods.xcodeproj: warning: The tvOS Simulator deployment target 'TVOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'OMGHTTPURLRQ' from project 'Pods')

[!] PromiseKit did not pass validation, due to 2 errors.
You can use the `--no-clean` option to inspect any issue.
@RomanPodymov
Copy link
Collaborator

Hello @crsantos
Yes, I think we should keep the same deployment targets everywhere. Can you please prepare a pull request for it?

@crsantos
Copy link
Contributor Author

I can, of course, if you agree.

Let me just remind you that this will drop PromiseKit for any deployment target under iOS 11.

Hold my 🍺

@mxcl
Copy link
Owner

mxcl commented May 31, 2023

8 is very old now.

All the same this feels like a CocoaPods bug. It should update deployment targets based on the build environment. We support back to 8, but don't care if it moves forwards. Maybe our podspec is wrong?

As said though iOS 8 is super old so there's no way this will cause anyone difficulty. 11 is also old. So sure.

@crsantos
Copy link
Contributor Author

crsantos commented Jun 1, 2023

Yes, indeed, it's very old.

Anyway, it's not a Cocoapods bug, because this last PR (#1311) was required for the project to compile on Xcode 14.3

The deployment targets were updated on Xcode project, but the podspec didn't follow along.

Here's the PR that will make the podspec lint again: #1318

@mxcl
Copy link
Owner

mxcl commented Jun 4, 2023

well I disagree, CocoaPods shouldn't require us to update our oldest supported deployment target. it generates xcodeprojects. But I dunno if they've looked this deep.

I'm not saying it's a bug because I won't apply this patch, but you are not seeing my point I think in that it is up to CocoaPods to make this shit work. Putting the onus on us is one layer incorrectly applied.

Like, I've done my fair sure of packaging projects lol

@crsantos
Copy link
Contributor Author

crsantos commented Jun 4, 2023

I've done my fair sure of packaging projects

That is definitely true 😄

And I absolutely get your point, we shouldn't need to worry about this, but I'm just not sure if Cocoapods could fix that as the main issue was happening with Xcode itself 😞

@mxcl mxcl closed this as completed Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants