Comments (30)
Hey guys, I made a new release (2.2.1) which supports Xcode 9.1 🎉
from then.
I'm getting same issue in iOS project.
Xcode 9.2
Apple Swift version 4.0.3
github "devxoul/Then"
% carthage update --platform iOS Then
...
*** Downloading Then.framework binary at "2.3.0"
*** Skipped installing Then.framework binary due to the error:
"Incompatible Swift version - framework was built with 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38) and the local version is 4.0.3 (swiftlang-900.0.74.1 clang-900.0.39.2)."
from then.
I removed Then.xcodeproj
from the repository to manage the project only with Swift Package Manager. If you'd like to use with --no-use-binaries
, can you try 2.1.1 instead?
from then.
Is there any reason to use carthage update with --no-use-binaries option?
Using precompiled version is problematic even with Xcode updates. Xcode 9.1 uses Swift 4.0.2 and importing 4.0 binary is impossible.
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.2
from then.
Hey guys, I just updated the prebuilt binary of the latest release. Please check it again :)
from then.
The same issue was on 2.3.0
*** Checking out Then at "2.3.0"
*** xcodebuild output can be found in /var/folders/4k/dzpnw8352jn_fl5hcc76pjs8k9qytq/T/carthage-xcodebuild.diNH6z.log
*** Skipped building Then due to the error:
Dependency "Then" has no shared framework schemes for any of the platforms: iOS
If you believe this to be an error, please file an issue with the maintainers at https://github.com/devxoul/Then/issues/new
Just works version 2.1.0 with xcodeproj
from then.
carthage update Then --platform iOS
...
*** Skipped installing Then.framework binary due to the error:
"Incompatible Swift version - framework was built with 4.1 (swiftlang-902.0.48 clang-902.0.37.1) and the local version is 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2)."
*** Skipped building Then due to the error:
Dependency "Then" has no shared framework schemes for any of the platforms: iOS
If you believe this to be an error, please file an issue with the maintainers at https://github.com/devxoul/Then/issues/new
carthage update Then --platform iOS --no-use-binaries
...
*** Skipped building Then due to the error:
Dependency "Then" has no shared framework schemes for any of the platforms: iOS
If you believe this to be an error, please file an issue with the maintainers at https://github.com/devxoul/Then/issues/new
That's for both 2.1.0 and 2.3.0.
swift --version
Apple Swift version 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2)
Target: x86_64-apple-darwin17.6.0
Xcode Version 9.4.1 (9F2000)
from then.
I'd prefer to keep this repository as simple as possible. Carthage requires extra work. (maintaining Xcode projects) It seems that Carthage is going to support SPM-only project from Swift 5 so we better wait for it :)
from then.
Not to beat the dead horse here, but I just wanted to pop back in because I've been working to update some of my open source frameworks for the latest Swift version and consequently, the latest Swift Package Manager.
And O.M.G. … Swift Package Manager is a steaming hot mess. I can't even understand how anybody would consider this to be anything but Alpha-quality. Package(…)
arguments that change both in what's allowed and in types allowed every year, dumb auto-assumptions that have no docs explaining them and no search results (i.e. if you have a .modulemap
in your library's base directory, the library is auto-assumed to be a system package, which is no longer supported), crap backwards-compatibility (many of my libs support Swift 3.0-5.1, but the swiftLanguageVersions:
option no longer has an enum case for .v3
), and much much more.
Long story short— no matter what you've read from who, Swift Package Manager needs a lot of work before it could even remotely be considered as an alternative to Carthage or Cocoapods. Software maturity takes time & effort, and SPM is a malnourished infant. My personal advice to every other dev reading this is: Don't bother with Swift Package Manager. I stand by what I said before— when Apple has decided that SPM is mature enough to be integrated into Xcode, it may be worth another look, but until SPM isn't good enough for Apple's Xcode team it isn't good enough for me, and it shouldn't be good enough for you either.
from then.
Is there any reason to use carthage update
with --no-use-binaries
option?
from then.
I prefer to use --no-use-binaries
to avoid binaries built with previous versions of Swift, which sometimes are incompatible. Also, it is useful when you need to debug a framework.
from then.
I'm having the same issue.
from then.
@JohnTheBastard which error message did you get?
from then.
@hebiao6446, which error message did you get?
from then.
I'm getting same issue in iOS project.
Is there a way to solve without downgrading? 😭 @devxoul
$ carthage update Then --platform 'iOS'
*** Fetching Then
*** Downloading Then.framework binary at "2.2.0"
*** Skipped installing Then.framework binary due to the error:
"Incompatible Swift version - framework was built with 4.0 (swiftlang-900.0.65.2 clang-900.0.37) and the local version is 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)."
*** Checking out Then at "2.2.0"
*** xcodebuild output can be found in /var/folders/h1/s2z3h3c51_g8bcm5z8z8bjjc0000gn/T/carthage-xcodebuild.Dy77Zu.log
Or should I use SwiftPM?
from then.
Any updates?
from then.
@MortyMerr, which version of Xcode are you using?
from then.
@devxoul 9.2
from then.
To support future Xcode updates, I think you need to add back proj file for carthage in order to build with --no-use-binaries
from then.
I installed Channel.io which includes Then framework with Carthage.
It makes many issues, but finally I got an issue which says.
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: -extract armv7 specified but fat file: /Users/moin/Library/Developer/Xcode/DerivedData/moinRemit-etdanftfmfxyjmbasmgxhsnyearp/Build/Intermediates.noindex/ArchiveIntermediates/appname/InstallationBuildProductsLocation/Applications//appRaemri.app/Frameworks/Then.framework/Then does not contain that architecture
And I added 'run script' in http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/.
How can I solve this problem?
from then.
I installed via Pod, which didn't make this error.
Using Carthage is tricky.
from then.
@Igor-Palaguta Which version of Xcode are you using?
from then.
Version 9.3 (9E145)
from then.
@Igor-Palaguta Can you share the swift version?
$ swift --version
from then.
Apple Swift version 4.1 (swiftlang-902.0.48 clang-902.0.37.1)
Target: x86_64-apple-darwin17.3.0
from then.
@Igor-Palaguta Hmm, that should work. Can you try again after removing Carthage caches?
$ rm -rf ~/Library/Caches/org.carthage.CarthageKit
from then.
@devxoul this error occur when --no-use-binaries
is used. Carthage needs project file to work.
from then.
@devxoul Installation via Carthage still no working.
from then.
@devxoul I see where you're going with trying to keep things simple, but you haven't just broken Carthage support by removing Then.xcodeproj
— you've broken no-dependency-manager direct-usage support as well. It's perfectly valid to clone an open-source lib and add it to your xcodeproj as a sub-project. Now that Then no longer has its own xcodeproj, it is no longer possible to add Then as a subproject building its own static lib or dynamic framework. Without an xcodeproj, the only option is to add Then's source code directly to one's project directly, combining it into the same binary— which is really a step backwards in technology by about 20 years and has many drawbacks.
I understand you're hopeful for the future and what newer versions of the Swift toolchain could bring. But we're not there yet. And we won't be there until Xcode has a GUI integration for adding and managing SPM-based dependencies. Until Xcode supports SPM directly (without build phase scripts or a whole bunch of command-line work up-front), Then.xcodeproj
will be necessary. Please re-add it until Apple themselves have decided that SPM is mature enough to warrant a full integration with Xcode.
from then.
Put another way, my current solution for my project is:
carthage update --no-build
cd Carthage/Checkouts/Then/
swift package generate-xcodeproj
ruby -e "
require 'xcodeproj'
project = Xcodeproj::Project.open 'Then.xcodeproj'
project.build_configurations.map(&:name).each do |config_name|
project.build_settings(config_name)['MACOSX_DEPLOYMENT_TARGET'] = '10.9'
project.build_settings(config_name)['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0'
project.build_settings(config_name)['TVOS_DEPLOYMENT_TARGET'] = '9.0'
project.build_settings(config_name)['WATCHOS_DEPLOYMENT_TARGET'] = '2.0'
end
project.save
"
cd -
carthage build
That sucks.
from then.
Related Issues (20)
- Apple privacy manifest support HOT 2
- ERROR when upload to AppStore HOT 4
- error: The following binaries use incompatible versions of Swift: HOT 1
- Swift 4.2 support? HOT 1
- UICollectionView doesn't show cells HOT 2
- lazy code HOT 7
- No code prompt in Xcode 10.2 HOT 13
- carthage build HOT 3
- xcode不能自动补全提示 HOT 5
- Add extension for basic type? HOT 1
- xcode Cannot complete automatically HOT 1
- Question: Why use `then` instead of `with`? HOT 2
- Value of type 'UILabel' has no member 'then' HOT 2
- add @discardableResult HOT 3
- Is Then dead? (abandon-ware?) HOT 2
- iOS 14 Deployment Target Warning HOT 1
- [proposal] Mutating a value type HOT 1
- How to import Then global HOT 1
- Update Package.swift
- Xcode 14 code prompt error HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from then.