Skip to content

Commit

Permalink
Merge pull request #2 from tbointeractive/develop
Browse files Browse the repository at this point in the history
release v1.0
  • Loading branch information
pstued authored Oct 25, 2017
2 parents 71b2812 + bc03982 commit 0a879b4
Show file tree
Hide file tree
Showing 106 changed files with 4,337 additions and 85 deletions.
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ playground.xcworkspace
# 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/
Pods/

# Carthage
#
Expand All @@ -63,4 +63,7 @@ fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
/DerivedData

bytes.xcworkspace
*.DS_Store
/docs
23 changes: 23 additions & 0 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module: bytes
module_version: 0.1
author: TBO Interactive GmbH & Co. KG
author_url: http://www.tbointeractive.com
copyright: '© 2017 [TBO Interactive GmbH & Co. KG](http://www.tbointeractive.com).'

# github_url: https://github.com/...
clean: true

# podspec: bytes.podspec

exclude:
- ViewController.swift
- AppDelegate.swift

# swift_version: 3.0 # disabled due to https://github.com/realm/jazzy/issues/656

# in case we want to have our own structure
# custom_categories:
# - name: iOS
# children:
# - ArrayTableViewDatasource

20 changes: 20 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
language: objective-c
xcode_workspace: bytes.xcworkspace
xcode_scheme: bytes
xcode_sdk: iphonesimulator
osx_image: xcode9.1
before_install:
- 'echo ''gem: --no-ri --no-rdoc'' > ~/.gemrc'
install:
# - gem install danger
- gem install xcpretty
before_script:
- export LANG=en_US.UTF-8
# - danger
env:
matrix:
- TEST_DEVICE="iPhone 6,OS=11.0"
- TEST_DEVICE="iPhone 6,OS=10.3"
- TEST_DEVICE="iPhone 6,OS=9.3"
script:
- xcodebuild -workspace $TRAVIS_XCODE_WORKSPACE -scheme $TRAVIS_XCODE_SCHEME -sdk iphonesimulator11.0 -destination "platform=iOS Simulator,name=$TEST_DEVICE" test | xcpretty
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Changelog

## 0.9
* **feature** Release of v1.0

## 0.9
* **feature** Added a function to render a UIView into a UIImage.
* **feature** Added a function do calculate the difference between two dictionaries.
* **feature** Added function to get a queryItem from a url where the name matches a string.
* **feature** Added random property to every Collection and NSArray.
* **feature** Added function to shuffle an Array/NSArray.
* **improvement** The constraint helper now returns a discardableResult that is the constriaint that has been set.
* **improvement** The AsyncViewController will now take over the rightBarButtonItems from its contentViewController
* **improvement** The AsyncViewController will now cancel the current loading if it is deallocated.
* **improvement** Added support for iOS 8.2
* **bugfix** Exposed UIColor hex convenience initializer
* **bugfix** UIViewController addChildViewController extension will now call didMoveToParentViewController in the correct order

## 0.2
* **feature** Added AsyncViewController
* **feature** Added RemoteSettings to fetch and store remote configurations
* **feature** Added SemanticVersion support
* **feature** ByteCountFormatter extension with default count styles
* **feature** DateComponentsFormatter extension with multiple display types for a time
* **feature** Moved UIApplication and UIDevice extensions into their own structs
* **feature** NumberFormatter extension with fractionDigits
* **feature** String extension for generating hashes of a string
* **feature** UIViewController extension for adding an child view with constrained edges
* **feature** URL extension for handling query parameter

## 0.1
* **feature** UIColor extension that allows initializing from a hex string
* **feature** UIColor extension that allows setting color-channel values
* **feature** IconFont; A class that helps handling icon fonts.
* **feature** DateFormatter extension with formatters for common tasks
* **feature** UIApplication extension for several properties such as `bundleDisplayName` and `bundleVersion`
* **feature** UIDevice extension with `platformName`, `humanReadablePlatformName` and `osVersion`
* **feature** UIImage extension to rotate and flip an existing image
* **feature** DiscardTouchView aka MCHammerView
* **feature** UIView extension for easier constraint manipulation
* **feature** `ArrayTableViewDatasource` for simple UITableView datasources
9 changes: 9 additions & 0 deletions CocoaPods/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# General

