Comments (12)
To support Carthage
- Have tagged version on github (or the user Cartfile will need a revision or HEAD)
- Create an Xcode projet with shared scheme
- Create a Cartfile with dependencies (Alamofire)
We could create the projet with swift package generate-xcodeproj
The project generated by swift package generate-xcodeproj
has minimum macOS version 10.10 or it will compile only with macOS 10.12
One way to change it automatically is to create a Package.xcconfig
which contains
MACOSX_DEPLOYMENT_TARGET=10.12
and launch
swift package generate-xcodeproj --xcconfig-overrides Package.xcconfig
Then the project must be commited and updated
If we do not want to commit the xcode project, user could do:
In the Cartfile
github "AvdLee/appstoreconnect-swift-sdk" "HEAD"
then get the source
carthage checkout
create the Xcode project (with macOS 12, so with Package.xcconfig)
(cd Carthage/Checkouts/appstoreconnect-swift-sdk/ && swift package generate-xcodeproj --xcconfig-overrides Package.xcconfig)
and build
carthage build
from appstoreconnect-swift-sdk.
I'm not that experienced with Carthage, but creating an Xcode project feels like a lot of overhead for only this support. The Cartfile sounds good to me with the least amount of impact. Do you agree @phimage ?
from appstoreconnect-swift-sdk.
Cartfile is like podspec but not sufficient.
It help only to download and compile a third party framework in the Carthage folder.
An Xcode projet is mandatory (until carthage want to auto create the projet maybe with SPM Carthage/Carthage#1945 )
Yes this is an overhead that's why I make this "how to" for user
But a lot of people want to do
carthage update
(one step for carthage checkout
carthage build
), so this is just a "crappy" workaround
Then I think that carthage prefer to have one target by OS, not like SPM generate it
but I try my "how to" and it compile for all OS
from appstoreconnect-swift-sdk.
Hmm, we could also go for an Xcode project and use that as the main testing project on CI as well. We now use the CocoaPods example project, but that doesn't always work nicely together with code coverage reporting.
If you like, you can create a PR with Carthage support. Happy to review it quickly!
from appstoreconnect-swift-sdk.
CupertinoJWT just added Carthage support recently. From my experience, it's recommended to add version tags then Carthage can be supported easily.
However, to support user use more than one platform in a project with Carthage (say, iOS + watchOS both use appstoreconnect-swift-sdk), this SDK needs to add target per platform.
from appstoreconnect-swift-sdk.
Carthage support makes it very easy to incorporate a library, so I highly recommend it, and creating an Xcode project is entirely appropriate for this.
from appstoreconnect-swift-sdk.
This issue is stale because it has been open for 30 days with no activity. Remove the Stale label or comment or this will be closed in 10 days.
from appstoreconnect-swift-sdk.
This issue is stale because it has been open for 30 days with no activity. Remove the Stale label or comment or this will be closed in 10 days.
from appstoreconnect-swift-sdk.
Any progress on this?
from appstoreconnect-swift-sdk.
@JetForMe as far as I know this is still open to be implemented. Feel free to open a PR to add support!
from appstoreconnect-swift-sdk.
If I knew how, I'd be happy to!
from appstoreconnect-swift-sdk.
@JetForMe It's all described here: https://github.com/Carthage/Carthage#supporting-carthage-for-your-framework
It shouldn't take a whole lot of effort. In fact, I'm somehow surprised it's not already supported. Did you run into specific errors when trying to use the framework through Carthage?
from appstoreconnect-swift-sdk.
Related Issues (20)
- How to use APIEndPoint.V2 Create inAppPurchases HOT 1
- How to use Create an In-App Purchase Review Screenshot HOT 2
- Add new device UDID failed HOT 2
- Error when tvOS 16.0 is selected as target HOT 1
- Example build error: Call can throw, but errors cannot be thrown out of a property initializer HOT 4
- InAppPurchasePriceScheduleCreateRequest fails when an in-app purchase has a different territory other than US. HOT 1
- Add other apis HOT 1
- AppStoreConnect API 2.3 Update Content Release One Version HOT 1
- Loading all of pricePoints HOT 2
- Add xrOS to enum Platform HOT 1
- Random crashes at JWTRequestsAuthenticator.adapt(_:) HOT 4
- Too Many Requests 429 HOT 5
- `CiGitUser.avatarUrl` fails to decode an empty string HOT 1
- More recent version HOT 4
- Vanished tag/release 3.0.0 HOT 1
- Update CreateAPI to version 0.2.0 HOT 4
- Device entity status enum missing PROCESSING HOT 1
- New case in UserRole/FilterRoles causing failure in decoder HOT 4
- Invalid String value DEVELOPER_ID_APPLICATION_G2 HOT 2
- `CiGitUser.avatarUrl` fails to decode an empty string HOT 1
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 appstoreconnect-swift-sdk.