From 1b4e64b115a4fc59a3cd7e58ceedd7ed20f02b30 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 09:54:01 +0100 Subject: [PATCH 01/11] Update .gitignore --- .gitignore | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 47042c2..7ba55de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,75 @@ -.DS_Store -xcuserdata + +# Created by https://www.gitignore.io/api/swift,xcode + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata/ + +## Other +*.moved-aside +*.xcuserstate +*.xcscmblueprint + +## Obj-C/Swift specific +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +.build/ + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +Pods/ + +# Carthage +# +# Add this line if you want to avoid checking in source code from Carthage dependencies. +Carthage/ +*.framework.zip + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output \ No newline at end of file From 281776145a39d1883a77c1000039aec4cfdc45ac Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 09:54:28 +0100 Subject: [PATCH 02/11] Add SHARED_BUILD_NUMBER and SHARED_VERSION_NUMBER to project config --- ColiseuPlayer.xcodeproj/project.pbxproj | 4 ++++ ColiseuPlayer/Info.plist | 4 ++-- ColiseuPlayerTests/Info.plist | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ColiseuPlayer.xcodeproj/project.pbxproj b/ColiseuPlayer.xcodeproj/project.pbxproj index fb9cacd..e271955 100644 --- a/ColiseuPlayer.xcodeproj/project.pbxproj +++ b/ColiseuPlayer.xcodeproj/project.pbxproj @@ -306,6 +306,8 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; + SHARED_BUILD_NUMBER = 1; + SHARED_VERSION_NUMBER = 0.9.0; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -356,6 +358,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SHARED_BUILD_NUMBER = 1; + SHARED_VERSION_NUMBER = 0.9.0; SWIFT_COMPILATION_MODE = wholemodule; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; diff --git a/ColiseuPlayer/Info.plist b/ColiseuPlayer/Info.plist index 6010f22..2228279 100644 --- a/ColiseuPlayer/Info.plist +++ b/ColiseuPlayer/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9 + $(SHARED_VERSION_NUMBER) CFBundleSignature ???? CFBundleVersion - $(CURRENT_PROJECT_VERSION) + $(SHARED_BUILD_NUMBER) NSPrincipalClass diff --git a/ColiseuPlayerTests/Info.plist b/ColiseuPlayerTests/Info.plist index ba72822..796bdc6 100644 --- a/ColiseuPlayerTests/Info.plist +++ b/ColiseuPlayerTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.0 + $(SHARED_VERSION_NUMBER) CFBundleSignature ???? CFBundleVersion - 1 + $(SHARED_BUILD_NUMBER) From 675b9ecd2700539e7ba5ff192d9c1f589a158ee4 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 09:56:10 +0100 Subject: [PATCH 03/11] Add Fastlane script for releases --- fastlane/Fastfile | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 fastlane/Fastfile diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 0000000..695c47f --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,95 @@ +fastlane_version "2.100.0" +REQUIRED_XCODE_VERSION = "10.2" +default_platform :ios + +PROJECT_NAME = "ColiseuPlayer" + +platform :ios do + desc "Runs all the tests" + lane :test do + scan project: "#{PROJECT_NAME}.xcodeproj" + end + + lane :bump_build_number_with_current_date do |options| + # Set build number to current date and time + build_number = Time.new.strftime("%Y.%-m.%-d.%-H.%-M") + ENV["BUILD_NUMBER"] = build_number + project = Xcodeproj::Project.open("../#{PROJECT_NAME}.xcodeproj") + project.build_configurations.each do |build| + current_build = build.build_settings['SHARED_BUILD_NUMBER'] + puts "#{build.name}: current SHARED_BUILD_NUMBER is #{current_build}" + puts "#{build.name}: setting SHARED_BUILD_NUMBER with #{build_number}" + build.build_settings['SHARED_BUILD_NUMBER'] = build_number + end + puts "Available Targets:" + project.targets.each do |target| + puts " - #{target.name}" + end + project.save() + end + + desc "Bump Version" + lane :bump_version do |options| + version_number = "" + build_number = "" + + project = Xcodeproj::Project.open("../#{PROJECT_NAME}.xcodeproj") + project.build_configurations.each do |build| + # Version Number + current_version = build.build_settings['SHARED_VERSION_NUMBER'] + puts "#{build.name}: current SHARED_VERSION_NUMBER is #{current_version}" + + version_array = current_version.split(".").map(&:to_i) + case options[:bump_type] + when "patch" + version_array[2] = (version_array[2] ? version_array[2] : 0) + 1 + when "minor" + version_array[1] = (version_array[1] ? version_array[1] : 0) + 1 + version_array[2] = version_array[2] = 0 + when "major" + version_array[0] = (version_array[0] ? version_array[0] : 0) + 1 + version_array[1] = version_array[1] = 0 + version_array[1] = version_array[2] = 0 + end + + if options[:omit_zero_patch_version] && version_array[2] == 0 + version_array.pop() + end + + version_number = version_array.join(".") + puts "#{build.name}: setting new SHARED_VERSION_NUMBER with #{version_number}" + build.build_settings['SHARED_VERSION_NUMBER'] = version_number + ENV["SHARED_VERSION_NUMBER"] = version_number + + # Build Number + current_build = build.build_settings['SHARED_BUILD_NUMBER'] + puts "#{build.name}: current SHARED_BUILD_NUMBER is #{current_build}" + build_number = current_build.to_i + 1 + puts "#{build.name}: setting new SHARED_BUILD_NUMBER with #{build_number}" + build.build_settings['SHARED_BUILD_NUMBER'] = build_number.to_s + ENV["SHARED_BUILD_NUMBER"] = build_number.to_s + end + puts "Available Targets:" + project.targets.each do |target| + puts " - #{target.name}" + end + project.save() + + puts "Bump to v#{version_number} (#{build_number})" + end + + desc "Prepare a new Release version" + lane :release do |options| + ensure_git_status_clean(show_uncommitted_changes: true) + + bump_version bump_type: options[:bump] + version_bump_podspec bump_type: options[:bump] + + clean_build_artifacts + + git_commit(path: [ + "./#{PROJECT_NAME}.xcodeproj/project.pbxproj", + "./#{PROJECT_NAME}.podspec", + ], message: "Bump to v" + ENV["SHARED_VERSION_NUMBER"]) + end +end \ No newline at end of file From aa879a8e38be7fe85282aa87689195f542142d70 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 09:57:27 +0100 Subject: [PATCH 04/11] Remove User Project file that should not be commited --- .../UserInterfaceState.xcuserstate | Bin 14340 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ColiseuPlayer.xcodeproj/project.xcworkspace/xcuserdata/ricardopereira.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/ColiseuPlayer.xcodeproj/project.xcworkspace/xcuserdata/ricardopereira.xcuserdatad/UserInterfaceState.xcuserstate b/ColiseuPlayer.xcodeproj/project.xcworkspace/xcuserdata/ricardopereira.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 27604211c26720b968e3ad106b69ff00144cb459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14340 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 Date: Mon, 3 Jun 2019 10:18:31 +0100 Subject: [PATCH 05/11] Update README --- README.md | 104 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 61 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 2f371bb..f582c32 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,14 @@ -ColiseuPlayer is an audio player framework written in Swift, created for [Coliseu](http://ricardopereira.eu) app. -It uses AVFoundation. +# ColiseuPlayer +[![Build Status](https://app.bitrise.io/app/9e385c486e60951f/status.svg?token=NIFH_3JCupMUSYhpOZWkHA&branch=master)](https://app.bitrise.io/app/9e385c486e60951f) +[![Swift 5](https://img.shields.io/badge/Swift-5-orange.svg?style=flat)](https://developer.apple.com/swift/) +[![Platforms iOS](https://img.shields.io/badge/Platforms-iOS-lightgray.svg?style=flat)](http://www.apple.com/ios/) +[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg)](https://github.com/Carthage/Carthage) [![Version](https://img.shields.io/cocoapods/v/ColiseuPlayer.svg?style=flat)](http://cocoapods.org/pods/ColiseuPlayer) +[![License MIT](https://img.shields.io/badge/License-MIT-lightgrey.svg?style=flat)](https://opensource.org/licenses/MIT) -## Requirements - -- iOS 8.0+ (not tested on Mac OS X) -- Xcode 7.1+ - -## Installation - -#### [CocoaPods] - -[CocoaPods]: http://cocoapods.org - -To install it, simply add the following line to your Podfile: - -```ruby -pod 'ColiseuPlayer' -``` - -You will also need to make sure you're opting into using frameworks: - -```ruby -use_frameworks! -``` - -Then run `pod install` with CocoaPods 0.36 or newer. - -#### Manually - -ColiseuPlayer in your project requires the following steps:_ - -1. Add ColiseuPlayer as a [submodule](http://git-scm.com/docs/git-submodule) by opening the Terminal, `cd`-ing into your top-level project directory, and entering the command `git submodule add https://github.com/ricardopereira/coliseu.ios.player.git` -2. Open the `ColiseuPlayer` folder, and drag `ColiseuPlayer.xcodeproj` into the file navigator of your app project. -3. In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar. -4. Ensure that the deployment target of ColiseuPlayer.framework matches that of the application target. -5. In the tab bar at the top of that window, open the "Build Phases" panel. -6. Expand the "Link Binary with Libraries" group, and add `ColiseuPlayer.framework`. -7. Click on the `+` button at the top left of the panel and select "New Copy Files Phase". Rename this new phase to "Copy Frameworks", set the "Destination" to "Frameworks", and add `ColiseuPlayer.framework`. - ---- +ColiseuPlayer is an audio player framework written in Swift, created for [Coliseu](https://ricardopereira.eu) app. +It uses AVFoundation. ## Usage @@ -91,11 +59,61 @@ class ViewController: UIViewController, ColiseuPlayerDataSource, ColiseuPlayerDe return true } } -```` +``` + +## Requirements -### Contact +- iOS 8.0+ +- Xcode 10.2+ -Follow Coliseu on Twitter ([@coliseuapp](https://twitter.com/coliseuapp)) +## Installation + +#### [Carthage] + +[Carthage]: https://github.com/Carthage/Carthage + +To install it, simply add the following line to your **Cartfile**: + +```ruby +github "ricardopereira/ColiseuPlayer" +``` + +Then run `carthage update`. + +Follow the current instructions in [Carthage's README][carthage-installation] +for up to date installation instructions. + +[carthage-installation]: https://github.com/Carthage/Carthage#adding-frameworks-to-an-application + +#### [CocoaPods] + +[CocoaPods]: http://cocoapods.org + +To install it, simply add the following line to your Podfile: + +```ruby +pod 'ColiseuPlayer' +``` + +You will also need to make sure you're opting into using frameworks: + +```ruby +use_frameworks! +``` + +Then run `pod install` with CocoaPods 0.36 or newer. + +#### Manually + +ColiseuPlayer in your project requires the following steps:_ + +1. Add ColiseuPlayer as a [submodule](http://git-scm.com/docs/git-submodule) by opening the Terminal, `cd`-ing into your top-level project directory, and entering the command `git submodule add https://github.com/ricardopereira/coliseu.ios.player.git` +2. Open the `ColiseuPlayer` folder, and drag `ColiseuPlayer.xcodeproj` into the file navigator of your app project. +3. In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar. +4. Ensure that the deployment target of ColiseuPlayer.framework matches that of the application target. +5. In the tab bar at the top of that window, open the "Build Phases" panel. +6. Expand the "Link Binary with Libraries" group, and add `ColiseuPlayer.framework`. +7. Click on the `+` button at the top left of the panel and select "New Copy Files Phase". Rename this new phase to "Copy Frameworks", set the "Destination" to "Frameworks", and add `ColiseuPlayer.framework`. ### Author From ac5151066cfeee4bd3bd67c001471b28af4870ed Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 10:44:34 +0100 Subject: [PATCH 06/11] Update Fastfile --- fastlane/README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 fastlane/README.md diff --git a/fastlane/README.md b/fastlane/README.md new file mode 100644 index 0000000..b178bb1 --- /dev/null +++ b/fastlane/README.md @@ -0,0 +1,44 @@ +fastlane documentation +================ +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +``` +xcode-select --install +``` + +Install _fastlane_ using +``` +[sudo] gem install fastlane -NV +``` +or alternatively using `brew cask install fastlane` + +# Available Actions +## iOS +### ios test +``` +fastlane ios test +``` +Runs all the tests +### ios bump_build_number_with_current_date +``` +fastlane ios bump_build_number_with_current_date +``` + +### ios bump_version +``` +fastlane ios bump_version +``` +Bump Version +### ios release +``` +fastlane ios release +``` +Prepare a new Release version + +---- + +This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run. +More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). +The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). From e5510d44bb9baeb62143058c300bcdc7f47b441c Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 10:59:25 +0100 Subject: [PATCH 07/11] Bump to v1.0.0 --- ColiseuPlayer.podspec | 4 ++-- ColiseuPlayer.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ColiseuPlayer.podspec b/ColiseuPlayer.podspec index 877e822..c236aa4 100644 --- a/ColiseuPlayer.podspec +++ b/ColiseuPlayer.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ColiseuPlayer" - s.version = "0.9.1" + s.version = "1.0.0" s.summary = "Audio Player framework" s.homepage = "https://github.com/ricardopereira/ColiseuPlayer" s.license = 'MIT' @@ -13,4 +13,4 @@ Pod::Spec.new do |s| s.source_files = 'ColiseuPlayer/*.{h,swift}' s.frameworks = 'AVFoundation' -end \ No newline at end of file +end diff --git a/ColiseuPlayer.xcodeproj/project.pbxproj b/ColiseuPlayer.xcodeproj/project.pbxproj index e271955..775d667 100644 --- a/ColiseuPlayer.xcodeproj/project.pbxproj +++ b/ColiseuPlayer.xcodeproj/project.pbxproj @@ -306,8 +306,8 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; - SHARED_BUILD_NUMBER = 1; - SHARED_VERSION_NUMBER = 0.9.0; + SHARED_BUILD_NUMBER = 2; + SHARED_VERSION_NUMBER = 1.0.0; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -358,8 +358,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SHARED_BUILD_NUMBER = 1; - SHARED_VERSION_NUMBER = 0.9.0; + SHARED_BUILD_NUMBER = 2; + SHARED_VERSION_NUMBER = 1.0.0; SWIFT_COMPILATION_MODE = wholemodule; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; From 94b0c39795e031ef130b2eda25e34261aaf6a5be Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 11:02:52 +0100 Subject: [PATCH 08/11] Update Podspec --- ColiseuPlayer.podspec | 1 + 1 file changed, 1 insertion(+) diff --git a/ColiseuPlayer.podspec b/ColiseuPlayer.podspec index c236aa4..a19d170 100644 --- a/ColiseuPlayer.podspec +++ b/ColiseuPlayer.podspec @@ -10,6 +10,7 @@ Pod::Spec.new do |s| s.platform = :ios, '8.0' s.requires_arc = true + s.swift_version = '5.0' s.source_files = 'ColiseuPlayer/*.{h,swift}' s.frameworks = 'AVFoundation' From c5f070f64572d30953bad9e36c1e9a0686f7fe27 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 11:11:58 +0100 Subject: [PATCH 09/11] Tests target no longer built for running - Fix for failing Carthage build - carthage builds the Release configuration which has ENABLE_TESTABILITY=false causing the tests target build to fail. Tests should not be included in the distribution binary anyway so this fix resolves that issue as well. Verified by running carthage build --no-skip-current which completes successfully after this fix. --- .../xcshareddata/xcschemes/ColiseuPlayer.xcscheme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ColiseuPlayer.xcodeproj/xcshareddata/xcschemes/ColiseuPlayer.xcscheme b/ColiseuPlayer.xcodeproj/xcshareddata/xcschemes/ColiseuPlayer.xcscheme index adfbb6b..9b12bc4 100644 --- a/ColiseuPlayer.xcodeproj/xcshareddata/xcschemes/ColiseuPlayer.xcscheme +++ b/ColiseuPlayer.xcodeproj/xcshareddata/xcschemes/ColiseuPlayer.xcscheme @@ -22,7 +22,7 @@ From eddffef43a3b3ae2dfd5398502ed31dad953391b Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 11:14:08 +0100 Subject: [PATCH 10/11] Update Copyright --- ColiseuPlayer/AudioFile.swift | 2 +- ColiseuPlayer/ColiseuPlayer.h | 2 +- ColiseuPlayer/ColiseuPlayer.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ColiseuPlayer/AudioFile.swift b/ColiseuPlayer/AudioFile.swift index 8cd8759..9296f7e 100644 --- a/ColiseuPlayer/AudioFile.swift +++ b/ColiseuPlayer/AudioFile.swift @@ -2,7 +2,7 @@ // AudioFile.swift // Coliseu // -// Copyright (c) 2014 Ricardo Pereira (http://ricardopereira.eu) +// Copyright (c) 2019 Ricardo Pereira (https://ricardopereira.eu) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ColiseuPlayer/ColiseuPlayer.h b/ColiseuPlayer/ColiseuPlayer.h index 483d269..b89fff6 100644 --- a/ColiseuPlayer/ColiseuPlayer.h +++ b/ColiseuPlayer/ColiseuPlayer.h @@ -1,6 +1,6 @@ // ColiseuPlayer.h // -// Copyright (c) 2014 Ricardo Pereira (http://ricardopereira.eu) +// Copyright (c) 2019 Ricardo Pereira (https://ricardopereira.eu) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ColiseuPlayer/ColiseuPlayer.swift b/ColiseuPlayer/ColiseuPlayer.swift index ad351b4..b563028 100644 --- a/ColiseuPlayer/ColiseuPlayer.swift +++ b/ColiseuPlayer/ColiseuPlayer.swift @@ -2,7 +2,7 @@ // ColiseuPlayer.swift // Coliseu // -// Copyright (c) 2014 Ricardo Pereira (http://ricardopereira.eu) +// Copyright (c) 2019 Ricardo Pereira (https://ricardopereira.eu) // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal From da9c6a79056e1ee7070cc292fee32af73d107907 Mon Sep 17 00:00:00 2001 From: Ricardo Pereira Date: Mon, 3 Jun 2019 11:17:48 +0100 Subject: [PATCH 11/11] Add GitHub Issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 32 +++++++++++++++++++ .github/ISSUE_TEMPLATE/enhancement_request.md | 18 +++++++++++ 2 files changed, 50 insertions(+) create mode 100755 .github/ISSUE_TEMPLATE/bug_report.md create mode 100755 .github/ISSUE_TEMPLATE/enhancement_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100755 index 0000000..eb957c5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,32 @@ +--- +name: Bug report +about: Create a report to help us fix a problem with ColiseuPlayer + +--- + +### Which version of the ColiseuPlayer are you using? +E.g. `1.0.11` + +### On which platform does the issue happen? +E.g. `iOS11` + +### Are you using Carthage? +If yes, specify the version (`carthage version`) + +### Are you using Cocoapods? +If yes, specify the version (`pod --version`) + +### Which version of Xcode are you using? +(`xcodebuild -version`) + +### What did you do? +Describe the problem. +``` +Add a short snippet of code to show the problem +``` + +### What did you expect to happen? +Describe the expected outcome. + +### What happened instead? +Describe what happened instead. diff --git a/.github/ISSUE_TEMPLATE/enhancement_request.md b/.github/ISSUE_TEMPLATE/enhancement_request.md new file mode 100755 index 0000000..d58d6db --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement_request.md @@ -0,0 +1,18 @@ +--- +name: Enhancement request +about: Suggest an enhancement to ColiseuPlayer + +--- + +### Problem description + +A description of a problem, workflow or integration that your suggestion would solve. If the problem is OS-specific, include that information here. + +### Preferred solution + +A description of what changes should be made to ColiseuPlayer to solve the problem. + +### Alternatives + +A description of any alternative solutions or enhancements considered. +