**How to use CommonCrypto in a Swift-Framework:**
- https://github.com/CocoaPods/CocoaPods/issues/5271#issuecomment-217817281
- http://stackoverflow.com/questions/25248598/importing-commoncrypto-in-a-swift-framework/37125785#37125785 (`Cocoapods with modulemap approach` is used)

**ATTENTION!**
- the modulemaps uses absolute path (/Applications/Xcode.app)
- bytes cannot be used as `Local Development Pod` (for more information see links above)
4 changes: 4 additions & 0 deletions CocoaPods/appletvos/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/appletvsimulator/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/iphoneos/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/iphonesimulator/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/macosx/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/watchos/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
4 changes: 4 additions & 0 deletions CocoaPods/watchsimulator/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module CCommonCrypto [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
15 changes: 15 additions & 0 deletions Dangerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Sometimes it's a README fix, or something like that - which isn't relevant for
# including in a project's CHANGELOG for example
declared_trivial = github.pr_title.include? "#trivial"
has_pod_changes = !git.modified_files.grep(/Classes/).empty?

# Make it more obvious that a PR is a work in progress and shouldn't be merged yet
warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]"

# Warn when there is a big PR
warn("Big PR") if git.lines_of_code > 500

has_changelog = git.modified_files.include?("CHANGELOG.md")
if has_pod_changes && !has_changelog && !declared_trivial
fail("Any changes to the cocoapod neet a summary in the changelog.")
end
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source 'https://rubygems.org'

