johnvuko / JTCalendar

A customizable calendar view for iOS.
MIT License
2.76k stars 535 forks source link

Set DEPLOYMENT_TARGET to 10.3 (32/64 bits support) #379

Closed kenji21 closed 5 years ago

kenji21 commented 5 years ago

Got an issue by using latest release within a project having DEPLOYMENT_TARGET to 10. By setting 11 minimum, Carthage won't build 32bits slices for the framework.

Feel free to reject this PR, but there are no compilation issues (no deprecation or too new APIs used) with iOS 10.3 setted.

johnvuko commented 5 years ago

Hi, I don't use Carthage personally so I don't really understand what's the problem. There are still apps compatible with iOS 9 using this libs so I cannot set the deployment target to iOS 11. I think you can find a solution without changing the deployment target.

kenji21 commented 5 years ago

VALID_ARCHS for iOS 11 are only x86_64 and arm64, so carthage only build them. But our app has iOS 10 mini, (VALID_ARCHS are i386, x86_64 and armv7, arm64), we then have a linking error on non-64bits devices (or in Release, because Debug build have ONLY_ACTIVE_ARCH set, so compiles/link only for current simulator/device architecture)

CocoaPods won't be affected because it compiles all source files for dependencies within the workspace (which is one reason why I prefer Carthage: not rebuilding dependencies makes quicker CI builds)

The trick might be to "override" the DEPLOYMENT_TARGET when Carthage runs xcodebuild. We are using our fork.

This issue will appear for other frameworks used with Carthage

johnvuko commented 5 years ago

Sorry I misread, I thought the current version was 10 and you want to restrict to 11.