Code Monkey home page Code Monkey logo

asckit's Introduction

App Store Connect Kit

Twitter Follow Version Swift Package Manager Compatible Swift Versions Platforms macOS 12+ Xcode 14+ Codebeat License Donate

App Store Connect API access using your teams API key.

This is a package providing access to Apple's App Store Connect API. The idea was born since I have to manage 30+ apps in our account in my day-to-day job. I needed a tool where I can make batch adjustments to all apps at once. This package provides the backbone of two of my apps that do that job:

  • an iOS app (not public yet) and
  • my command line tool asc which is part of my Assist package

I continuously evolve ASCKit as I require new functionality here. Please feel free to provide feedback or add new functionality by opening a PR.

Code Documentation

The code documentation is generated and hosted by Swift Package Index (powered by DocC)

Release

To release this Swift package the following steps have to be taken:

  • Run bash <(curl -H -s https://raw.githubusercontent.com/Blackjacx/Scripts/master/frameworks/bootstrap.sh) to update to the latest shared development files
  • Run bundle update to update all Ruby gems
  • Commit all changes, make a PR and merge it to develop
  • Run bundle exec fastlane release framework:"ASCKit" version:"x.y.z" to release the new version
  • Post the following on Twitter
ASCKit release x.y.z ๐ŸŽ‰

โ–ธ ๐Ÿš€  Library package ASCKit successfully published
โ–ธ ๐Ÿ“…  August 24th
โ–ธ ๐ŸŒŽ  https://swiftpackageindex.com/Blackjacx/ASCKit
โ–ธ ๐ŸŒŽ  https://github.com/Blackjacx/ASCKit/releases/latest
โ–ธ ๐Ÿ‘  Tell your friends!

#SPM #Apple #Development #AppStore #AppStoreConnect #API #Library #Package #Tools

Contribution

  • If you found a bug, please open an issue.
  • If you have a feature request, please open an issue.
  • If you want to contribute, please submit a pull request.

Author

Stefan Herold โ€ข ๐Ÿฆ @Blackjacxxx

Contributors

Thanks to all of you who are part of this:

License

ASCKit is available under the MIT license. See the LICENSE file for more info.

asckit's People

Contributors

blackjacx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

asckit's Issues

[ASCKit] Base ASC on Library Bagbutik

Bagbutik contains a library for the ASC API. Using it has multiple advantages:

  • the lib is Auto updated whenever there is a new version of the API
  • I just have to implement the commands and don't have to take care of the network implementation anymore

Warning

The other mayby much more popular App Store Connect library is Fastlane::Spaceship

Replace all `List*` operations by a generic one

Replace all List* operations by the following generic operation:

public final class ListResourceOperation<Success, Failure: Swift.Error>: AsyncResultOperation<Success, Failure> {

    #warning("make global singletom from network")
    let network = Network()

    let filters: [Filter]
    let limit: UInt

    public init(filters: [Filter] = [], limit: UInt = ASCKit.Constants.pagingLimit) {
        self.filters = filters
        self.limit = limit
    }

    public override func main() {
        // Make `Success` conform to a protocol which lists all implemented resources this protocol is implemented as enum in ASCResource - this is gonna be cool and will make the whole API quite flexible ๐ŸŽ‰ 
        let resource = AscResource.list<Success>(filters: filters, limit: limit)
        network.request(resource: resource) { [weak self] (result: RequestResult<Success>) in
            self?.finish(with: result)
        }
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.