gem 'slather'
gem 'cocoapods'
85 changes: 85 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (2.3.5)
activesupport (4.2.10)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
claide (1.0.2)
clamp (0.6.5)
cocoapods (1.3.1)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.3.1)
cocoapods-deintegrate (>= 1.0.1, < 2.0)
cocoapods-downloader (>= 1.1.3, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-stats (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.2.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (~> 2.0.1)
gh_inspector (~> 1.0)
molinillo (~> 0.5.7)
nap (~> 1.0)
ruby-macho (~> 1.1)
xcodeproj (>= 1.5.1, < 2.0)
cocoapods-core (1.3.1)
activesupport (>= 4.0.2, < 6)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
cocoapods-deintegrate (1.0.1)
cocoapods-downloader (1.1.3)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.1.0)
colored2 (3.1.2)
concurrent-ruby (1.0.5)
escape (0.0.4)
fourflusher (2.0.1)
fuzzy_match (2.0.4)
gh_inspector (1.0.3)
i18n (0.9.0)
concurrent-ruby (~> 1.0)
mini_portile2 (2.1.0)
minitest (5.10.3)
molinillo (0.5.7)
nanaimo (0.2.3)
nap (1.1.0)
netrc (0.11.0)
nokogiri (1.6.8.1)
mini_portile2 (~> 2.1.0)
ruby-macho (1.1.0)
slather (2.4.3)
CFPropertyList (~> 2.2)
activesupport (>= 4.0.2, < 5)
clamp (~> 0.6)
nokogiri (>= 1.6, < 1.7)
xcodeproj (~> 1.4)
thread_safe (0.3.6)
tzinfo (1.2.3)
thread_safe (~> 0.1)
xcodeproj (1.5.2)
CFPropertyList (~> 2.3.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.2.3)

PLATFORMS
ruby

DEPENDENCIES
cocoapods
slather

BUNDLED WITH
1.14.6
21 changes: 21 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2016 TBO Interactive GmbH & Co. KG

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
17 changes: 17 additions & 0 deletions Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'bytes' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for bytes

target 'bytesTests' do
inherit! :search_paths
pod 'Quick', '~> 1.1'
pod 'Nimble', '~> 7.0.2'
pod 'Nimble-Snapshots', '~> 6.3'
end

end
28 changes: 28 additions & 0 deletions Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
PODS:
- FBSnapshotTestCase (2.1.4):
- FBSnapshotTestCase/SwiftSupport (= 2.1.4)
- FBSnapshotTestCase/Core (2.1.4)
- FBSnapshotTestCase/SwiftSupport (2.1.4):
- FBSnapshotTestCase/Core
- Nimble (7.0.2)
- Nimble-Snapshots (6.3.0):
- Nimble-Snapshots/Core (= 6.3.0)
- Nimble-Snapshots/Core (6.3.0):
- FBSnapshotTestCase (~> 2.0)
- Nimble (~> 7.0)
- Quick (1.2.0)

DEPENDENCIES:
- Nimble (~> 7.0.2)
- Nimble-Snapshots (~> 6.3)
- Quick (~> 1.1)

SPEC CHECKSUMS:
FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a
Nimble: bfe1f814edabba69ff145cb1283e04ed636a67f2
Nimble-Snapshots: f5459b5b091678dc942d03ec4741cacb58ba4a52
Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08

PODFILE CHECKSUM: 3460af7be72e63cd1924cfe764d39a5bdcdee0b6

COCOAPODS: 1.3.1
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# bytes

[![Build Status](https://travis-ci.org/tbointeractive/bytes.svg?branch=develop)](https://travis-ci.org/tbointeractive/bytes)
<!-- [![coverage report](http://git.tbointeractive.com/chorstmann/bytes/badges/develop/coverage.svg)](http://git.tbointeractive.com/chorstmann/bytes/commits/develop) -->

**bytes** is a set of tools to cover many all-day tasks in iOS development.

## Get started
### Install via [CocoaPods](http://cocoapods.org/)
Add the bytes Pod
```ruby
pod 'bytes'
```

## Usage
Please read the documentation to find out about all the existing bytes.

## Developing

### Implementing your own byte
Please start a discussion about a byte before implementing one of your own. We love to discuss new ideas and get a concept straigt early on.

### Testing
Please ensure proper testing of all your code whilst not blindly watching the coverage percentage.

### Documentation
Please add proper documentation to your code (Xcode Editor -> Structure -> Add Documentation). We use [jazzy](https://github.com/realm/jazzy) to generate the docset. Use the `jazzy` command to generate it on your own machine.

## License
This project is licensed under the terms of the MIT license. See the LICENSE file.
41 changes: 41 additions & 0 deletions bytes.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#
# Be sure to run `pod spec lint bytes.podspec' to ensure this is a
# valid spec and to remove all comments including this before submitting the spec.
#
# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
#

Pod::Spec.new do |s|

s.name = "bytes"
s.version = "1.0"
s.summary = "bytes is a set of tools to cover many all-day tasks in iOS development."

s.description = <<-DESC
bytes is a set of tools to cover many all-day tasks in iOS development.
DESC

s.homepage = "https://github.com/tbointeractive/bytes"

s.license = "MIT"

s.author = { "Cornelius Horstmann" => "[email protected]", "Thorsten Stark" => "[email protected]", "Bernhard Eiling" => "[email protected]", "Pascal Stüdlein" => "[email protected]" }

s.platform = :ios, "8.2"

s.source = { :git => "https://github.com/tbointeractive/bytes.git", :tag => 'v1.0'}

s.source_files = "bytes/bytes/**/*.swift"

s.preserve_paths = 'CocoaPods/**/*'
s.pod_target_xcconfig = {
'SWIFT_INCLUDE_PATHS[sdk=macosx*]' => '$(PODS_ROOT)/bytes/CocoaPods/macosx',
'SWIFT_INCLUDE_PATHS[sdk=iphoneos*]' => '$(PODS_ROOT)/bytes/CocoaPods/iphoneos',
'SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]' => '$(PODS_ROOT)/bytes/CocoaPods/iphonesimulator',
'SWIFT_INCLUDE_PATHS[sdk=appletvos*]' => '$(PODS_ROOT)/bytes/CocoaPods/appletvos',
'SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]' => '$(PODS_ROOT)/bytes/CocoaPods/appletvsimulator',
'SWIFT_INCLUDE_PATHS[sdk=watchos*]' => '$(PODS_ROOT)/bytes/CocoaPods/watchos',
'SWIFT_INCLUDE_PATHS[sdk=watchsimulator*]' => '$(PODS_ROOT)/bytes/CocoaPods/watchsimulator'
}
end
Loading

0 comments on commit 0a879b4

Please sign in to comment.