Skip to content

A preconfigured template for new framework projects with batteries included.

License

Notifications You must be signed in to change notification settings

FlineDev/NewFrameworkTemplate

Repository files navigation

Build Status codebeat badge Version: 0.1.0 Swift: 4.2 Platforms: iOS | macOS | tvOS | watchOS License: MIT
PayPal: Donate GitHub: Become a sponsor Patreon: Become a patron

InstallationUsageDonationIssuesContributingLicense

NewFrameworkTemplate

A preconfigured template for new framework projects with batteries included.

Specifically this is what "battries included" currently means:

  • There's a sensible .gitignore for Swift projects included (based on GitHub gitignore)
  • Targets are configured for iOS, macOS, tvOS & watchOS (just remove what you don't need)
  • SwiftLint is preconfigured to help embrace a unified code style
  • Support for Carthage, CocoaPods and Swift Package Manager is setup
  • A README.md file is setup with appropriate sections
  • A LICENSE file is setup with MIT license preconfigured

Prerequisites

To use this framework, you need to install a few tools:

  • Homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Beak: brew tap yonaskolb/Beak https://github.com/yonaskolb/Beak.git && brew install Beak
  • Carthage: brew install carthage
  • SwiftLint: brew install swiftlint

Getting Started

Here's a few simple steps on how you can use this project to kick-start your next framework project:

  1. Clone this repo to your own Git server or download as ZIP file (beware)
  2. Run beak run initialize --projectName YourFrameworkName --organization "Your Organization" to initialize the project
  3. Set the the Development Team to yours (at least in the test targets)
  4. Update the author and social_media_url entries in the .podspec file

Additional options you probably want to check:

  1. Remove the targets and schemes you are not planning to develop for (all Apple platforms supported by default)
  2. Configure the minimum deployment target per target (the latest major version by default)

That's it! Start coding. 🎉 😊

Donation

BartyCrouch was brought to you by Cihat Gündüz in his free time. If you want to thank me and support the development of this project, please make a small donation on PayPal. In case you also like my other open source contributions and articles, please consider motivating me by becoming a sponsor on GitHub or a patron on Patreon.

Thank you very much for any donation, it really helps out a lot! 💯

Contributing

See the file CONTRIBUTING.md.

License

This library is released under the MIT License. See LICENSE for details.