Repository: zenangst/Versions
Branch: master
Commit: 99e0b66e68f9
Files: 28
Total size: 76.7 KB
Directory structure:
gitextract_muopvkbp/
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── Versions/
│ ├── Info.plist
│ ├── StaticVersion.swift
│ ├── Versions.h
│ └── Versions.swift
├── Versions.podspec
├── Versions.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata/
│ └── xcschemes/
│ ├── Versions-OSX.xcscheme
│ ├── Versions-iOS.xcscheme
│ ├── VersionsDemo.xcscheme
│ └── VersionsDemoTests.xcscheme
├── VersionsDemo/
│ ├── AppDelegate.swift
│ ├── Base.lproj/
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Images.xcassets/
│ │ └── AppIcon.appiconset/
│ │ └── Contents.json
│ ├── Info.plist
│ ├── VersionsDemo.xcdatamodeld/
│ │ ├── .xccurrentversion
│ │ └── VersionsDemo.xcdatamodel/
│ │ └── contents
│ └── ViewController.swift
└── VersionsDemoTests/
├── Info.plist
├── StaticVersion_Test.swift
├── VersionsDemoTests.swift
└── Versions_Tests.swift
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# OS X
.DS_Store
### Objective-C ###
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Note: if you ignore the Pods directory, make sure to uncomment
# `pod install` in .travis.yml
#
Pods/
================================================
FILE: CHANGELOG.md
================================================
# Change Log
## [0.5.0](https://github.com/zenangst/Versions/tree/0.5.0) (2016-04-26)
[Full Changelog](https://github.com/zenangst/Versions/compare/0.4.0...0.5.0)
**Merged pull requests:**
- Updated to swift 2.2 [\#17](https://github.com/zenangst/Versions/pull/17) ([acecilia](https://github.com/acecilia))
## [0.4.0](https://github.com/zenangst/Versions/tree/0.4.0) (2015-12-21)
[Full Changelog](https://github.com/zenangst/Versions/compare/0.3.0...0.4.0)
**Merged pull requests:**
- Add CocoaPod section for README.md [\#15](https://github.com/zenangst/Versions/pull/15) ([joshjiav5](https://github.com/joshjiav5))
- Update podspec version [\#14](https://github.com/zenangst/Versions/pull/14) ([joshjiav5](https://github.com/joshjiav5))
- Dynamic Frameworks for iOS / OS X and Carthage Supports [\#13](https://github.com/zenangst/Versions/pull/13) ([remaerd](https://github.com/remaerd))
## [0.3.0](https://github.com/zenangst/Versions/tree/0.3.0) (2015-05-20)
[Full Changelog](https://github.com/zenangst/Versions/compare/0.2.1...0.3.0)
**Closed issues:**
- I want to be able to get App version [\#11](https://github.com/zenangst/Versions/issues/11)
- Swift space style [\#7](https://github.com/zenangst/Versions/issues/7)
**Merged pull requests:**
- Feature/App-Version [\#12](https://github.com/zenangst/Versions/pull/12) ([zenangst](https://github.com/zenangst))
- Change from 4 spaces to 2 spaces [\#9](https://github.com/zenangst/Versions/pull/9) ([zenangst](https://github.com/zenangst))
- Feature/super power [\#8](https://github.com/zenangst/Versions/pull/8) ([kostiakoval](https://github.com/kostiakoval))
## [0.2.1](https://github.com/zenangst/Versions/tree/0.2.1) (2015-03-06)
[Full Changelog](https://github.com/zenangst/Versions/compare/0.2...0.2.1)
**Merged pull requests:**
- Feature/change detection [\#4](https://github.com/zenangst/Versions/pull/4) ([kostiakoval](https://github.com/kostiakoval))
- Improve/semantic compare [\#3](https://github.com/zenangst/Versions/pull/3) ([zenangst](https://github.com/zenangst))
- Switch [\#2](https://github.com/zenangst/Versions/pull/2) ([kostiakoval](https://github.com/kostiakoval))
## [0.2](https://github.com/zenangst/Versions/tree/0.2) (2015-03-05)
[Full Changelog](https://github.com/zenangst/Versions/compare/0.1...0.2)
**Merged pull requests:**
- Feature/semantic compare [\#1](https://github.com/zenangst/Versions/pull/1) ([zenangst](https://github.com/zenangst))
## [0.1](https://github.com/zenangst/Versions/tree/0.1) (2015-03-02)
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
================================================
FILE: LICENSE.md
================================================
Licensed under the **MIT** license
> Copyright (c) 2015 Christoffer Winterkvist
>
> 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.
================================================
FILE: README.md
================================================

Helping you find inner peace when comparing version numbers in Swift.
Comparing with the current applications version couldn't be easier.
```swift
// App.version is 1.0.0
if App.version.olderThan("2.0.0") {
// Prompt user to update
}
```
But you can apply this to more things than just the `CFBundleShortVersionString`.
```swift
let currentVersion = "1.0.1a"
if currentVersion.olderThan("1.1.3") {
// update
}
```
Versions also support semantic versioning (`Major`, `Minor`, `Patch`)
```swift
if "1.0".semanticCompare("2.0") == Semantic.Major) {
// major update
}
```
## CocoaPod
[](http://cocoapods.org/pods/Versions)
[](http://cocoapods.org/pods/Versions)
[](http://cocoapods.org/pods/Versions)
Verisons is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:
```ruby
pod "Versions"
```
## Contribute
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create pull request
## Who made this?
- Christoffer Winterkvist ([@zenangst](https://twitter.com/zenangst))
- Kostiantyn Koval ([@KostiaKoval](https://twitter.com/KostiaKoval))
================================================
FILE: Versions/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Versions/StaticVersion.swift
================================================
import Foundation
extension Array {
func at(index: Int) -> Element? {
if index >= 0 && index < self.count {
return self[index]
}
return nil
}
}
public struct Version : Equatable, Comparable{
public let major : Int
public let minor : Int
public let patch : Int
public let string : String?
public init?(_ version: String) {
let parts: Array<String> = version.split { $0 == "." }.map { String($0) }
if let major = parts.at(index: 0), let minor = parts.at(index: 1), let patch = parts.at(index: 2), let majorInt = Int(major), let minorInt = Int(minor), let patchInt = Int(patch) {
self.major = majorInt
self.minor = minorInt
self.patch = patchInt
string = version
} else {
//Failed to Initialize Version
return nil
}
}
}
//MARK: - Equatable
public func == (lhs: Version, rhs: Version) -> Bool {
return lhs.string == rhs.string
}
public func == (lhs: Version, rhs: Version?) -> Bool {
switch (rhs) {
case let .some(r): return lhs.string == r.string
case .none: return false
}
}
//MARK: - Comparable
public func < (lhs: Version, rhs: Version) -> Bool {
return lhs.string!.compare(rhs.string!, options: .numeric) == .orderedAscending
}
================================================
FILE: Versions/Versions.h
================================================
//
// Versions.h
// Versions
//
// Created by 郑行之 on 6/7/15.
//
//
#import <UIKit/UIKit.h>
//! Project version number for Versions.
FOUNDATION_EXPORT double VersionsVersionNumber;
//! Project version string for Versions.
FOUNDATION_EXPORT const unsigned char VersionsVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Versions/PublicHeader.h>
================================================
FILE: Versions/Versions.swift
================================================
import Foundation
//MARK: - Versions string functionality
public enum Semantic {
case major, minor, patch, same, unknown
}
public struct App {
public static var version: String = {
var version: String = ""
if let infoDictionary = Bundle.main.infoDictionary {
version = infoDictionary["CFBundleShortVersionString"] as! String
}
return version
}()
}
public extension String {
subscript (i: Int) -> Character {
return self[self.index(self.startIndex, offsetBy: i)]
}
subscript (i: Int) -> String {
return String(self[i] as Character)
}
subscript (r: Range<Int>) -> String {
return String(self[self.index(startIndex, offsetBy: r.startIndex)..<self.index(startIndex, offsetBy: r.endIndex)])
}
var major: String {
return self[0]
}
var minor: String {
return String(self[self.index(self.startIndex, offsetBy: 0)...self.index(self.startIndex, offsetBy: 2)])
}
var patch: String {
return String(self[self.index(self.startIndex, offsetBy: 0)...self.index(self.startIndex, offsetBy: 4)])
}
func newerThan(version :String) -> Bool {
return self.compare(version, options: .numeric) == .orderedDescending
}
func olderThan(version: String) -> Bool {
let isEqual: Bool = self == version
return !isEqual ? !self.newerThan(version: version) : false
}
func majorChange(version: String) -> Bool {
return self.major != version.major
}
func minorChange(version: String) -> Bool {
return self.minor != version.minor && self.olderThan(version: version)
}
func patchChange(version: String) -> Bool {
return self.patch != version.patch && self.olderThan(version: version)
}
func semanticCompare(version: String) -> Semantic {
switch self {
case _ where self == version:
return .same
case _ where self.major != version.major && self.olderThan(version: version):
return .major
case _ where (self.minor != version.minor && self.olderThan(version: version)) || (self.major == version.major && self.newerThan(version: version)):
return .minor
case _ where self.patch != version.patch && self.olderThan(version: version):
return .patch
default:
return .unknown
}
}
}
================================================
FILE: Versions.podspec
================================================
Pod::Spec.new do |s|
s.name = "Versions"
s.version = "0.5.0"
s.summary = "Helping you find inner peace when comparing version numbers in Swift."
s.description = <<-DESC
* Helping you find inner peace when comparing version numbers in Swift.
DESC
s.homepage = "https://github.com/zenangst/Versions"
s.license = {
:type => 'MIT',
:file => 'LICENSE.md'
}
s.author = { "Christoffer Winterkvist" => "christoffer@winterkvist.com" }
s.social_media_url = "https://twitter.com/zenangst"
s.platform = :ios, '8.0'
s.source = {
:git => 'https://github.com/zenangst/Versions.git',
:tag => s.version.to_s
}
s.source_files = 'Versions/*.swift'
s.frameworks = 'Foundation'
s.requires_arc = true
end
================================================
FILE: Versions.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
03C709F61B24205A00609F81 /* Version.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03C709DF1B24205A00609F81 /* Version.framework */; };
03C709F71B24205A00609F81 /* Version.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 03C709DF1B24205A00609F81 /* Version.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
03C70A021B24209D00609F81 /* StaticVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C709FF1B24209D00609F81 /* StaticVersion.swift */; };
03C70A031B24209D00609F81 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = 03C70A001B24209D00609F81 /* Versions.h */; };
03C70A041B24209D00609F81 /* Versions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C70A011B24209D00609F81 /* Versions.swift */; };
03C70A531B24216B00609F81 /* StaticVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C709FF1B24209D00609F81 /* StaticVersion.swift */; };
03C70A541B24216B00609F81 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = 03C70A001B24209D00609F81 /* Versions.h */; };
03C70A551B24216B00609F81 /* Versions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C70A011B24209D00609F81 /* Versions.swift */; };
03C70A5A1B2421B000609F81 /* StaticVersion_Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C70A561B2421B000609F81 /* StaticVersion_Test.swift */; };
03C70A5B1B2421B000609F81 /* Versions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C70A571B2421B000609F81 /* Versions_Tests.swift */; };
03C70A5C1B2421B000609F81 /* VersionsDemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C70A581B2421B000609F81 /* VersionsDemoTests.swift */; };
BD87D1A51B0CD38A00244049 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD87D1A41B0CD38A00244049 /* AppDelegate.swift */; };
BD87D1AA1B0CD38A00244049 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD87D1A91B0CD38A00244049 /* ViewController.swift */; };
BD87D1AD1B0CD38A00244049 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD87D1AB1B0CD38A00244049 /* Main.storyboard */; };
BD87D1AF1B0CD38A00244049 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD87D1AE1B0CD38A00244049 /* Images.xcassets */; };
BD87D1B21B0CD38A00244049 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = BD87D1B01B0CD38A00244049 /* LaunchScreen.xib */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
03C709F41B24205A00609F81 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BDD8224D1AA45FDD00E48CEF /* Project object */;
proxyType = 1;
remoteGlobalIDString = 03C709DE1B24205A00609F81;
remoteInfo = Versions;
};
BD87D1B81B0CD38B00244049 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BDD8224D1AA45FDD00E48CEF /* Project object */;
proxyType = 1;
remoteGlobalIDString = BD87D19F1B0CD38A00244049;
remoteInfo = VersionsDemo;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
03C709FD1B24205A00609F81 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
03C709F71B24205A00609F81 /* Version.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
03C709DF1B24205A00609F81 /* Version.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Version.framework; sourceTree = BUILT_PRODUCTS_DIR; };
03C709E21B24205A00609F81 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
03C709FF1B24209D00609F81 /* StaticVersion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticVersion.swift; sourceTree = "<group>"; };
03C70A001B24209D00609F81 /* Versions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Versions.h; sourceTree = "<group>"; };
03C70A011B24209D00609F81 /* Versions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Versions.swift; sourceTree = "<group>"; };
03C70A341B24210C00609F81 /* Version.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Version.framework; sourceTree = BUILT_PRODUCTS_DIR; };
03C70A561B2421B000609F81 /* StaticVersion_Test.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticVersion_Test.swift; sourceTree = "<group>"; };
03C70A571B2421B000609F81 /* Versions_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Versions_Tests.swift; sourceTree = "<group>"; };
03C70A581B2421B000609F81 /* VersionsDemoTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VersionsDemoTests.swift; sourceTree = "<group>"; };
BD87D1A01B0CD38A00244049 /* VersionsDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VersionsDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
BD87D1A31B0CD38A00244049 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BD87D1A41B0CD38A00244049 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
BD87D1A91B0CD38A00244049 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
BD87D1AC1B0CD38A00244049 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
BD87D1AE1B0CD38A00244049 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
BD87D1B11B0CD38A00244049 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
BD87D1B71B0CD38B00244049 /* VersionsDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VersionsDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BD87D1BC1B0CD38B00244049 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BDD822611AA4608500E48CEF /* Versions.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Versions.podspec; sourceTree = "<group>"; };
BDD822621AA4608500E48CEF /* LICENSE.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = LICENSE.md; sourceTree = "<group>"; };
BDD822631AA4608500E48CEF /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
03C709DB1B24205A00609F81 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
03C70A301B24210C00609F81 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D19D1B0CD38A00244049 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
03C709F61B24205A00609F81 /* Version.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D1B41B0CD38B00244049 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
03C709E01B24205A00609F81 /* Versions */ = {
isa = PBXGroup;
children = (
03C70A001B24209D00609F81 /* Versions.h */,
03C709FF1B24209D00609F81 /* StaticVersion.swift */,
03C70A011B24209D00609F81 /* Versions.swift */,
03C709E11B24205A00609F81 /* Supporting Files */,
);
path = Versions;
sourceTree = "<group>";
};
03C709E11B24205A00609F81 /* Supporting Files */ = {
isa = PBXGroup;
children = (
03C709E21B24205A00609F81 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
BD87D1A11B0CD38A00244049 /* VersionsDemo */ = {
isa = PBXGroup;
children = (
BD87D1A41B0CD38A00244049 /* AppDelegate.swift */,
BD87D1A91B0CD38A00244049 /* ViewController.swift */,
BD87D1AB1B0CD38A00244049 /* Main.storyboard */,
BD87D1AE1B0CD38A00244049 /* Images.xcassets */,
BD87D1B01B0CD38A00244049 /* LaunchScreen.xib */,
BD87D1A21B0CD38A00244049 /* Supporting Files */,
);
path = VersionsDemo;
sourceTree = "<group>";
};
BD87D1A21B0CD38A00244049 /* Supporting Files */ = {
isa = PBXGroup;
children = (
BD87D1A31B0CD38A00244049 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
BD87D1BA1B0CD38B00244049 /* VersionsDemoTests */ = {
isa = PBXGroup;
children = (
03C70A561B2421B000609F81 /* StaticVersion_Test.swift */,
03C70A571B2421B000609F81 /* Versions_Tests.swift */,
03C70A581B2421B000609F81 /* VersionsDemoTests.swift */,
BD87D1BB1B0CD38B00244049 /* Supporting Files */,
);
path = VersionsDemoTests;
sourceTree = "<group>";
};
BD87D1BB1B0CD38B00244049 /* Supporting Files */ = {
isa = PBXGroup;
children = (
BD87D1BC1B0CD38B00244049 /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
BDD8224C1AA45FDD00E48CEF = {
isa = PBXGroup;
children = (
BD87D1A11B0CD38A00244049 /* VersionsDemo */,
BD87D1BA1B0CD38B00244049 /* VersionsDemoTests */,
03C709E01B24205A00609F81 /* Versions */,
BDD822581AA4608000E48CEF /* Products */,
BDD822611AA4608500E48CEF /* Versions.podspec */,
BDD822621AA4608500E48CEF /* LICENSE.md */,
BDD822631AA4608500E48CEF /* README.md */,
);
indentWidth = 2;
sourceTree = "<group>";
tabWidth = 2;
};
BDD822581AA4608000E48CEF /* Products */ = {
isa = PBXGroup;
children = (
BD87D1A01B0CD38A00244049 /* VersionsDemo.app */,
BD87D1B71B0CD38B00244049 /* VersionsDemoTests.xctest */,
03C709DF1B24205A00609F81 /* Version.framework */,
03C70A341B24210C00609F81 /* Version.framework */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
03C709DC1B24205A00609F81 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
03C70A031B24209D00609F81 /* Versions.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
03C70A311B24210C00609F81 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
03C70A541B24216B00609F81 /* Versions.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
03C709DE1B24205A00609F81 /* Versions-iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 03C709FC1B24205A00609F81 /* Build configuration list for PBXNativeTarget "Versions-iOS" */;
buildPhases = (
03C709DA1B24205A00609F81 /* Sources */,
03C709DB1B24205A00609F81 /* Frameworks */,
03C709DC1B24205A00609F81 /* Headers */,
03C709DD1B24205A00609F81 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "Versions-iOS";
productName = Versions;
productReference = 03C709DF1B24205A00609F81 /* Version.framework */;
productType = "com.apple.product-type.framework";
};
03C70A331B24210C00609F81 /* Versions-OSX */ = {
isa = PBXNativeTarget;
buildConfigurationList = 03C70A4D1B24210C00609F81 /* Build configuration list for PBXNativeTarget "Versions-OSX" */;
buildPhases = (
03C70A2F1B24210C00609F81 /* Sources */,
03C70A301B24210C00609F81 /* Frameworks */,
03C70A311B24210C00609F81 /* Headers */,
03C70A321B24210C00609F81 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = "Versions-OSX";
productName = "Versions-OSX";
productReference = 03C70A341B24210C00609F81 /* Version.framework */;
productType = "com.apple.product-type.framework";
};
BD87D19F1B0CD38A00244049 /* VersionsDemo */ = {
isa = PBXNativeTarget;
buildConfigurationList = BD87D1C31B0CD38B00244049 /* Build configuration list for PBXNativeTarget "VersionsDemo" */;
buildPhases = (
BD87D19C1B0CD38A00244049 /* Sources */,
BD87D19D1B0CD38A00244049 /* Frameworks */,
BD87D19E1B0CD38A00244049 /* Resources */,
03C709FD1B24205A00609F81 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
03C709F51B24205A00609F81 /* PBXTargetDependency */,
);
name = VersionsDemo;
productName = VersionsDemo;
productReference = BD87D1A01B0CD38A00244049 /* VersionsDemo.app */;
productType = "com.apple.product-type.application";
};
BD87D1B61B0CD38B00244049 /* VersionsDemoTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = BD87D1C41B0CD38B00244049 /* Build configuration list for PBXNativeTarget "VersionsDemoTests" */;
buildPhases = (
BD87D1B31B0CD38B00244049 /* Sources */,
BD87D1B41B0CD38B00244049 /* Frameworks */,
BD87D1B51B0CD38B00244049 /* Resources */,
);
buildRules = (
);
dependencies = (
BD87D1B91B0CD38B00244049 /* PBXTargetDependency */,
);
name = VersionsDemoTests;
productName = VersionsDemoTests;
productReference = BD87D1B71B0CD38B00244049 /* VersionsDemoTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BDD8224D1AA45FDD00E48CEF /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 1100;
TargetAttributes = {
03C709DE1B24205A00609F81 = {
CreatedOnToolsVersion = 6.3.2;
LastSwiftMigration = 0800;
};
03C70A331B24210C00609F81 = {
CreatedOnToolsVersion = 6.3.2;
};
BD87D19F1B0CD38A00244049 = {
CreatedOnToolsVersion = 6.3.2;
LastSwiftMigration = 0800;
};
BD87D1B61B0CD38B00244049 = {
CreatedOnToolsVersion = 6.3.2;
LastSwiftMigration = 0800;
TestTargetID = BD87D19F1B0CD38A00244049;
};
};
};
buildConfigurationList = BDD822501AA45FDD00E48CEF /* Build configuration list for PBXProject "Versions" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = BDD8224C1AA45FDD00E48CEF;
productRefGroup = BDD822581AA4608000E48CEF /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
03C709DE1B24205A00609F81 /* Versions-iOS */,
03C70A331B24210C00609F81 /* Versions-OSX */,
BD87D19F1B0CD38A00244049 /* VersionsDemo */,
BD87D1B61B0CD38B00244049 /* VersionsDemoTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
03C709DD1B24205A00609F81 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
03C70A321B24210C00609F81 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D19E1B0CD38A00244049 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BD87D1AD1B0CD38A00244049 /* Main.storyboard in Resources */,
BD87D1B21B0CD38A00244049 /* LaunchScreen.xib in Resources */,
BD87D1AF1B0CD38A00244049 /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D1B51B0CD38B00244049 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
03C709DA1B24205A00609F81 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
03C70A041B24209D00609F81 /* Versions.swift in Sources */,
03C70A021B24209D00609F81 /* StaticVersion.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
03C70A2F1B24210C00609F81 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
03C70A551B24216B00609F81 /* Versions.swift in Sources */,
03C70A531B24216B00609F81 /* StaticVersion.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D19C1B0CD38A00244049 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BD87D1AA1B0CD38A00244049 /* ViewController.swift in Sources */,
BD87D1A51B0CD38A00244049 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BD87D1B31B0CD38B00244049 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
03C70A5B1B2421B000609F81 /* Versions_Tests.swift in Sources */,
03C70A5A1B2421B000609F81 /* StaticVersion_Test.swift in Sources */,
03C70A5C1B2421B000609F81 /* VersionsDemoTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
03C709F51B24205A00609F81 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 03C709DE1B24205A00609F81 /* Versions-iOS */;
targetProxy = 03C709F41B24205A00609F81 /* PBXContainerItemProxy */;
};
BD87D1B91B0CD38B00244049 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BD87D19F1B0CD38A00244049 /* VersionsDemo */;
targetProxy = BD87D1B81B0CD38B00244049 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
BD87D1AB1B0CD38A00244049 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
BD87D1AC1B0CD38A00244049 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
BD87D1B01B0CD38A00244049 /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
BD87D1B11B0CD38A00244049 /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
03C709F81B24205A00609F81 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Versions/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Version;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
03C709F91B24205A00609F81 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Versions/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Version;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
03C70A4E1B24210C00609F81 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_VERSION = A;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Versions/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Version;
SDKROOT = macosx;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
03C70A4F1B24210C00609F81 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_VERSION = A;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = Versions/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Version;
SDKROOT = macosx;
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
BD87D1BF1B0CD38B00244049 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = VersionsDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
BD87D1C01B0CD38B00244049 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = VersionsDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
BD87D1C11B0CD38B00244049 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = VersionsDemoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/VersionsDemo.app/VersionsDemo";
};
name = Debug;
};
BD87D1C21B0CD38B00244049 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = VersionsDemoTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/VersionsDemo.app/VersionsDemo";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
BDD822511AA45FDD00E48CEF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
BDD822521AA45FDD00E48CEF /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
03C709FC1B24205A00609F81 /* Build configuration list for PBXNativeTarget "Versions-iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
03C709F81B24205A00609F81 /* Debug */,
03C709F91B24205A00609F81 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
03C70A4D1B24210C00609F81 /* Build configuration list for PBXNativeTarget "Versions-OSX" */ = {
isa = XCConfigurationList;
buildConfigurations = (
03C70A4E1B24210C00609F81 /* Debug */,
03C70A4F1B24210C00609F81 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BD87D1C31B0CD38B00244049 /* Build configuration list for PBXNativeTarget "VersionsDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BD87D1BF1B0CD38B00244049 /* Debug */,
BD87D1C01B0CD38B00244049 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BD87D1C41B0CD38B00244049 /* Build configuration list for PBXNativeTarget "VersionsDemoTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BD87D1C11B0CD38B00244049 /* Debug */,
BD87D1C21B0CD38B00244049 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BDD822501AA45FDD00E48CEF /* Build configuration list for PBXProject "Versions" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BDD822511AA45FDD00E48CEF /* Debug */,
BDD822521AA45FDD00E48CEF /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BDD8224D1AA45FDD00E48CEF /* Project object */;
}
================================================
FILE: Versions.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: Versions.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: Versions.xcodeproj/xcshareddata/xcschemes/Versions-OSX.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C70A331B24210C00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-OSX"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C70A331B24210C00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-OSX"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C70A331B24210C00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-OSX"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Versions.xcodeproj/xcshareddata/xcschemes/Versions-iOS.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C709DE1B24205A00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-iOS"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C709DE1B24205A00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-iOS"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "03C709DE1B24205A00609F81"
BuildableName = "Version.framework"
BlueprintName = "Versions-iOS"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Versions.xcodeproj/xcshareddata/xcschemes/VersionsDemo.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D19F1B0CD38A00244049"
BuildableName = "VersionsDemo.app"
BlueprintName = "VersionsDemo"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D1B61B0CD38B00244049"
BuildableName = "VersionsDemoTests.xctest"
BlueprintName = "VersionsDemoTests"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D19F1B0CD38A00244049"
BuildableName = "VersionsDemo.app"
BlueprintName = "VersionsDemo"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D19F1B0CD38A00244049"
BuildableName = "VersionsDemo.app"
BlueprintName = "VersionsDemo"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Versions.xcodeproj/xcshareddata/xcschemes/VersionsDemoTests.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D1B61B0CD38B00244049"
BuildableName = "VersionsDemoTests.xctest"
BlueprintName = "VersionsDemoTests"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D19F1B0CD38A00244049"
BuildableName = "VersionsDemo.app"
BlueprintName = "VersionsDemo"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BD87D19F1B0CD38A00244049"
BuildableName = "VersionsDemo.app"
BlueprintName = "VersionsDemo"
ReferencedContainer = "container:Versions.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: VersionsDemo/AppDelegate.swift
================================================
//
// AppDelegate.swift
// VersionsDemo
//
// Created by Christoffer Winterkvist on 20/05/15.
//
//
import UIKit
import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
return true
}
}
================================================
FILE: VersionsDemo/Base.lproj/LaunchScreen.xib
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="20" y="439" width="441" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="VersionsDemo" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="548" y="455"/>
</view>
</objects>
</document>
================================================
FILE: VersionsDemo/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="vXZ-lx-hvc">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="ViewController" customModule="VersionsDemo" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XuX-sv-8Nw">
<rect key="frame" x="279" y="289" width="42" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="7bM-aX-r9F"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="App.version" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4E8-YB-Pcg">
<rect key="frame" x="254" y="247" width="92" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="92" id="Hpa-n8-SLa"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="4E8-YB-Pcg" firstAttribute="top" secondItem="jyV-Pf-zRb" secondAttribute="bottom" constant="227" id="5zO-Sy-XWY"/>
<constraint firstAttribute="centerY" secondItem="XuX-sv-8Nw" secondAttribute="centerY" id="Pbk-Um-etN"/>
<constraint firstItem="4E8-YB-Pcg" firstAttribute="centerX" secondItem="XuX-sv-8Nw" secondAttribute="centerX" id="Qfb-F3-zhm"/>
<constraint firstAttribute="centerX" secondItem="XuX-sv-8Nw" secondAttribute="centerX" id="dbZ-ev-tR2"/>
<constraint firstItem="2fi-mo-0CV" firstAttribute="top" secondItem="XuX-sv-8Nw" secondAttribute="bottom" constant="290" id="gBj-ia-uXZ"/>
<constraint firstAttribute="centerY" secondItem="4E8-YB-Pcg" secondAttribute="centerY" id="iPX-Pr-9to"/>
<constraint firstItem="XuX-sv-8Nw" firstAttribute="top" secondItem="4E8-YB-Pcg" secondAttribute="bottom" constant="21" id="mxp-aL-pDA"/>
<constraint firstItem="XuX-sv-8Nw" firstAttribute="top" secondItem="4E8-YB-Pcg" secondAttribute="bottom" constant="21" id="n0B-j3-L9Z"/>
<constraint firstAttribute="centerX" secondItem="4E8-YB-Pcg" secondAttribute="centerX" id="vIj-Hk-HHr"/>
</constraints>
<variation key="default">
<mask key="constraints">
<exclude reference="iPX-Pr-9to"/>
<exclude reference="vIj-Hk-HHr"/>
<exclude reference="Pbk-Um-etN"/>
<exclude reference="n0B-j3-L9Z"/>
</mask>
</variation>
</view>
<connections>
<outlet property="version" destination="XuX-sv-8Nw" id="Edc-hR-ABX"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: VersionsDemo/Images.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: VersionsDemo/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: VersionsDemo/VersionsDemo.xcdatamodeld/.xccurrentversion
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>
================================================
FILE: VersionsDemo/VersionsDemo.xcdatamodeld/VersionsDemo.xcdatamodel/contents
================================================
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="7701" systemVersion="14D136" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic">
<elements/>
</model>
================================================
FILE: VersionsDemo/ViewController.swift
================================================
//
// ViewController.swift
// VersionsDemo
//
// Created by Christoffer Winterkvist on 20/05/15.
//
//
import UIKit
import Version
class ViewController: UIViewController {
@IBOutlet weak var version: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
version.text = App.version
}
}
================================================
FILE: VersionsDemoTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
================================================
FILE: VersionsDemoTests/StaticVersion_Test.swift
================================================
//
// StaticVersion_Test.swift
// Versions
//
// Created by Konstantin Koval on 11/03/15.
//
//
import UIKit
import XCTest
import Version
class StaticVersion_Test: XCTestCase {
func testVersionStructInit() {
let v = Version("1.2.3")
let wrongV = Version("1.A.3")
XCTAssertTrue(v != nil)
XCTAssertTrue(wrongV == nil)
}
func testVersionStruct() {
if let v = Version("1.2.3") {
XCTAssertEqual(v.major, 1)
XCTAssertEqual(v.minor, 2)
XCTAssertEqual(v.patch, 3)
}
}
func testCompare() {
if let v = Version("1.2.3"), let v2 = Version("1.2.4"), let vSame = Version("1.2.3"){
XCTAssertFalse(v == v2)
XCTAssertFalse(v > vSame)
XCTAssertFalse(v < vSame)
XCTAssertTrue(v == vSame)
XCTAssertTrue(v < v2)
XCTAssertTrue(v2 > v)
}else{
assertionFailure("Versions nil")
}
}
}
================================================
FILE: VersionsDemoTests/VersionsDemoTests.swift
================================================
//
// VersionsDemoTests.swift
// VersionsDemoTests
//
// Created by Christoffer Winterkvist on 20/05/15.
//
//
import UIKit
import XCTest
import Version
class VersionsDemoTests: XCTestCase {
func testAppVersion() {
let expectedVersion = "1.1"
let version = App.version
XCTAssertEqual(version, expectedVersion)
}
func testAppVersionCompare() {
XCTAssertTrue(App.version.newerThan(version: "1.0.0"))
}
}
================================================
FILE: VersionsDemoTests/Versions_Tests.swift
================================================
//
// Versions_Tests.swift
// Versions Tests
//
// Created by Christoffer Winterkvist on 3/2/15.
//
//
import UIKit
import XCTest
import Version
class Versions_Tests: XCTestCase {
func testNumericNewerThan() {
XCTAssertTrue("1.0".newerThan(version: "0.9"))
}
func testAlphabeticVersion() {
XCTAssertTrue("B".newerThan(version: "A"))
}
func testVerboseVersion() {
XCTAssertTrue("1.1.3b".newerThan(version: "1.0.1a"))
}
func testMajorVerboseVersion() {
XCTAssertTrue("2.1".newerThan(version: "1.0.0"))
}
func testFaultyVersion()
{
XCTAssertFalse("0.9".newerThan(version: "1.0.0"))
}
func testSameVersion()
{
XCTAssertFalse("1.0".newerThan(version: "1.0"))
}
func testMultiDigitMinorVersion() {
XCTAssertTrue("1.9.3".olderThan(version: "1.9.10"))
XCTAssertTrue("1.9.10".newerThan(version: "1.9.3"))
}
func testEmptyVersionString()
{
XCTAssertTrue("1.0".newerThan(version: ""))
XCTAssertFalse("".newerThan(version: "1.0"))
}
func testSymanticVersioning() {
XCTAssertEqual(.same, "1.0".semanticCompare(version: "1.0"))
XCTAssertEqual(.major, "1.0".semanticCompare(version: "2.0"))
XCTAssertEqual(.minor, "1.2".semanticCompare(version: "1.3"))
XCTAssertEqual(.minor, "1.3".semanticCompare(version: "1.2"))
XCTAssertEqual(.patch, "1.2.1".semanticCompare(version: "1.2.2"))
XCTAssertEqual(.same, "1.0.0".semanticCompare(version: "1.0.0"))
XCTAssertEqual(.major, "1.0.0".semanticCompare(version: "2.0.0"))
XCTAssertEqual(.minor, "1.2.0".semanticCompare(version: "1.3.0"))
XCTAssertEqual(.minor, "1.3.0".semanticCompare(version: "1.2.0"))
XCTAssertEqual(.patch, "1.3.0".semanticCompare(version: "1.3.1"))
XCTAssertEqual(.minor, "1.2.1".semanticCompare(version: "1.3.1"))
}
func testMajorChange() {
XCTAssertTrue("1.0".majorChange(version: "2.0"))
XCTAssertFalse("1.0".majorChange(version: "1.1"))
}
func testMinorChange() {
XCTAssertTrue("1.0".minorChange(version: "1.1"))
XCTAssertFalse("1.1".minorChange(version: "1.0.1"))
}
func testPatchChange() {
XCTAssertTrue("1.1.0".patchChange(version: "1.1.1"))
XCTAssertFalse("1.1.1".patchChange(version: "1.1.1"))
}
}
gitextract_muopvkbp/
├── .gitignore
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── Versions/
│ ├── Info.plist
│ ├── StaticVersion.swift
│ ├── Versions.h
│ └── Versions.swift
├── Versions.podspec
├── Versions.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata/
│ └── xcschemes/
│ ├── Versions-OSX.xcscheme
│ ├── Versions-iOS.xcscheme
│ ├── VersionsDemo.xcscheme
│ └── VersionsDemoTests.xcscheme
├── VersionsDemo/
│ ├── AppDelegate.swift
│ ├── Base.lproj/
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Images.xcassets/
│ │ └── AppIcon.appiconset/
│ │ └── Contents.json
│ ├── Info.plist
│ ├── VersionsDemo.xcdatamodeld/
│ │ ├── .xccurrentversion
│ │ └── VersionsDemo.xcdatamodel/
│ │ └── contents
│ └── ViewController.swift
└── VersionsDemoTests/
├── Info.plist
├── StaticVersion_Test.swift
├── VersionsDemoTests.swift
└── Versions_Tests.swift
Condensed preview — 28 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (87K chars).
[
{
"path": ".gitignore",
"chars": 633,
"preview": "# OS X\n.DS_Store\n\n### Objective-C ###\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!"
},
{
"path": "CHANGELOG.md",
"chars": 2660,
"preview": "# Change Log\n\n## [0.5.0](https://github.com/zenangst/Versions/tree/0.5.0) (2016-04-26)\n[Full Changelog](https://github.c"
},
{
"path": "LICENSE.md",
"chars": 1140,
"preview": "Licensed under the **MIT** license\n\n> Copyright (c) 2015 Christoffer Winterkvist\n>\n> Permission is hereby granted, free "
},
{
"path": "README.md",
"chars": 1573,
"preview": "\n\nHelping you find inner "
},
{
"path": "Versions/Info.plist",
"chars": 806,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Versions/StaticVersion.swift",
"chars": 1254,
"preview": "import Foundation\n\nextension Array {\n\n func at(index: Int) -> Element? {\n if index >= 0 && index < self.count {\n "
},
{
"path": "Versions/Versions.h",
"chars": 427,
"preview": "//\n// Versions.h\n// Versions\n//\n// Created by 郑行之 on 6/7/15.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n//! Project version numb"
},
{
"path": "Versions/Versions.swift",
"chars": 2294,
"preview": "import Foundation\n\n//MARK: - Versions string functionality\n\npublic enum Semantic {\n case major, minor, patch, same, unk"
},
{
"path": "Versions.podspec",
"chars": 767,
"preview": "Pod::Spec.new do |s|\n s.name = \"Versions\"\n s.version = \"0.5.0\"\n s.summary = \"Helping you find inner peace when compar"
},
{
"path": "Versions.xcodeproj/project.pbxproj",
"chars": 38620,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Versions.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Versions.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Versions.xcodeproj/xcshareddata/xcschemes/Versions-OSX.xcscheme",
"chars": 2762,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Versions.xcodeproj/xcshareddata/xcschemes/Versions-iOS.xcscheme",
"chars": 2762,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Versions.xcodeproj/xcshareddata/xcschemes/VersionsDemo.xcscheme",
"chars": 3314,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Versions.xcodeproj/xcshareddata/xcschemes/VersionsDemoTests.xcscheme",
"chars": 2617,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "VersionsDemo/AppDelegate.swift",
"chars": 402,
"preview": "//\n// AppDelegate.swift\n// VersionsDemo\n//\n// Created by Christoffer Winterkvist on 20/05/15.\n//\n//\n\nimport UIKit\nimp"
},
{
"path": "VersionsDemo/Base.lproj/LaunchScreen.xib",
"chars": 3654,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
},
{
"path": "VersionsDemo/Base.lproj/Main.storyboard",
"chars": 5597,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "VersionsDemo/Images.xcassets/AppIcon.appiconset/Contents.json",
"chars": 585,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"29x29\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "VersionsDemo/Info.plist",
"chars": 1205,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "VersionsDemo/VersionsDemo.xcdatamodeld/.xccurrentversion",
"chars": 181,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "VersionsDemo/VersionsDemo.xcdatamodeld/VersionsDemo.xcdatamodel/contents",
"chars": 325,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<model userDefinedModelVersionIdentifier=\"\" type=\"com.apple.IDEC"
},
{
"path": "VersionsDemo/ViewController.swift",
"chars": 328,
"preview": "//\n// ViewController.swift\n// VersionsDemo\n//\n// Created by Christoffer Winterkvist on 20/05/15.\n//\n//\n\nimport UIKit\n"
},
{
"path": "VersionsDemoTests/Info.plist",
"chars": 733,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "VersionsDemoTests/StaticVersion_Test.swift",
"chars": 879,
"preview": "//\n// StaticVersion_Test.swift\n// Versions\n//\n// Created by Konstantin Koval on 11/03/15.\n//\n//\n\nimport UIKit\nimport "
},
{
"path": "VersionsDemoTests/VersionsDemoTests.swift",
"chars": 435,
"preview": "//\n// VersionsDemoTests.swift\n// VersionsDemoTests\n//\n// Created by Christoffer Winterkvist on 20/05/15.\n//\n//\n\nimpor"
},
{
"path": "VersionsDemoTests/Versions_Tests.swift",
"chars": 2258,
"preview": "//\n// Versions_Tests.swift\n// Versions Tests\n//\n// Created by Christoffer Winterkvist on 3/2/15.\n//\n//\n\nimport UIKit\n"
}
]
About this extraction
This page contains the full source code of the zenangst/Versions GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 28 files (76.7 KB), approximately 23.9k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.