├── .github └── workflows │ ├── checks.yml │ └── release.yml ├── .gitignore ├── Library ├── Core │ ├── ColorResource.swift │ ├── FileResource.swift │ ├── FontResource.swift │ ├── Identifier.swift │ ├── ImageResource.swift │ ├── NibResource.swift │ ├── ReuseIdentifierProtocol.swift │ ├── StoryboardResource.swift │ ├── StoryboardSegueIdentifierProtocol.swift │ ├── StoryboardViewControllerResource.swift │ ├── StringResource.swift │ └── Validatable.swift ├── Foundation │ ├── Bundle+FileResource.swift │ └── Data+FileResource.swift ├── Info.plist ├── Rswift.h └── UIKit │ ├── NibResource+UIKit.swift │ ├── StoryboardResourceWithInitialController+UIKit.swift │ ├── TypedStoryboardSegueInfo+UIStoryboardSegue.swift │ ├── UICollectionView+ReuseIdentifierProtocol.swift │ ├── UIColor+ColorResource.swift │ ├── UIFont+FontResource.swift │ ├── UIImage+ImageResource.swift │ ├── UINib+NibResource.swift │ ├── UIStoryboard+StoryboardResource.swift │ ├── UIStoryboard+StoryboardViewControllerResource.swift │ ├── UITableView+ReuseIdentifierProtocol.swift │ ├── UIViewController+NibResource.swift │ └── UIViewController+StoryboardSegueIdentifierProtocol.swift ├── LibraryTests ├── Info.plist └── RswiftTests.swift ├── License ├── Package.swift ├── R.swift.Library.podspec ├── R.swift.Library.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── R.swift.Library.xcscmblueprint └── xcshareddata │ └── xcschemes │ ├── Rswift-iOS.xcscheme │ ├── Rswift-tvOS.xcscheme │ └── Rswift-watchOS.xcscheme └── Readme.md /.github/workflows/checks.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: '*' 8 | 9 | env: 10 | DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer 11 | 12 | jobs: 13 | iOS: 14 | runs-on: macos-latest 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v2 18 | - name: Build 19 | run: xcodebuild -scheme "Rswift-iOS" 20 | tvOS: 21 | runs-on: macos-latest 22 | steps: 23 | - name: Checkout 24 | uses: actions/checkout@v2 25 | - name: Build 26 | run: xcodebuild -scheme "Rswift-tvOS" 27 | watchOS: 28 | runs-on: macos-latest 29 | steps: 30 | - name: Checkout 31 | uses: actions/checkout@v2 32 | - name: Build 33 | run: xcodebuild -scheme "Rswift-watchOS" 34 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | release: 5 | types: created 6 | 7 | env: 8 | DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer 9 | 10 | jobs: 11 | publish: 12 | runs-on: macos-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v2 16 | - name: Publish to Cocoapods 17 | run: | 18 | export POD_VERSION=$(echo $TAG_NAME | cut -c2-) 19 | pod trunk push 20 | env: 21 | TAG_NAME: ${{ github.event.release.tag_name }} 22 | COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }} 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | xcuserdata 3 | *.xccheckout 4 | fastlane/README.md 5 | fastlane/report.xml 6 | fastlane/test_output 7 | fastlane/settoken.sh 8 | /build 9 | Carthage/Build 10 | .swiftpm -------------------------------------------------------------------------------- /Library/Core/ColorResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ColorResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Tom Lokhorst on 2016-03-13. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol ColorResourceType { 13 | 14 | /// Bundle this color is in 15 | var bundle: Bundle { get } 16 | 17 | /// Name of the color 18 | var name: String { get } 19 | } 20 | 21 | public struct ColorResource: ColorResourceType { 22 | 23 | /// Bundle this color is in 24 | public let bundle: Bundle 25 | 26 | /// Name of the color 27 | public let name: String 28 | 29 | public init(bundle: Bundle, name: String) { 30 | self.bundle = bundle 31 | self.name = name 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Library/Core/FileResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FileResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 06-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol FileResourceType { 13 | 14 | /// Bundle this file is in 15 | var bundle: Bundle { get } 16 | 17 | /// Name of the file file on disk 18 | var name: String { get } 19 | 20 | /// Extension of the file on disk 21 | var pathExtension: String { get } 22 | } 23 | 24 | public extension FileResourceType { 25 | /// Name of the file on disk with the pathExtension 26 | var fullName: String { 27 | return [name, pathExtension].joined(separator: ".") 28 | } 29 | 30 | /** 31 | Returns the full pathname for this resource. 32 | 33 | - returns: The full pathname for this resource or nil if the file could not be located. 34 | */ 35 | func path() -> String? { 36 | return bundle.path(forResource: self) 37 | } 38 | 39 | /** 40 | Returns the file URL for this resource. 41 | 42 | - returns: The file URL for this resource or nil if the file could not be located. 43 | */ 44 | func url() -> URL? { 45 | return bundle.url(forResource: self) 46 | } 47 | } 48 | 49 | public struct FileResource: FileResourceType { 50 | /// Bundle this file is in 51 | public let bundle: Bundle 52 | 53 | /// Name of the file on disk, without the pathExtension 54 | public let name: String 55 | 56 | /// Extension of the file on disk 57 | public let pathExtension: String 58 | 59 | public init(bundle: Bundle, name: String, pathExtension: String) { 60 | self.bundle = bundle 61 | self.name = name 62 | self.pathExtension = pathExtension 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Library/Core/FontResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FontResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 06-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol FontResourceType { 13 | /// Name of the font 14 | var fontName: String { get } 15 | } 16 | 17 | public struct FontResource: FontResourceType { 18 | /// Name of the font 19 | public let fontName: String 20 | 21 | public init(fontName: String) { 22 | self.fontName = fontName 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Library/Core/Identifier.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Identifier.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | /// Base protocol for all identifiers 13 | public protocol IdentifierType: CustomStringConvertible { 14 | /// Identifier string 15 | var identifier: String { get } 16 | } 17 | 18 | extension IdentifierType { 19 | /// CustomStringConvertible implementation, returns the identifier 20 | public var description: String { 21 | return identifier 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Library/Core/ImageResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ImageResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 11-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol ImageResourceType { 13 | 14 | /// Bundle this image is in 15 | var bundle: Bundle { get } 16 | 17 | /// Name of the image 18 | var name: String { get } 19 | } 20 | 21 | public struct ImageResource: ImageResourceType { 22 | 23 | /// Bundle this image is in 24 | public let bundle: Bundle 25 | 26 | /// Name of the image 27 | public let name: String 28 | 29 | public init(bundle: Bundle, name: String) { 30 | self.bundle = bundle 31 | self.name = name 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Library/Core/NibResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NibResource.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | /// Represents a nib file on disk 13 | public protocol NibResourceType { 14 | 15 | /// Bundle this nib is in or nil for main bundle 16 | var bundle: Bundle { get } 17 | 18 | /// Name of the nib file on disk 19 | var name: String { get } 20 | } 21 | -------------------------------------------------------------------------------- /Library/Core/ReuseIdentifierProtocol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ReuseIdentifierProtocol.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | /// Reuse identifier protocol 13 | public protocol ReuseIdentifierType: IdentifierType { 14 | /// Type of this reuseable 15 | associatedtype ReusableType 16 | } 17 | 18 | /// Reuse identifier 19 | public struct ReuseIdentifier: ReuseIdentifierType { 20 | /// Type of this reuseable 21 | public typealias ReusableType = Reusable 22 | 23 | /// String identifier of this reusable 24 | public let identifier: String 25 | 26 | /** 27 | Create a new ReuseIdentifier based on the string identifier 28 | 29 | - parameter identifier: The string identifier for this reusable 30 | 31 | - returns: A new ReuseIdentifier 32 | */ 33 | public init(identifier: String) { 34 | self.identifier = identifier 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Library/Core/StoryboardResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StoryboardResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 07-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol StoryboardResourceType { 13 | 14 | /// Bundle this storyboard is in 15 | var bundle: Bundle { get } 16 | 17 | /// Name of the storyboard file on disk 18 | var name: String { get } 19 | } 20 | 21 | public protocol StoryboardResourceWithInitialControllerType: StoryboardResourceType { 22 | 23 | /// Type of the inital controller 24 | associatedtype InitialController 25 | } 26 | -------------------------------------------------------------------------------- /Library/Core/StoryboardSegueIdentifierProtocol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StoryboardSegueIdentifierProtocol.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | /// Segue identifier protocol 13 | public protocol StoryboardSegueIdentifierType: IdentifierType { 14 | /// Type of the segue itself 15 | associatedtype SegueType 16 | 17 | /// Type of the source view controller 18 | associatedtype SourceType 19 | 20 | /// Type of the destination view controller 21 | associatedtype DestinationType 22 | } 23 | 24 | /// Segue identifier 25 | public struct StoryboardSegueIdentifier: StoryboardSegueIdentifierType { 26 | /// Type of the segue itself 27 | public typealias SegueType = Segue 28 | 29 | /// Type of the source view controller 30 | public typealias SourceType = Source 31 | 32 | /// Type of the destination view controller 33 | public typealias DestinationType = Destination 34 | 35 | /// Identifier string of this segue 36 | public let identifier: String 37 | 38 | /** 39 | Create a new identifier based on the identifier string 40 | 41 | - returns: A new StoryboardSegueIdentifier 42 | */ 43 | public init(identifier: String) { 44 | self.identifier = identifier 45 | } 46 | 47 | /// Create a new StoryboardSegue based on the identifier and source view controller 48 | public func storyboardSegue(withSource source: Source) 49 | -> StoryboardSegue 50 | { 51 | return StoryboardSegue(identifier: self, source: source) 52 | } 53 | } 54 | 55 | /// Typed segue information 56 | public struct TypedStoryboardSegueInfo: StoryboardSegueIdentifierType { 57 | /// Type of the segue itself 58 | public typealias SegueType = Segue 59 | 60 | /// Type of the source view controller 61 | public typealias SourceType = Source 62 | 63 | /// Type of the destination view controller 64 | public typealias DestinationType = Destination 65 | 66 | /// Segue destination view controller 67 | public let destination: Destination 68 | 69 | /// Segue identifier 70 | public let identifier: String 71 | 72 | /// The original segue 73 | public let segue: Segue 74 | 75 | /// Segue source view controller 76 | public let source: Source 77 | } 78 | 79 | /// Segue with identifier and source view controller 80 | public struct StoryboardSegue { 81 | /// Identifier of this segue 82 | public let identifier: StoryboardSegueIdentifier 83 | 84 | /// Segue source view controller 85 | public let source: Source 86 | 87 | /** 88 | Create a new segue based on the identifier and source view controller 89 | 90 | - returns: A new StoryboardSegue 91 | */ 92 | public init(identifier: StoryboardSegueIdentifier, source: Source) { 93 | self.identifier = identifier 94 | self.source = source 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /Library/Core/StoryboardViewControllerResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StoryboardViewControllerResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 13-03-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol StoryboardViewControllerResourceType: IdentifierType { 13 | associatedtype ViewControllerType 14 | } 15 | 16 | public struct StoryboardViewControllerResource: StoryboardViewControllerResourceType { 17 | public typealias ViewControllerType = ViewController 18 | 19 | /// Storyboard identifier of this view controller 20 | public let identifier: String 21 | 22 | public init(identifier: String) { 23 | self.identifier = identifier 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Library/Core/StringResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StringResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Tom Lokhorst on 2016-04-23. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public protocol StringResourceType { 13 | 14 | /// Key for the string 15 | var key: String { get } 16 | 17 | /// File in containing the string 18 | var tableName: String { get } 19 | 20 | /// Bundle this string is in 21 | var bundle: Bundle { get } 22 | 23 | /// Locales of the a localizable string 24 | var locales: [String] { get } 25 | 26 | /// Comment directly before and/or after the string, if any 27 | var comment: String? { get } 28 | } 29 | 30 | public struct StringResource: StringResourceType { 31 | 32 | /// Key for the string 33 | public let key: String 34 | 35 | /// File in containing the string 36 | public let tableName: String 37 | 38 | /// Bundle this string is in 39 | public let bundle: Bundle 40 | 41 | /// Locales of the a localizable string 42 | public let locales: [String] 43 | 44 | /// Comment directly before and/or after the string, if any 45 | public let comment: String? 46 | 47 | public init(key: String, tableName: String, bundle: Bundle, locales: [String], comment: String?) { 48 | self.key = key 49 | self.tableName = tableName 50 | self.bundle = bundle 51 | self.locales = locales 52 | self.comment = comment 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Library/Core/Validatable.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Validatable.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 17-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | /// Error thrown during validation 13 | public struct ValidationError: Error, CustomStringConvertible { 14 | /// Human readable description 15 | public let description: String 16 | 17 | public init(description: String) { 18 | self.description = description 19 | } 20 | } 21 | 22 | public protocol Validatable { 23 | /** 24 | Validates this entity and throws if it encounters an invalid situation, a validatable should also validate it sub-validatables if it has any. 25 | 26 | - throws: If there the configuration error a ValidationError is thrown 27 | */ 28 | static func validate() throws 29 | } 30 | -------------------------------------------------------------------------------- /Library/Foundation/Bundle+FileResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Bundle+FileResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 10-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public extension Bundle { 13 | /** 14 | Returns the file URL for the given resource (R.file.*). 15 | 16 | - parameter resource: The resource to get the file URL for (R.file.*). 17 | 18 | - returns: The file URL for the resource file (R.file.*) or nil if the file could not be located. 19 | */ 20 | func url(forResource resource: FileResourceType) -> URL? { 21 | return url(forResource: resource.name, withExtension: resource.pathExtension) 22 | } 23 | 24 | /** 25 | Returns the full pathname for the resource (R.file.*). 26 | 27 | - parameter resource: The resource file to get the path for (R.file.*). 28 | 29 | - returns: The full pathname for the resource file (R.file.*) or nil if the file could not be located. 30 | */ 31 | func path(forResource resource: FileResourceType) -> String? { 32 | return path(forResource: resource.name, ofType: resource.pathExtension) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Library/Foundation/Data+FileResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Data+FileResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Tom Lokhorst on 2016-03-11. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | 12 | public struct NoUrlForResourceError: Error {} 13 | 14 | public extension Data { 15 | 16 | /** 17 | Creates and returns NSData with the contents of the specified file resource (R.file.*). 18 | 19 | - parameter resource: The file resource (R.file.*) 20 | 21 | - returns: A NSData object with the contents of the specified file. 22 | */ 23 | init(resource: FileResourceType) throws { 24 | guard let url = resource.url() else { throw NoUrlForResourceError() } 25 | try self.init(contentsOf: url) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Library/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Library/Rswift.h: -------------------------------------------------------------------------------- 1 | // 2 | // Rswift.h 3 | // Rswift 4 | // 5 | // Created by Mathijs Kadijk on 04-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #import 11 | 12 | //! Project version number for Rswift. 13 | FOUNDATION_EXPORT double RswiftVersionNumber; 14 | 15 | //! Project version string for Rswift. 16 | FOUNDATION_EXPORT const unsigned char RswiftVersionString[]; 17 | 18 | // In this header, you should import all the public headers of your framework using statements like #import 19 | -------------------------------------------------------------------------------- /Library/UIKit/NibResource+UIKit.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NibResource+UIKit.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 06-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension NibResourceType { 15 | /** 16 | Instantiate the nib to get the top-level objects from this nib 17 | 18 | - parameter ownerOrNil: The owner, if the owner parameter is nil, connections to File's Owner are not permitted. 19 | - parameter options: Options are identical to the options specified with -[NSBundle loadNibNamed:owner:options:] 20 | 21 | - returns: An array containing the top-level objects from the NIB 22 | */ 23 | func instantiate(withOwner ownerOrNil: Any?, options optionsOrNil: [UINib.OptionsKey : Any]? = [:]) -> [Any] { 24 | return UINib(resource: self).instantiate(withOwner: ownerOrNil, options: optionsOrNil) 25 | } 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /Library/UIKit/StoryboardResourceWithInitialController+UIKit.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StoryboardResourceWithInitialController+UIKit.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 07-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension StoryboardResourceWithInitialControllerType { 15 | /** 16 | Instantiates and returns the initial view controller in the view controller graph. 17 | 18 | - returns: The initial view controller in the storyboard. 19 | */ 20 | func instantiateInitialViewController() -> InitialController? { 21 | return UIStoryboard(resource: self).instantiateInitialViewController() as? InitialController 22 | } 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /Library/UIKit/TypedStoryboardSegueInfo+UIStoryboardSegue.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TypedStoryboardSegueInfo+UIStoryboardSegue.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | extension TypedStoryboardSegueInfo { 15 | /** 16 | Returns typed information about the given segue, fails if the segue types don't exactly match types. 17 | 18 | - returns: A newly initialized TypedStoryboardSegueInfo object or nil. 19 | */ 20 | public init?(segueIdentifier: SegueIdentifier, segue: UIStoryboardSegue) 21 | where SegueIdentifier.SegueType == Segue, SegueIdentifier.SourceType == Source, SegueIdentifier.DestinationType == Destination 22 | { 23 | guard let identifier = segue.identifier, 24 | let source = segue.source as? SegueIdentifier.SourceType, 25 | let destination = segue.destination as? SegueIdentifier.DestinationType, 26 | let segue = segue as? SegueIdentifier.SegueType, identifier == segueIdentifier.identifier 27 | else { 28 | return nil 29 | } 30 | 31 | self.segue = segue 32 | self.identifier = identifier 33 | self.source = source 34 | self.destination = destination 35 | } 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /Library/UIKit/UICollectionView+ReuseIdentifierProtocol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UICollectionView+ReuseIdentifierProtocol.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension UICollectionView { 15 | /** 16 | Returns a typed reusable cell object located by its identifier 17 | 18 | - parameter identifier: The R.reuseIdentifier.* value for the specified cell. 19 | - parameter indexPath: The index path specifying the location of the cell. The data source receives this information when it is asked for the cell and should just pass it along. This method uses the index path to perform additional configuration based on the cell’s position in the collection view. 20 | 21 | - returns: A subclass of UICollectionReusableView or nil if the cast fails. 22 | */ 23 | func dequeueReusableCell(withReuseIdentifier identifier: Identifier, for indexPath: IndexPath) -> Identifier.ReusableType? 24 | where Identifier.ReusableType: UICollectionReusableView 25 | { 26 | return dequeueReusableCell(withReuseIdentifier: identifier.identifier, for: indexPath) as? Identifier.ReusableType 27 | } 28 | 29 | /** 30 | Returns a typed reusable supplementary view located by its identifier and kind. 31 | 32 | - parameter elementKind: The kind of supplementary view to retrieve. This value is defined by the layout object. 33 | - parameter identifier: The R.reuseIdentifier.* value for the specified view. 34 | - parameter indexPath: The index path specifying the location of the cell. The data source receives this information when it is asked for the cell and should just pass it along. This method uses the index path to perform additional configuration based on the cell’s position in the collection view. 35 | 36 | - returns: A subclass of UICollectionReusableView or nil if the cast fails. 37 | */ 38 | func dequeueReusableSupplementaryView(ofKind elementKind: String, withReuseIdentifier identifier: Identifier, for indexPath: IndexPath) -> Identifier.ReusableType? 39 | where Identifier.ReusableType: UICollectionReusableView 40 | { 41 | return dequeueReusableSupplementaryView(ofKind: elementKind, withReuseIdentifier: identifier.identifier, for: indexPath) as? Identifier.ReusableType 42 | } 43 | 44 | /** 45 | Register a R.nib.* for use in creating new collection view cells. 46 | 47 | - parameter nibResource: A nib resource (R.nib.*) containing a object of type UICollectionViewCell that has a reuse identifier 48 | */ 49 | func register(_ nibResource: Resource) 50 | where Resource.ReusableType: UICollectionViewCell 51 | { 52 | register(UINib(resource: nibResource), forCellWithReuseIdentifier: nibResource.identifier) 53 | } 54 | 55 | /** 56 | Register a R.nib.* for use in creating supplementary views for the collection view. 57 | 58 | - parameter nibResource: A nib resource (R.nib.*) containing a object of type UICollectionReusableView. that has a reuse identifier 59 | */ 60 | func register(_ nibResource: Resource, forSupplementaryViewOfKind kind: String) 61 | where Resource.ReusableType: UICollectionReusableView 62 | { 63 | register(UINib(resource: nibResource), forSupplementaryViewOfKind: kind, withReuseIdentifier: nibResource.identifier) 64 | } 65 | } 66 | #endif 67 | -------------------------------------------------------------------------------- /Library/UIKit/UIColor+ColorResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+ColorResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Tom Lokhorst on 2017-06-06. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import UIKit 11 | 12 | @available(iOS 11.0, *) 13 | @available(tvOS 11.0, *) 14 | public extension UIColor { 15 | 16 | #if os(iOS) || os(tvOS) 17 | /** 18 | Returns the color from this resource (R.color.*) that is compatible with the trait collection. 19 | 20 | - parameter resource: The resource you want the image of (R.color.*) 21 | - parameter traitCollection: Traits that describe the desired color to retrieve, pass nil to use traits that describe the main screen. 22 | 23 | - returns: A color that exactly or best matches the desired traits with the given resource (R.color.*), or nil if no suitable color was found. 24 | */ 25 | convenience init?(resource: ColorResourceType, compatibleWith traitCollection: UITraitCollection? = nil) { 26 | self.init(named: resource.name, in: resource.bundle, compatibleWith: traitCollection) 27 | } 28 | #endif 29 | 30 | #if os(watchOS) 31 | /** 32 | Returns the color from this resource (R.color.*) that is compatible with the trait collection. 33 | 34 | - parameter resource: The resource you want the image of (R.color.*) 35 | 36 | - returns: A color that exactly or best matches the desired traits with the given resource (R.color.*), or nil if no suitable color was found. 37 | */ 38 | @available(watchOSApplicationExtension 4.0, *) 39 | convenience init?(resource: ColorResourceType) { 40 | self.init(named: resource.name) 41 | } 42 | #endif 43 | } 44 | -------------------------------------------------------------------------------- /Library/UIKit/UIFont+FontResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIFont+FontResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 06-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import Foundation 11 | import UIKit 12 | 13 | public extension UIFont { 14 | /** 15 | Creates and returns a font object for the specified font resource (R.font.*) and size. 16 | 17 | - parameter resource: The font resource (R.font.*) for the specific font to load 18 | - parameter size: The size (in points) to which the font is scaled. This value must be greater than 0.0. 19 | 20 | - returns: A font object of the specified font resource and size. 21 | */ 22 | convenience init?(resource: FontResourceType, size: CGFloat) { 23 | self.init(name: resource.fontName, size: size) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Library/UIKit/UIImage+ImageResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+ImageResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 11-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | import UIKit 11 | 12 | public extension UIImage { 13 | 14 | #if os(iOS) || os(tvOS) 15 | /** 16 | Returns the image from this resource (R.image.*) that is compatible with the trait collection. 17 | 18 | - parameter resource: The resource you want the image of (R.image.*) 19 | - parameter traitCollection: Traits that describe the desired image to retrieve, pass nil to use traits that describe the main screen. 20 | 21 | - returns: An image that exactly or best matches the desired traits with the given resource (R.image.*), or nil if no suitable image was found. 22 | */ 23 | convenience init?(resource: ImageResourceType, compatibleWith traitCollection: UITraitCollection? = nil) { 24 | self.init(named: resource.name, in: resource.bundle, compatibleWith: traitCollection) 25 | } 26 | #endif 27 | 28 | #if os(watchOS) 29 | /** 30 | Returns the image from this resource (R.image.*) that is compatible with the trait collection. 31 | 32 | - parameter resource: The resource you want the image of (R.image.*) 33 | 34 | - returns: An image that exactly or best matches the desired traits with the given resource (R.image.*), or nil if no suitable image was found. 35 | */ 36 | convenience init?(resource: ImageResourceType) { 37 | self.init(named: resource.name) 38 | } 39 | #endif 40 | } 41 | -------------------------------------------------------------------------------- /Library/UIKit/UINib+NibResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UINib+NibResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 08-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import UIKit 12 | 13 | public extension UINib { 14 | /** 15 | Returns a UINib object initialized to the nib file of the specified resource (R.nib.*). 16 | 17 | - parameter resource: The resource (R.nib.*) to load 18 | 19 | - returns: The initialized UINib object. An exception is thrown if there were errors during initialization or the nib file could not be located. 20 | */ 21 | convenience init(resource: NibResourceType) { 22 | self.init(nibName: resource.name, bundle: resource.bundle) 23 | } 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /Library/UIKit/UIStoryboard+StoryboardResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIStoryboard+StoryboardResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 07-01-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import UIKit 12 | 13 | public extension UIStoryboard { 14 | /** 15 | Creates and returns a storyboard object for the specified storyboard resource (R.storyboard.*) file. 16 | 17 | - parameter resource: The storyboard resource (R.storyboard.*) for the specific storyboard to load 18 | 19 | - returns: A storyboard object for the specified file. If no storyboard resource file matching name exists, an exception is thrown with description: `Could not find a storyboard named 'XXXXXX' in bundle....` 20 | */ 21 | convenience init(resource: StoryboardResourceType) { 22 | self.init(name: resource.name, bundle: resource.bundle) 23 | } 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /Library/UIKit/UIStoryboard+StoryboardViewControllerResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+StoryboardViewControllerResource.swift 3 | // R.swift.Library 4 | // 5 | // Created by Mathijs Kadijk on 13-03-16. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension UIStoryboard { 15 | /** 16 | Instantiates and returns the view controller with the specified resource (R.storyboard.*.*). 17 | 18 | - parameter resource: An resource (R.storyboard.*.*) that uniquely identifies the view controller in the storyboard file. If the specified resource does not exist in the storyboard file, this method raises an exception. 19 | 20 | - returns: The view controller corresponding to the specified resource (R.storyboard.*.*). If no view controller is associated, this method throws an exception. 21 | */ 22 | func instantiateViewController(withResource resource: ViewControllerResource) -> ViewControllerResource.ViewControllerType? { 23 | return self.instantiateViewController(withIdentifier: resource.identifier) as? ViewControllerResource.ViewControllerType 24 | } 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /Library/UIKit/UITableView+ReuseIdentifierProtocol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UITableView+ReuseIdentifierProtocol.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension UITableView { 15 | /** 16 | Returns a typed reusable table-view cell object for the specified reuse identifier and adds it to the table. 17 | 18 | - parameter identifier: A R.reuseIdentifier.* value identifying the cell object to be reused. 19 | - parameter indexPath: The index path specifying the location of the cell. The data source receives this information when it is asked for the cell and should just pass it along. This method uses the index path to perform additional configuration based on the cell’s position in the table view. 20 | 21 | - returns: The UITableViewCell subclass with the associated reuse identifier or nil if it couldn't be casted correctly. 22 | 23 | - precondition: You must register a class or nib file using the registerNib: or registerClass:forCellReuseIdentifier: method before calling this method. 24 | */ 25 | func dequeueReusableCell(withIdentifier identifier: Identifier, for indexPath: IndexPath) -> Identifier.ReusableType? 26 | where Identifier.ReusableType: UITableViewCell 27 | { 28 | return dequeueReusableCell(withIdentifier: identifier.identifier, for: indexPath) as? Identifier.ReusableType 29 | } 30 | 31 | @available(*, unavailable, message: "Use dequeueReusableCell(withIdentifier:for:) instead") 32 | func dequeueReusableCell(withIdentifier identifier: Identifier) -> Identifier.ReusableType? 33 | where Identifier.ReusableType: UITableViewCell 34 | { 35 | fatalError() 36 | } 37 | 38 | /** 39 | Returns a typed reusable header or footer view located by its identifier. 40 | 41 | - parameter identifier: A R.reuseIdentifier.* value identifying the header or footer view to be reused. 42 | 43 | - returns: A UITableViewHeaderFooterView object with the associated identifier or nil if no such object exists in the reusable view queue or if it couldn't be cast correctly. 44 | */ 45 | func dequeueReusableHeaderFooterView(withIdentifier identifier: Identifier) -> Identifier.ReusableType? 46 | where Identifier.ReusableType: UITableViewHeaderFooterView 47 | { 48 | return dequeueReusableHeaderFooterView(withIdentifier: identifier.identifier) as? Identifier.ReusableType 49 | } 50 | 51 | /** 52 | Register a R.nib.* containing a cell with the table view under it's contained identifier. 53 | 54 | - parameter nibResource: A nib resource (R.nib.*) containing a table view cell that has a reuse identifier 55 | */ 56 | func register(_ nibResource: Resource) where Resource.ReusableType: UITableViewCell { 57 | register(UINib(resource: nibResource), forCellReuseIdentifier: nibResource.identifier) 58 | } 59 | 60 | /** 61 | Register a R.nib.* containing a header or footer with the table view under it's contained identifier. 62 | 63 | - parameter nibResource: A nib resource (R.nib.*) containing a view that has a reuse identifier 64 | */ 65 | func registerHeaderFooterView(_ nibResource: Resource) where Resource: ReuseIdentifierType, Resource.ReusableType: UIView { 66 | register(UINib(resource: nibResource), forHeaderFooterViewReuseIdentifier: nibResource.identifier) 67 | } 68 | } 69 | #endif 70 | -------------------------------------------------------------------------------- /Library/UIKit/UIViewController+NibResource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+NibResource.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public extension UIViewController { 15 | /** 16 | Returns a newly initialized view controller with the nib resource (R.nib.*). 17 | 18 | - parameter nib: The nib resource (R.nib.*) to associate with the view controller. 19 | 20 | - returns: A newly initialized UIViewController object. 21 | */ 22 | convenience init(nib: NibResourceType) { 23 | self.init(nibName: nib.name, bundle: nib.bundle) 24 | } 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /Library/UIKit/UIViewController+StoryboardSegueIdentifierProtocol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+StoryboardSegueIdentifierProtocol.swift 3 | // R.swift Library 4 | // 5 | // Created by Mathijs Kadijk on 06-12-15. 6 | // From: https://github.com/mac-cain13/R.swift.Library 7 | // License: MIT License 8 | // 9 | 10 | #if !os(watchOS) 11 | import Foundation 12 | import UIKit 13 | 14 | public protocol SeguePerformerType { 15 | func performSegue(withIdentifier identifier: String, sender: Any?) 16 | } 17 | 18 | extension UIViewController: SeguePerformerType {} 19 | 20 | public extension SeguePerformerType { 21 | /** 22 | Initiates the segue with the specified identifier (R.segue.*) from the current view controller's storyboard file. 23 | - parameter identifier: The R.segue.* that identifies the triggered segue. 24 | - parameter sender: The object that you want to use to initiate the segue. This object is made available for informational purposes during the actual segue. 25 | - SeeAlso: Library for typed block based segues: [tomlokhorst/SegueManager](https://github.com/tomlokhorst/SegueManager) 26 | */ 27 | func performSegue(withIdentifier identifier: StoryboardSegueIdentifier, sender: Any?) { 28 | performSegue(withIdentifier: identifier.identifier, sender: sender) 29 | } 30 | } 31 | 32 | public extension StoryboardSegue where Source : UIViewController { 33 | /** 34 | Performs this segue on the source view controller 35 | - parameter sender: The object that you want to use to initiate the segue. This object is made available for informational purposes during the actual segue. 36 | */ 37 | func performSegue(sender: Any? = nil) { 38 | source.performSegue(withIdentifier: identifier.identifier, sender: sender) 39 | } 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /LibraryTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /LibraryTests/RswiftTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RswiftTests.swift 3 | // RswiftTests 4 | // 5 | // Created by Mathijs Kadijk on 04-12-15. 6 | // Copyright © 2015 Mathijs Kadijk. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import Rswift 11 | 12 | class RswiftTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measure { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Mathijs Kadijk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.0 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "R.swift.Library", 7 | platforms: [ 8 | .iOS(.v9), 9 | .tvOS(.v9), 10 | .watchOS(.v2), 11 | ], 12 | products: [ 13 | .library(name: "Rswift", targets: ["Rswift"]), 14 | .library(name: "RswiftDynamic", type: .dynamic, targets: ["Rswift"]) 15 | ], 16 | targets: [ 17 | .target(name: "Rswift", path: "Library") 18 | ] 19 | ) 20 | -------------------------------------------------------------------------------- /R.swift.Library.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |spec| 2 | 3 | spec.name = "R.swift.Library" 4 | spec.version = ENV['POD_VERSION'] 5 | spec.license = "MIT" 6 | 7 | spec.summary = "Companion library for R.swift, featuring types used to type resources" 8 | spec.description = <<-DESC 9 | This library contains types used by the `R.generated.swift` file that is normally generated by R.swift. R.swift depends on this pod to include some types and other libraries can use this project to extend R.swift types. 10 | 11 | R.swift is a tool to get strong typed, autocompleted resources like images, fonts and segues in Swift projects. 12 | DESC 13 | spec.homepage = "https://github.com/mac-cain13/R.swift.Library" 14 | 15 | spec.author = { "Mathijs Kadijk" => "mkadijk@gmail.com" } 16 | spec.social_media_url = "https://twitter.com/mac_cain13" 17 | 18 | spec.requires_arc = true 19 | spec.source = { :git => "https://github.com/mac-cain13/R.swift.Library.git", :tag => "v#{spec.version}" } 20 | spec.swift_version = "5.1" 21 | 22 | spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } 23 | 24 | spec.ios.deployment_target = '11.0' 25 | spec.ios.source_files = "Library/**/*.swift" 26 | spec.tvos.deployment_target = '11.0' 27 | spec.tvos.source_files = "Library/**/*.swift" 28 | spec.watchos.deployment_target = '4.0' 29 | spec.watchos.source_files = ["Library/Core/*.swift", "Library/Foundation/*.swift"] 30 | 31 | spec.module_name = "Rswift" 32 | 33 | end 34 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 2F5FBC4821355AC400A83A69 /* ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22D43661C95EEA100692FFF /* ColorResource.swift */; }; 11 | 2F5FBC4A21355ADB00A83A69 /* Bundle+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */; }; 12 | 2F5FBC4B21355ADB00A83A69 /* Data+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20F34A61C92B44100338F81 /* Data+FileResource.swift */; }; 13 | 2F5FBC4C21355ADF00A83A69 /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; }; 14 | 2F5FBC4D21355ADF00A83A69 /* FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB21C3D762300DDA68F /* FontResource.swift */; }; 15 | 2F5FBC4E21355ADF00A83A69 /* Identifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BA1C1497EB00D16A0C /* Identifier.swift */; }; 16 | 2F5FBC4F21355ADF00A83A69 /* ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5841C44157000885232 /* ImageResource.swift */; }; 17 | 2F5FBC5021355ADF00A83A69 /* NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C01C14984300D16A0C /* NibResource.swift */; }; 18 | 2F5FBC5121355ADF00A83A69 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */; }; 19 | 2F5FBC5221355ADF00A83A69 /* StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */; }; 20 | 2F5FBC5321355ADF00A83A69 /* StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */; }; 21 | 2F5FBC5421355ADF00A83A69 /* StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */; }; 22 | 2F5FBC5521355ADF00A83A69 /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; }; 23 | 2F5FBC5621355ADF00A83A69 /* Validatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53F19231C229D7200AE2FAD /* Validatable.swift */; }; 24 | 2F5FBC5821355B0200A83A69 /* UIColor+ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */; }; 25 | 2F5FBC5921355B0200A83A69 /* UIFont+FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */; }; 26 | 2F5FBC5A21355B0200A83A69 /* UIImage+ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5861C44170E00885232 /* UIImage+ImageResource.swift */; }; 27 | 806E699C1C42BD9C00DE3A8B /* Rswift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 806E69921C42BD9C00DE3A8B /* Rswift.framework */; }; 28 | 806E69A91C42BDDA00DE3A8B /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; }; 29 | 806E69AA1C42BDDA00DE3A8B /* FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB21C3D762300DDA68F /* FontResource.swift */; }; 30 | 806E69AB1C42BDDA00DE3A8B /* Identifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BA1C1497EB00D16A0C /* Identifier.swift */; }; 31 | 806E69AC1C42BDDA00DE3A8B /* NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C01C14984300D16A0C /* NibResource.swift */; }; 32 | 806E69AD1C42BDDA00DE3A8B /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */; }; 33 | 806E69AE1C42BDDA00DE3A8B /* StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */; }; 34 | 806E69AF1C42BDDA00DE3A8B /* StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */; }; 35 | 806E69B01C42BDDA00DE3A8B /* Validatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53F19231C229D7200AE2FAD /* Validatable.swift */; }; 36 | 806E69B11C42BDE000DE3A8B /* NibResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */; }; 37 | 806E69B21C42BDE000DE3A8B /* StoryboardResourceWithInitialController+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB81C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift */; }; 38 | 806E69B31C42BDE000DE3A8B /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9CE1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift */; }; 39 | 806E69B41C42BDE000DE3A8B /* UICollectionView+ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C51C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift */; }; 40 | 806E69B51C42BDE000DE3A8B /* UIFont+FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */; }; 41 | 806E69B61C42BDE000DE3A8B /* UINib+NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5588CAA1C3F9DBE00912F97 /* UINib+NibResource.swift */; }; 42 | 806E69B71C42BDE000DE3A8B /* UIStoryboard+StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EBA1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift */; }; 43 | 806E69B91C42BDE000DE3A8B /* UITableView+ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C31C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift */; }; 44 | 806E69BA1C42BDE000DE3A8B /* UIViewController+NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C71C14995800D16A0C /* UIViewController+NibResource.swift */; }; 45 | 806E69BB1C42BDE000DE3A8B /* UIViewController+StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C91C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift */; }; 46 | 806E69BC1C42BDE300DE3A8B /* RswiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D592465D1C117A55007F94C7 /* RswiftTests.swift */; }; 47 | D51335271C959DF20014C9D4 /* StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */; }; 48 | D51335291C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335281C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift */; }; 49 | D513352A1C95B7510014C9D4 /* StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */; }; 50 | D513352B1C95B7620014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51335281C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift */; }; 51 | D513352C1C95C61E0014C9D4 /* Data+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20F34A61C92B44100338F81 /* Data+FileResource.swift */; }; 52 | D53F19241C229D7200AE2FAD /* Validatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D53F19231C229D7200AE2FAD /* Validatable.swift */; }; 53 | D543F9BB1C1497EB00D16A0C /* Identifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BA1C1497EB00D16A0C /* Identifier.swift */; }; 54 | D543F9BD1C14980600D16A0C /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */; }; 55 | D543F9BF1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */; }; 56 | D543F9C11C14984300D16A0C /* NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C01C14984300D16A0C /* NibResource.swift */; }; 57 | D543F9C41C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C31C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift */; }; 58 | D543F9C61C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C51C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift */; }; 59 | D543F9C81C14995800D16A0C /* UIViewController+NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C71C14995800D16A0C /* UIViewController+NibResource.swift */; }; 60 | D543F9CA1C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9C91C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift */; }; 61 | D543F9CF1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D543F9CE1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift */; }; 62 | D553F5851C44157000885232 /* ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5841C44157000885232 /* ImageResource.swift */; }; 63 | D553F5871C44170E00885232 /* UIImage+ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5861C44170E00885232 /* UIImage+ImageResource.swift */; }; 64 | D5588CAB1C3F9DBE00912F97 /* UINib+NibResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5588CAA1C3F9DBE00912F97 /* UINib+NibResource.swift */; }; 65 | D56DC7731C42B65C00623437 /* Bundle+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */; }; 66 | D5728B311C4D541200E38168 /* ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5841C44157000885232 /* ImageResource.swift */; }; 67 | D5728B321C4D541500E38168 /* Bundle+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */; }; 68 | D5728B331C4D541D00E38168 /* UIImage+ImageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D553F5861C44170E00885232 /* UIImage+ImageResource.swift */; }; 69 | D5728B341C4D542300E38168 /* Rswift.h in Headers */ = {isa = PBXBuildFile; fileRef = D59246511C117A55007F94C7 /* Rswift.h */; settings = {ATTRIBUTES = (Public, ); }; }; 70 | D57E1EB31C3D762300DDA68F /* FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB21C3D762300DDA68F /* FontResource.swift */; }; 71 | D57E1EB51C3D774000DDA68F /* UIFont+FontResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */; }; 72 | D57E1EB71C3E482A00DDA68F /* StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */; }; 73 | D57E1EB91C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EB81C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift */; }; 74 | D57E1EBB1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E1EBA1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift */; }; 75 | D59246521C117A55007F94C7 /* Rswift.h in Headers */ = {isa = PBXBuildFile; fileRef = D59246511C117A55007F94C7 /* Rswift.h */; settings = {ATTRIBUTES = (Public, ); }; }; 76 | D59246591C117A55007F94C7 /* Rswift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D592464E1C117A55007F94C7 /* Rswift.framework */; }; 77 | D592465E1C117A55007F94C7 /* RswiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D592465D1C117A55007F94C7 /* RswiftTests.swift */; }; 78 | D5E435A91C3CFB460091090C /* NibResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */; }; 79 | D5E435AD1C3D00770091090C /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; }; 80 | E20F34A71C92B44100338F81 /* Data+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20F34A61C92B44100338F81 /* Data+FileResource.swift */; }; 81 | E22D43671C95EEA100692FFF /* ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22D43661C95EEA100692FFF /* ColorResource.swift */; }; 82 | E24720CA1C96B4D100DF291D /* ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22D43661C95EEA100692FFF /* ColorResource.swift */; }; 83 | E250BE971CCBF60300CC71DE /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; }; 84 | E250BE991CCBF7E900CC71DE /* StringResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E250BE961CCBF60300CC71DE /* StringResource.swift */; }; 85 | E2CA68EF1EE75992009C4DB4 /* UIColor+ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */; }; 86 | E2CA68F21EE75A49009C4DB4 /* UIColor+ColorResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */; }; 87 | /* End PBXBuildFile section */ 88 | 89 | /* Begin PBXContainerItemProxy section */ 90 | 806E699D1C42BD9C00DE3A8B /* PBXContainerItemProxy */ = { 91 | isa = PBXContainerItemProxy; 92 | containerPortal = D59246451C117A54007F94C7 /* Project object */; 93 | proxyType = 1; 94 | remoteGlobalIDString = 806E69911C42BD9C00DE3A8B; 95 | remoteInfo = "Rswift-tvOS"; 96 | }; 97 | D592465A1C117A55007F94C7 /* PBXContainerItemProxy */ = { 98 | isa = PBXContainerItemProxy; 99 | containerPortal = D59246451C117A54007F94C7 /* Project object */; 100 | proxyType = 1; 101 | remoteGlobalIDString = D592464D1C117A55007F94C7; 102 | remoteInfo = Rswift; 103 | }; 104 | /* End PBXContainerItemProxy section */ 105 | 106 | /* Begin PBXFileReference section */ 107 | 2F5FBC4021355A1400A83A69 /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 108 | 806E69921C42BD9C00DE3A8B /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 109 | 806E699B1C42BD9C00DE3A8B /* RswiftTests-tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RswiftTests-tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 110 | D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardViewControllerResource.swift; sourceTree = ""; }; 111 | D51335281C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStoryboard+StoryboardViewControllerResource.swift"; sourceTree = ""; }; 112 | D53F19231C229D7200AE2FAD /* Validatable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Validatable.swift; sourceTree = ""; }; 113 | D543F9BA1C1497EB00D16A0C /* Identifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Identifier.swift; sourceTree = ""; }; 114 | D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReuseIdentifierProtocol.swift; sourceTree = ""; }; 115 | D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardSegueIdentifierProtocol.swift; sourceTree = ""; }; 116 | D543F9C01C14984300D16A0C /* NibResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NibResource.swift; sourceTree = ""; }; 117 | D543F9C31C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITableView+ReuseIdentifierProtocol.swift"; sourceTree = ""; }; 118 | D543F9C51C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+ReuseIdentifierProtocol.swift"; sourceTree = ""; }; 119 | D543F9C71C14995800D16A0C /* UIViewController+NibResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+NibResource.swift"; sourceTree = ""; }; 120 | D543F9C91C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+StoryboardSegueIdentifierProtocol.swift"; sourceTree = ""; }; 121 | D543F9CE1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TypedStoryboardSegueInfo+UIStoryboardSegue.swift"; sourceTree = ""; }; 122 | D553F5841C44157000885232 /* ImageResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageResource.swift; sourceTree = ""; }; 123 | D553F5861C44170E00885232 /* UIImage+ImageResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+ImageResource.swift"; sourceTree = ""; }; 124 | D5588CAA1C3F9DBE00912F97 /* UINib+NibResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINib+NibResource.swift"; sourceTree = ""; }; 125 | D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+FileResource.swift"; sourceTree = ""; }; 126 | D57E1EB21C3D762300DDA68F /* FontResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontResource.swift; sourceTree = ""; }; 127 | D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+FontResource.swift"; sourceTree = ""; }; 128 | D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StoryboardResource.swift; sourceTree = ""; }; 129 | D57E1EB81C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "StoryboardResourceWithInitialController+UIKit.swift"; sourceTree = ""; }; 130 | D57E1EBA1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIStoryboard+StoryboardResource.swift"; sourceTree = ""; }; 131 | D592464E1C117A55007F94C7 /* Rswift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rswift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 132 | D59246511C117A55007F94C7 /* Rswift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Rswift.h; sourceTree = ""; }; 133 | D59246531C117A55007F94C7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 134 | D59246581C117A55007F94C7 /* RswiftTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RswiftTests-iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 135 | D592465D1C117A55007F94C7 /* RswiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RswiftTests.swift; sourceTree = ""; }; 136 | D592465F1C117A55007F94C7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 137 | D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NibResource+UIKit.swift"; sourceTree = ""; }; 138 | D5E435AC1C3D00770091090C /* FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileResource.swift; sourceTree = ""; }; 139 | E20F34A61C92B44100338F81 /* Data+FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+FileResource.swift"; sourceTree = ""; }; 140 | E22D43661C95EEA100692FFF /* ColorResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorResource.swift; sourceTree = ""; }; 141 | E250BE961CCBF60300CC71DE /* StringResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringResource.swift; sourceTree = ""; }; 142 | E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+ColorResource.swift"; sourceTree = ""; }; 143 | /* End PBXFileReference section */ 144 | 145 | /* Begin PBXFrameworksBuildPhase section */ 146 | 2F5FBC3D21355A1400A83A69 /* Frameworks */ = { 147 | isa = PBXFrameworksBuildPhase; 148 | buildActionMask = 2147483647; 149 | files = ( 150 | ); 151 | runOnlyForDeploymentPostprocessing = 0; 152 | }; 153 | 806E698E1C42BD9C00DE3A8B /* Frameworks */ = { 154 | isa = PBXFrameworksBuildPhase; 155 | buildActionMask = 2147483647; 156 | files = ( 157 | ); 158 | runOnlyForDeploymentPostprocessing = 0; 159 | }; 160 | 806E69981C42BD9C00DE3A8B /* Frameworks */ = { 161 | isa = PBXFrameworksBuildPhase; 162 | buildActionMask = 2147483647; 163 | files = ( 164 | 806E699C1C42BD9C00DE3A8B /* Rswift.framework in Frameworks */, 165 | ); 166 | runOnlyForDeploymentPostprocessing = 0; 167 | }; 168 | D592464A1C117A55007F94C7 /* Frameworks */ = { 169 | isa = PBXFrameworksBuildPhase; 170 | buildActionMask = 2147483647; 171 | files = ( 172 | ); 173 | runOnlyForDeploymentPostprocessing = 0; 174 | }; 175 | D59246551C117A55007F94C7 /* Frameworks */ = { 176 | isa = PBXFrameworksBuildPhase; 177 | buildActionMask = 2147483647; 178 | files = ( 179 | D59246591C117A55007F94C7 /* Rswift.framework in Frameworks */, 180 | ); 181 | runOnlyForDeploymentPostprocessing = 0; 182 | }; 183 | /* End PBXFrameworksBuildPhase section */ 184 | 185 | /* Begin PBXGroup section */ 186 | D543F9C21C14987000D16A0C /* UIKit */ = { 187 | isa = PBXGroup; 188 | children = ( 189 | D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */, 190 | D57E1EB81C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift */, 191 | D543F9CE1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift */, 192 | D543F9C51C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift */, 193 | E2CA68EE1EE75992009C4DB4 /* UIColor+ColorResource.swift */, 194 | D57E1EB41C3D774000DDA68F /* UIFont+FontResource.swift */, 195 | D553F5861C44170E00885232 /* UIImage+ImageResource.swift */, 196 | D5588CAA1C3F9DBE00912F97 /* UINib+NibResource.swift */, 197 | D57E1EBA1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift */, 198 | D51335281C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift */, 199 | D543F9C31C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift */, 200 | D543F9C71C14995800D16A0C /* UIViewController+NibResource.swift */, 201 | D543F9C91C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift */, 202 | ); 203 | path = UIKit; 204 | sourceTree = ""; 205 | }; 206 | D543F9CD1C1499CF00D16A0C /* Core */ = { 207 | isa = PBXGroup; 208 | children = ( 209 | E22D43661C95EEA100692FFF /* ColorResource.swift */, 210 | D5E435AC1C3D00770091090C /* FileResource.swift */, 211 | D57E1EB21C3D762300DDA68F /* FontResource.swift */, 212 | D543F9BA1C1497EB00D16A0C /* Identifier.swift */, 213 | D553F5841C44157000885232 /* ImageResource.swift */, 214 | D543F9C01C14984300D16A0C /* NibResource.swift */, 215 | D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */, 216 | D57E1EB61C3E482A00DDA68F /* StoryboardResource.swift */, 217 | D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */, 218 | D51335261C959DF20014C9D4 /* StoryboardViewControllerResource.swift */, 219 | E250BE961CCBF60300CC71DE /* StringResource.swift */, 220 | D53F19231C229D7200AE2FAD /* Validatable.swift */, 221 | ); 222 | path = Core; 223 | sourceTree = ""; 224 | }; 225 | D56DC7711C42B62E00623437 /* Foundation */ = { 226 | isa = PBXGroup; 227 | children = ( 228 | D56DC7721C42B65C00623437 /* Bundle+FileResource.swift */, 229 | E20F34A61C92B44100338F81 /* Data+FileResource.swift */, 230 | ); 231 | path = Foundation; 232 | sourceTree = ""; 233 | }; 234 | D59246441C117A54007F94C7 = { 235 | isa = PBXGroup; 236 | children = ( 237 | D59246501C117A55007F94C7 /* Library */, 238 | D592465C1C117A55007F94C7 /* LibraryTests */, 239 | D592464F1C117A55007F94C7 /* Products */, 240 | ); 241 | indentWidth = 2; 242 | sourceTree = ""; 243 | tabWidth = 2; 244 | usesTabs = 0; 245 | }; 246 | D592464F1C117A55007F94C7 /* Products */ = { 247 | isa = PBXGroup; 248 | children = ( 249 | D592464E1C117A55007F94C7 /* Rswift.framework */, 250 | D59246581C117A55007F94C7 /* RswiftTests-iOS.xctest */, 251 | 806E69921C42BD9C00DE3A8B /* Rswift.framework */, 252 | 806E699B1C42BD9C00DE3A8B /* RswiftTests-tvOS.xctest */, 253 | 2F5FBC4021355A1400A83A69 /* Rswift.framework */, 254 | ); 255 | name = Products; 256 | sourceTree = ""; 257 | }; 258 | D59246501C117A55007F94C7 /* Library */ = { 259 | isa = PBXGroup; 260 | children = ( 261 | D543F9CD1C1499CF00D16A0C /* Core */, 262 | D56DC7711C42B62E00623437 /* Foundation */, 263 | D543F9C21C14987000D16A0C /* UIKit */, 264 | D59246511C117A55007F94C7 /* Rswift.h */, 265 | D59246531C117A55007F94C7 /* Info.plist */, 266 | ); 267 | path = Library; 268 | sourceTree = ""; 269 | }; 270 | D592465C1C117A55007F94C7 /* LibraryTests */ = { 271 | isa = PBXGroup; 272 | children = ( 273 | D592465D1C117A55007F94C7 /* RswiftTests.swift */, 274 | D592465F1C117A55007F94C7 /* Info.plist */, 275 | ); 276 | path = LibraryTests; 277 | sourceTree = ""; 278 | }; 279 | /* End PBXGroup section */ 280 | 281 | /* Begin PBXHeadersBuildPhase section */ 282 | 2F5FBC3B21355A1400A83A69 /* Headers */ = { 283 | isa = PBXHeadersBuildPhase; 284 | buildActionMask = 2147483647; 285 | files = ( 286 | ); 287 | runOnlyForDeploymentPostprocessing = 0; 288 | }; 289 | 806E698F1C42BD9C00DE3A8B /* Headers */ = { 290 | isa = PBXHeadersBuildPhase; 291 | buildActionMask = 2147483647; 292 | files = ( 293 | D5728B341C4D542300E38168 /* Rswift.h in Headers */, 294 | ); 295 | runOnlyForDeploymentPostprocessing = 0; 296 | }; 297 | D592464B1C117A55007F94C7 /* Headers */ = { 298 | isa = PBXHeadersBuildPhase; 299 | buildActionMask = 2147483647; 300 | files = ( 301 | D59246521C117A55007F94C7 /* Rswift.h in Headers */, 302 | ); 303 | runOnlyForDeploymentPostprocessing = 0; 304 | }; 305 | /* End PBXHeadersBuildPhase section */ 306 | 307 | /* Begin PBXNativeTarget section */ 308 | 2F5FBC3F21355A1400A83A69 /* Rswift-watchOS */ = { 309 | isa = PBXNativeTarget; 310 | buildConfigurationList = 2F5FBC4721355A1400A83A69 /* Build configuration list for PBXNativeTarget "Rswift-watchOS" */; 311 | buildPhases = ( 312 | 2F5FBC3B21355A1400A83A69 /* Headers */, 313 | 2F5FBC3C21355A1400A83A69 /* Sources */, 314 | 2F5FBC3D21355A1400A83A69 /* Frameworks */, 315 | 2F5FBC3E21355A1400A83A69 /* Resources */, 316 | ); 317 | buildRules = ( 318 | ); 319 | dependencies = ( 320 | ); 321 | name = "Rswift-watchOS"; 322 | productName = "Rswift-watchOS"; 323 | productReference = 2F5FBC4021355A1400A83A69 /* Rswift.framework */; 324 | productType = "com.apple.product-type.framework"; 325 | }; 326 | 806E69911C42BD9C00DE3A8B /* Rswift-tvOS */ = { 327 | isa = PBXNativeTarget; 328 | buildConfigurationList = 806E69A31C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "Rswift-tvOS" */; 329 | buildPhases = ( 330 | 806E698D1C42BD9C00DE3A8B /* Sources */, 331 | 806E698E1C42BD9C00DE3A8B /* Frameworks */, 332 | 806E698F1C42BD9C00DE3A8B /* Headers */, 333 | 806E69901C42BD9C00DE3A8B /* Resources */, 334 | ); 335 | buildRules = ( 336 | ); 337 | dependencies = ( 338 | ); 339 | name = "Rswift-tvOS"; 340 | productName = "Rswift-tvOS"; 341 | productReference = 806E69921C42BD9C00DE3A8B /* Rswift.framework */; 342 | productType = "com.apple.product-type.framework"; 343 | }; 344 | 806E699A1C42BD9C00DE3A8B /* RswiftTests-tvOS */ = { 345 | isa = PBXNativeTarget; 346 | buildConfigurationList = 806E69A61C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "RswiftTests-tvOS" */; 347 | buildPhases = ( 348 | 806E69971C42BD9C00DE3A8B /* Sources */, 349 | 806E69981C42BD9C00DE3A8B /* Frameworks */, 350 | 806E69991C42BD9C00DE3A8B /* Resources */, 351 | ); 352 | buildRules = ( 353 | ); 354 | dependencies = ( 355 | 806E699E1C42BD9C00DE3A8B /* PBXTargetDependency */, 356 | ); 357 | name = "RswiftTests-tvOS"; 358 | productName = "Rswift-tvOSTests"; 359 | productReference = 806E699B1C42BD9C00DE3A8B /* RswiftTests-tvOS.xctest */; 360 | productType = "com.apple.product-type.bundle.unit-test"; 361 | }; 362 | D592464D1C117A55007F94C7 /* Rswift-iOS */ = { 363 | isa = PBXNativeTarget; 364 | buildConfigurationList = D59246621C117A55007F94C7 /* Build configuration list for PBXNativeTarget "Rswift-iOS" */; 365 | buildPhases = ( 366 | D59246491C117A55007F94C7 /* Sources */, 367 | D592464A1C117A55007F94C7 /* Frameworks */, 368 | D592464B1C117A55007F94C7 /* Headers */, 369 | D592464C1C117A55007F94C7 /* Resources */, 370 | ); 371 | buildRules = ( 372 | ); 373 | dependencies = ( 374 | ); 375 | name = "Rswift-iOS"; 376 | productName = Rswift; 377 | productReference = D592464E1C117A55007F94C7 /* Rswift.framework */; 378 | productType = "com.apple.product-type.framework"; 379 | }; 380 | D59246571C117A55007F94C7 /* RswiftTests-iOS */ = { 381 | isa = PBXNativeTarget; 382 | buildConfigurationList = D59246651C117A55007F94C7 /* Build configuration list for PBXNativeTarget "RswiftTests-iOS" */; 383 | buildPhases = ( 384 | D59246541C117A55007F94C7 /* Sources */, 385 | D59246551C117A55007F94C7 /* Frameworks */, 386 | D59246561C117A55007F94C7 /* Resources */, 387 | ); 388 | buildRules = ( 389 | ); 390 | dependencies = ( 391 | D592465B1C117A55007F94C7 /* PBXTargetDependency */, 392 | ); 393 | name = "RswiftTests-iOS"; 394 | productName = RswiftTests; 395 | productReference = D59246581C117A55007F94C7 /* RswiftTests-iOS.xctest */; 396 | productType = "com.apple.product-type.bundle.unit-test"; 397 | }; 398 | /* End PBXNativeTarget section */ 399 | 400 | /* Begin PBXProject section */ 401 | D59246451C117A54007F94C7 /* Project object */ = { 402 | isa = PBXProject; 403 | attributes = { 404 | LastSwiftUpdateCheck = 0720; 405 | LastUpgradeCheck = 1100; 406 | ORGANIZATIONNAME = "Mathijs Kadijk"; 407 | TargetAttributes = { 408 | 2F5FBC3F21355A1400A83A69 = { 409 | CreatedOnToolsVersion = 10.0; 410 | LastSwiftMigration = 1100; 411 | ProvisioningStyle = Automatic; 412 | }; 413 | 806E69911C42BD9C00DE3A8B = { 414 | CreatedOnToolsVersion = 7.2; 415 | LastSwiftMigration = 1020; 416 | }; 417 | 806E699A1C42BD9C00DE3A8B = { 418 | CreatedOnToolsVersion = 7.2; 419 | LastSwiftMigration = 1020; 420 | }; 421 | D592464D1C117A55007F94C7 = { 422 | CreatedOnToolsVersion = 7.1.1; 423 | LastSwiftMigration = 1020; 424 | }; 425 | D59246571C117A55007F94C7 = { 426 | CreatedOnToolsVersion = 7.1.1; 427 | LastSwiftMigration = 1020; 428 | }; 429 | }; 430 | }; 431 | buildConfigurationList = D59246481C117A54007F94C7 /* Build configuration list for PBXProject "R.swift.Library" */; 432 | compatibilityVersion = "Xcode 3.2"; 433 | developmentRegion = English; 434 | hasScannedForEncodings = 0; 435 | knownRegions = ( 436 | English, 437 | en, 438 | ); 439 | mainGroup = D59246441C117A54007F94C7; 440 | productRefGroup = D592464F1C117A55007F94C7 /* Products */; 441 | projectDirPath = ""; 442 | projectRoot = ""; 443 | targets = ( 444 | D592464D1C117A55007F94C7 /* Rswift-iOS */, 445 | D59246571C117A55007F94C7 /* RswiftTests-iOS */, 446 | 806E69911C42BD9C00DE3A8B /* Rswift-tvOS */, 447 | 806E699A1C42BD9C00DE3A8B /* RswiftTests-tvOS */, 448 | 2F5FBC3F21355A1400A83A69 /* Rswift-watchOS */, 449 | ); 450 | }; 451 | /* End PBXProject section */ 452 | 453 | /* Begin PBXResourcesBuildPhase section */ 454 | 2F5FBC3E21355A1400A83A69 /* Resources */ = { 455 | isa = PBXResourcesBuildPhase; 456 | buildActionMask = 2147483647; 457 | files = ( 458 | ); 459 | runOnlyForDeploymentPostprocessing = 0; 460 | }; 461 | 806E69901C42BD9C00DE3A8B /* Resources */ = { 462 | isa = PBXResourcesBuildPhase; 463 | buildActionMask = 2147483647; 464 | files = ( 465 | ); 466 | runOnlyForDeploymentPostprocessing = 0; 467 | }; 468 | 806E69991C42BD9C00DE3A8B /* Resources */ = { 469 | isa = PBXResourcesBuildPhase; 470 | buildActionMask = 2147483647; 471 | files = ( 472 | ); 473 | runOnlyForDeploymentPostprocessing = 0; 474 | }; 475 | D592464C1C117A55007F94C7 /* Resources */ = { 476 | isa = PBXResourcesBuildPhase; 477 | buildActionMask = 2147483647; 478 | files = ( 479 | ); 480 | runOnlyForDeploymentPostprocessing = 0; 481 | }; 482 | D59246561C117A55007F94C7 /* Resources */ = { 483 | isa = PBXResourcesBuildPhase; 484 | buildActionMask = 2147483647; 485 | files = ( 486 | ); 487 | runOnlyForDeploymentPostprocessing = 0; 488 | }; 489 | /* End PBXResourcesBuildPhase section */ 490 | 491 | /* Begin PBXSourcesBuildPhase section */ 492 | 2F5FBC3C21355A1400A83A69 /* Sources */ = { 493 | isa = PBXSourcesBuildPhase; 494 | buildActionMask = 2147483647; 495 | files = ( 496 | 2F5FBC4F21355ADF00A83A69 /* ImageResource.swift in Sources */, 497 | 2F5FBC5421355ADF00A83A69 /* StoryboardViewControllerResource.swift in Sources */, 498 | 2F5FBC4D21355ADF00A83A69 /* FontResource.swift in Sources */, 499 | 2F5FBC5A21355B0200A83A69 /* UIImage+ImageResource.swift in Sources */, 500 | 2F5FBC5921355B0200A83A69 /* UIFont+FontResource.swift in Sources */, 501 | 2F5FBC4821355AC400A83A69 /* ColorResource.swift in Sources */, 502 | 2F5FBC4C21355ADF00A83A69 /* FileResource.swift in Sources */, 503 | 2F5FBC5221355ADF00A83A69 /* StoryboardResource.swift in Sources */, 504 | 2F5FBC5521355ADF00A83A69 /* StringResource.swift in Sources */, 505 | 2F5FBC4B21355ADB00A83A69 /* Data+FileResource.swift in Sources */, 506 | 2F5FBC5021355ADF00A83A69 /* NibResource.swift in Sources */, 507 | 2F5FBC5321355ADF00A83A69 /* StoryboardSegueIdentifierProtocol.swift in Sources */, 508 | 2F5FBC4E21355ADF00A83A69 /* Identifier.swift in Sources */, 509 | 2F5FBC4A21355ADB00A83A69 /* Bundle+FileResource.swift in Sources */, 510 | 2F5FBC5821355B0200A83A69 /* UIColor+ColorResource.swift in Sources */, 511 | 2F5FBC5121355ADF00A83A69 /* ReuseIdentifierProtocol.swift in Sources */, 512 | 2F5FBC5621355ADF00A83A69 /* Validatable.swift in Sources */, 513 | ); 514 | runOnlyForDeploymentPostprocessing = 0; 515 | }; 516 | 806E698D1C42BD9C00DE3A8B /* Sources */ = { 517 | isa = PBXSourcesBuildPhase; 518 | buildActionMask = 2147483647; 519 | files = ( 520 | D5728B311C4D541200E38168 /* ImageResource.swift in Sources */, 521 | D513352B1C95B7620014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift in Sources */, 522 | D513352C1C95C61E0014C9D4 /* Data+FileResource.swift in Sources */, 523 | 806E69AD1C42BDDA00DE3A8B /* ReuseIdentifierProtocol.swift in Sources */, 524 | E2CA68F21EE75A49009C4DB4 /* UIColor+ColorResource.swift in Sources */, 525 | 806E69B61C42BDE000DE3A8B /* UINib+NibResource.swift in Sources */, 526 | 806E69AA1C42BDDA00DE3A8B /* FontResource.swift in Sources */, 527 | 806E69B41C42BDE000DE3A8B /* UICollectionView+ReuseIdentifierProtocol.swift in Sources */, 528 | 806E69B11C42BDE000DE3A8B /* NibResource+UIKit.swift in Sources */, 529 | 806E69B71C42BDE000DE3A8B /* UIStoryboard+StoryboardResource.swift in Sources */, 530 | 806E69AC1C42BDDA00DE3A8B /* NibResource.swift in Sources */, 531 | 806E69BA1C42BDE000DE3A8B /* UIViewController+NibResource.swift in Sources */, 532 | 806E69B51C42BDE000DE3A8B /* UIFont+FontResource.swift in Sources */, 533 | 806E69BB1C42BDE000DE3A8B /* UIViewController+StoryboardSegueIdentifierProtocol.swift in Sources */, 534 | 806E69B21C42BDE000DE3A8B /* StoryboardResourceWithInitialController+UIKit.swift in Sources */, 535 | D5728B331C4D541D00E38168 /* UIImage+ImageResource.swift in Sources */, 536 | E24720CA1C96B4D100DF291D /* ColorResource.swift in Sources */, 537 | D513352A1C95B7510014C9D4 /* StoryboardViewControllerResource.swift in Sources */, 538 | 806E69AF1C42BDDA00DE3A8B /* StoryboardSegueIdentifierProtocol.swift in Sources */, 539 | 806E69AB1C42BDDA00DE3A8B /* Identifier.swift in Sources */, 540 | 806E69B01C42BDDA00DE3A8B /* Validatable.swift in Sources */, 541 | 806E69B31C42BDE000DE3A8B /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */, 542 | E250BE991CCBF7E900CC71DE /* StringResource.swift in Sources */, 543 | D5728B321C4D541500E38168 /* Bundle+FileResource.swift in Sources */, 544 | 806E69B91C42BDE000DE3A8B /* UITableView+ReuseIdentifierProtocol.swift in Sources */, 545 | 806E69AE1C42BDDA00DE3A8B /* StoryboardResource.swift in Sources */, 546 | 806E69A91C42BDDA00DE3A8B /* FileResource.swift in Sources */, 547 | ); 548 | runOnlyForDeploymentPostprocessing = 0; 549 | }; 550 | 806E69971C42BD9C00DE3A8B /* Sources */ = { 551 | isa = PBXSourcesBuildPhase; 552 | buildActionMask = 2147483647; 553 | files = ( 554 | 806E69BC1C42BDE300DE3A8B /* RswiftTests.swift in Sources */, 555 | ); 556 | runOnlyForDeploymentPostprocessing = 0; 557 | }; 558 | D59246491C117A55007F94C7 /* Sources */ = { 559 | isa = PBXSourcesBuildPhase; 560 | buildActionMask = 2147483647; 561 | files = ( 562 | D543F9CA1C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift in Sources */, 563 | D51335291C95A79B0014C9D4 /* UIStoryboard+StoryboardViewControllerResource.swift in Sources */, 564 | D5E435AD1C3D00770091090C /* FileResource.swift in Sources */, 565 | D543F9BB1C1497EB00D16A0C /* Identifier.swift in Sources */, 566 | D57E1EB71C3E482A00DDA68F /* StoryboardResource.swift in Sources */, 567 | D57E1EBB1C3E4C4300DDA68F /* UIStoryboard+StoryboardResource.swift in Sources */, 568 | D57E1EB31C3D762300DDA68F /* FontResource.swift in Sources */, 569 | D57E1EB91C3E4C1A00DDA68F /* StoryboardResourceWithInitialController+UIKit.swift in Sources */, 570 | D543F9BD1C14980600D16A0C /* ReuseIdentifierProtocol.swift in Sources */, 571 | D543F9C11C14984300D16A0C /* NibResource.swift in Sources */, 572 | E2CA68EF1EE75992009C4DB4 /* UIColor+ColorResource.swift in Sources */, 573 | D553F5851C44157000885232 /* ImageResource.swift in Sources */, 574 | E20F34A71C92B44100338F81 /* Data+FileResource.swift in Sources */, 575 | D57E1EB51C3D774000DDA68F /* UIFont+FontResource.swift in Sources */, 576 | D5588CAB1C3F9DBE00912F97 /* UINib+NibResource.swift in Sources */, 577 | D553F5871C44170E00885232 /* UIImage+ImageResource.swift in Sources */, 578 | E22D43671C95EEA100692FFF /* ColorResource.swift in Sources */, 579 | D51335271C959DF20014C9D4 /* StoryboardViewControllerResource.swift in Sources */, 580 | D543F9C61C14992000D16A0C /* UICollectionView+ReuseIdentifierProtocol.swift in Sources */, 581 | D543F9BF1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift in Sources */, 582 | D543F9C81C14995800D16A0C /* UIViewController+NibResource.swift in Sources */, 583 | D5E435A91C3CFB460091090C /* NibResource+UIKit.swift in Sources */, 584 | E250BE971CCBF60300CC71DE /* StringResource.swift in Sources */, 585 | D543F9CF1C149C0A00D16A0C /* TypedStoryboardSegueInfo+UIStoryboardSegue.swift in Sources */, 586 | D543F9C41C1498FB00D16A0C /* UITableView+ReuseIdentifierProtocol.swift in Sources */, 587 | D56DC7731C42B65C00623437 /* Bundle+FileResource.swift in Sources */, 588 | D53F19241C229D7200AE2FAD /* Validatable.swift in Sources */, 589 | ); 590 | runOnlyForDeploymentPostprocessing = 0; 591 | }; 592 | D59246541C117A55007F94C7 /* Sources */ = { 593 | isa = PBXSourcesBuildPhase; 594 | buildActionMask = 2147483647; 595 | files = ( 596 | D592465E1C117A55007F94C7 /* RswiftTests.swift in Sources */, 597 | ); 598 | runOnlyForDeploymentPostprocessing = 0; 599 | }; 600 | /* End PBXSourcesBuildPhase section */ 601 | 602 | /* Begin PBXTargetDependency section */ 603 | 806E699E1C42BD9C00DE3A8B /* PBXTargetDependency */ = { 604 | isa = PBXTargetDependency; 605 | target = 806E69911C42BD9C00DE3A8B /* Rswift-tvOS */; 606 | targetProxy = 806E699D1C42BD9C00DE3A8B /* PBXContainerItemProxy */; 607 | }; 608 | D592465B1C117A55007F94C7 /* PBXTargetDependency */ = { 609 | isa = PBXTargetDependency; 610 | target = D592464D1C117A55007F94C7 /* Rswift-iOS */; 611 | targetProxy = D592465A1C117A55007F94C7 /* PBXContainerItemProxy */; 612 | }; 613 | /* End PBXTargetDependency section */ 614 | 615 | /* Begin XCBuildConfiguration section */ 616 | 2F5FBC4521355A1400A83A69 /* Debug */ = { 617 | isa = XCBuildConfiguration; 618 | buildSettings = { 619 | APPLICATION_EXTENSION_API_ONLY = YES; 620 | CLANG_ANALYZER_NONNULL = YES; 621 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 622 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 623 | CLANG_ENABLE_OBJC_WEAK = YES; 624 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 625 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 626 | CODE_SIGN_IDENTITY = ""; 627 | CODE_SIGN_STYLE = Automatic; 628 | DEFINES_MODULE = YES; 629 | DYLIB_COMPATIBILITY_VERSION = 1; 630 | DYLIB_CURRENT_VERSION = 1; 631 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 632 | GCC_C_LANGUAGE_STANDARD = gnu11; 633 | INFOPLIST_FILE = Library/Info.plist; 634 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 635 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 636 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 637 | MTL_FAST_MATH = YES; 638 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 639 | PRODUCT_NAME = Rswift; 640 | SDKROOT = watchos; 641 | SKIP_INSTALL = YES; 642 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 643 | SWIFT_VERSION = 5.0; 644 | TARGETED_DEVICE_FAMILY = 4; 645 | WATCHOS_DEPLOYMENT_TARGET = 2.2; 646 | }; 647 | name = Debug; 648 | }; 649 | 2F5FBC4621355A1400A83A69 /* Release */ = { 650 | isa = XCBuildConfiguration; 651 | buildSettings = { 652 | APPLICATION_EXTENSION_API_ONLY = YES; 653 | CLANG_ANALYZER_NONNULL = YES; 654 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 655 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 656 | CLANG_ENABLE_OBJC_WEAK = YES; 657 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 658 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 659 | CODE_SIGN_IDENTITY = ""; 660 | CODE_SIGN_STYLE = Automatic; 661 | DEFINES_MODULE = YES; 662 | DYLIB_COMPATIBILITY_VERSION = 1; 663 | DYLIB_CURRENT_VERSION = 1; 664 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 665 | GCC_C_LANGUAGE_STANDARD = gnu11; 666 | INFOPLIST_FILE = Library/Info.plist; 667 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 668 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 669 | MTL_FAST_MATH = YES; 670 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 671 | PRODUCT_NAME = Rswift; 672 | SDKROOT = watchos; 673 | SKIP_INSTALL = YES; 674 | SWIFT_VERSION = 5.0; 675 | TARGETED_DEVICE_FAMILY = 4; 676 | WATCHOS_DEPLOYMENT_TARGET = 2.2; 677 | }; 678 | name = Release; 679 | }; 680 | 806E69A41C42BD9C00DE3A8B /* Debug */ = { 681 | isa = XCBuildConfiguration; 682 | buildSettings = { 683 | APPLICATION_EXTENSION_API_ONLY = YES; 684 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 685 | DEFINES_MODULE = YES; 686 | DYLIB_COMPATIBILITY_VERSION = 1; 687 | DYLIB_CURRENT_VERSION = 1; 688 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 689 | INFOPLIST_FILE = Library/Info.plist; 690 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 691 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 692 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 693 | PRODUCT_NAME = Rswift; 694 | SDKROOT = appletvos; 695 | SKIP_INSTALL = YES; 696 | SWIFT_VERSION = 5.0; 697 | TARGETED_DEVICE_FAMILY = 3; 698 | TVOS_DEPLOYMENT_TARGET = 9.0; 699 | }; 700 | name = Debug; 701 | }; 702 | 806E69A51C42BD9C00DE3A8B /* Release */ = { 703 | isa = XCBuildConfiguration; 704 | buildSettings = { 705 | APPLICATION_EXTENSION_API_ONLY = YES; 706 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 707 | DEFINES_MODULE = YES; 708 | DYLIB_COMPATIBILITY_VERSION = 1; 709 | DYLIB_CURRENT_VERSION = 1; 710 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 711 | INFOPLIST_FILE = Library/Info.plist; 712 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 713 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 714 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 715 | PRODUCT_NAME = Rswift; 716 | SDKROOT = appletvos; 717 | SKIP_INSTALL = YES; 718 | SWIFT_VERSION = 5.0; 719 | TARGETED_DEVICE_FAMILY = 3; 720 | TVOS_DEPLOYMENT_TARGET = 9.0; 721 | }; 722 | name = Release; 723 | }; 724 | 806E69A71C42BD9C00DE3A8B /* Debug */ = { 725 | isa = XCBuildConfiguration; 726 | buildSettings = { 727 | INFOPLIST_FILE = LibraryTests/Info.plist; 728 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 729 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.RswiftTests; 730 | PRODUCT_NAME = "$(TARGET_NAME)"; 731 | SDKROOT = appletvos; 732 | SWIFT_VERSION = 5.0; 733 | TVOS_DEPLOYMENT_TARGET = 9.1; 734 | }; 735 | name = Debug; 736 | }; 737 | 806E69A81C42BD9C00DE3A8B /* Release */ = { 738 | isa = XCBuildConfiguration; 739 | buildSettings = { 740 | INFOPLIST_FILE = LibraryTests/Info.plist; 741 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 742 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.RswiftTests; 743 | PRODUCT_NAME = "$(TARGET_NAME)"; 744 | SDKROOT = appletvos; 745 | SWIFT_VERSION = 5.0; 746 | TVOS_DEPLOYMENT_TARGET = 9.1; 747 | }; 748 | name = Release; 749 | }; 750 | D59246601C117A55007F94C7 /* Debug */ = { 751 | isa = XCBuildConfiguration; 752 | buildSettings = { 753 | ALWAYS_SEARCH_USER_PATHS = NO; 754 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 755 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 756 | CLANG_CXX_LIBRARY = "libc++"; 757 | CLANG_ENABLE_MODULES = YES; 758 | CLANG_ENABLE_OBJC_ARC = YES; 759 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 760 | CLANG_WARN_BOOL_CONVERSION = YES; 761 | CLANG_WARN_COMMA = YES; 762 | CLANG_WARN_CONSTANT_CONVERSION = YES; 763 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 764 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 765 | CLANG_WARN_EMPTY_BODY = YES; 766 | CLANG_WARN_ENUM_CONVERSION = YES; 767 | CLANG_WARN_INFINITE_RECURSION = YES; 768 | CLANG_WARN_INT_CONVERSION = YES; 769 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 770 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 771 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 772 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 773 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 774 | CLANG_WARN_STRICT_PROTOTYPES = YES; 775 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 776 | CLANG_WARN_UNREACHABLE_CODE = YES; 777 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 778 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 779 | COPY_PHASE_STRIP = NO; 780 | CURRENT_PROJECT_VERSION = 1; 781 | DEBUG_INFORMATION_FORMAT = dwarf; 782 | ENABLE_STRICT_OBJC_MSGSEND = YES; 783 | ENABLE_TESTABILITY = YES; 784 | GCC_C_LANGUAGE_STANDARD = gnu99; 785 | GCC_DYNAMIC_NO_PIC = NO; 786 | GCC_NO_COMMON_BLOCKS = YES; 787 | GCC_OPTIMIZATION_LEVEL = 0; 788 | GCC_PREPROCESSOR_DEFINITIONS = ( 789 | "DEBUG=1", 790 | "$(inherited)", 791 | ); 792 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 793 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 794 | GCC_WARN_UNDECLARED_SELECTOR = YES; 795 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 796 | GCC_WARN_UNUSED_FUNCTION = YES; 797 | GCC_WARN_UNUSED_VARIABLE = YES; 798 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 799 | MTL_ENABLE_DEBUG_INFO = YES; 800 | ONLY_ACTIVE_ARCH = YES; 801 | SDKROOT = iphoneos; 802 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 803 | TARGETED_DEVICE_FAMILY = "1,2"; 804 | VERSIONING_SYSTEM = "apple-generic"; 805 | VERSION_INFO_PREFIX = ""; 806 | }; 807 | name = Debug; 808 | }; 809 | D59246611C117A55007F94C7 /* Release */ = { 810 | isa = XCBuildConfiguration; 811 | buildSettings = { 812 | ALWAYS_SEARCH_USER_PATHS = NO; 813 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 814 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 815 | CLANG_CXX_LIBRARY = "libc++"; 816 | CLANG_ENABLE_MODULES = YES; 817 | CLANG_ENABLE_OBJC_ARC = YES; 818 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 819 | CLANG_WARN_BOOL_CONVERSION = YES; 820 | CLANG_WARN_COMMA = YES; 821 | CLANG_WARN_CONSTANT_CONVERSION = YES; 822 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 823 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 824 | CLANG_WARN_EMPTY_BODY = YES; 825 | CLANG_WARN_ENUM_CONVERSION = YES; 826 | CLANG_WARN_INFINITE_RECURSION = YES; 827 | CLANG_WARN_INT_CONVERSION = YES; 828 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 829 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 830 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 831 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 832 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 833 | CLANG_WARN_STRICT_PROTOTYPES = YES; 834 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 835 | CLANG_WARN_UNREACHABLE_CODE = YES; 836 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 837 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 838 | COPY_PHASE_STRIP = NO; 839 | CURRENT_PROJECT_VERSION = 1; 840 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 841 | ENABLE_NS_ASSERTIONS = NO; 842 | ENABLE_STRICT_OBJC_MSGSEND = YES; 843 | GCC_C_LANGUAGE_STANDARD = gnu99; 844 | GCC_NO_COMMON_BLOCKS = YES; 845 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 846 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 847 | GCC_WARN_UNDECLARED_SELECTOR = YES; 848 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 849 | GCC_WARN_UNUSED_FUNCTION = YES; 850 | GCC_WARN_UNUSED_VARIABLE = YES; 851 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 852 | MTL_ENABLE_DEBUG_INFO = NO; 853 | SDKROOT = iphoneos; 854 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 855 | TARGETED_DEVICE_FAMILY = "1,2"; 856 | VALIDATE_PRODUCT = YES; 857 | VERSIONING_SYSTEM = "apple-generic"; 858 | VERSION_INFO_PREFIX = ""; 859 | }; 860 | name = Release; 861 | }; 862 | D59246631C117A55007F94C7 /* Debug */ = { 863 | isa = XCBuildConfiguration; 864 | buildSettings = { 865 | APPLICATION_EXTENSION_API_ONLY = YES; 866 | CLANG_ENABLE_MODULES = YES; 867 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 868 | DEFINES_MODULE = YES; 869 | DYLIB_COMPATIBILITY_VERSION = 1; 870 | DYLIB_CURRENT_VERSION = 1; 871 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 872 | INFOPLIST_FILE = Library/Info.plist; 873 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 874 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 875 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 876 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 877 | PRODUCT_NAME = Rswift; 878 | SKIP_INSTALL = YES; 879 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 880 | SWIFT_VERSION = 5.0; 881 | }; 882 | name = Debug; 883 | }; 884 | D59246641C117A55007F94C7 /* Release */ = { 885 | isa = XCBuildConfiguration; 886 | buildSettings = { 887 | APPLICATION_EXTENSION_API_ONLY = YES; 888 | CLANG_ENABLE_MODULES = YES; 889 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 890 | DEFINES_MODULE = YES; 891 | DYLIB_COMPATIBILITY_VERSION = 1; 892 | DYLIB_CURRENT_VERSION = 1; 893 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 894 | INFOPLIST_FILE = Library/Info.plist; 895 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 896 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 897 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 898 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.rswift.library; 899 | PRODUCT_NAME = Rswift; 900 | SKIP_INSTALL = YES; 901 | SWIFT_VERSION = 5.0; 902 | }; 903 | name = Release; 904 | }; 905 | D59246661C117A55007F94C7 /* Debug */ = { 906 | isa = XCBuildConfiguration; 907 | buildSettings = { 908 | INFOPLIST_FILE = LibraryTests/Info.plist; 909 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 910 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.RswiftTests; 911 | PRODUCT_NAME = "$(TARGET_NAME)"; 912 | SWIFT_VERSION = 5.0; 913 | }; 914 | name = Debug; 915 | }; 916 | D59246671C117A55007F94C7 /* Release */ = { 917 | isa = XCBuildConfiguration; 918 | buildSettings = { 919 | INFOPLIST_FILE = LibraryTests/Info.plist; 920 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 921 | PRODUCT_BUNDLE_IDENTIFIER = nl.mathijskadijk.RswiftTests; 922 | PRODUCT_NAME = "$(TARGET_NAME)"; 923 | SWIFT_VERSION = 5.0; 924 | }; 925 | name = Release; 926 | }; 927 | /* End XCBuildConfiguration section */ 928 | 929 | /* Begin XCConfigurationList section */ 930 | 2F5FBC4721355A1400A83A69 /* Build configuration list for PBXNativeTarget "Rswift-watchOS" */ = { 931 | isa = XCConfigurationList; 932 | buildConfigurations = ( 933 | 2F5FBC4521355A1400A83A69 /* Debug */, 934 | 2F5FBC4621355A1400A83A69 /* Release */, 935 | ); 936 | defaultConfigurationIsVisible = 0; 937 | defaultConfigurationName = Release; 938 | }; 939 | 806E69A31C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "Rswift-tvOS" */ = { 940 | isa = XCConfigurationList; 941 | buildConfigurations = ( 942 | 806E69A41C42BD9C00DE3A8B /* Debug */, 943 | 806E69A51C42BD9C00DE3A8B /* Release */, 944 | ); 945 | defaultConfigurationIsVisible = 0; 946 | defaultConfigurationName = Release; 947 | }; 948 | 806E69A61C42BD9C00DE3A8B /* Build configuration list for PBXNativeTarget "RswiftTests-tvOS" */ = { 949 | isa = XCConfigurationList; 950 | buildConfigurations = ( 951 | 806E69A71C42BD9C00DE3A8B /* Debug */, 952 | 806E69A81C42BD9C00DE3A8B /* Release */, 953 | ); 954 | defaultConfigurationIsVisible = 0; 955 | defaultConfigurationName = Release; 956 | }; 957 | D59246481C117A54007F94C7 /* Build configuration list for PBXProject "R.swift.Library" */ = { 958 | isa = XCConfigurationList; 959 | buildConfigurations = ( 960 | D59246601C117A55007F94C7 /* Debug */, 961 | D59246611C117A55007F94C7 /* Release */, 962 | ); 963 | defaultConfigurationIsVisible = 0; 964 | defaultConfigurationName = Release; 965 | }; 966 | D59246621C117A55007F94C7 /* Build configuration list for PBXNativeTarget "Rswift-iOS" */ = { 967 | isa = XCConfigurationList; 968 | buildConfigurations = ( 969 | D59246631C117A55007F94C7 /* Debug */, 970 | D59246641C117A55007F94C7 /* Release */, 971 | ); 972 | defaultConfigurationIsVisible = 0; 973 | defaultConfigurationName = Release; 974 | }; 975 | D59246651C117A55007F94C7 /* Build configuration list for PBXNativeTarget "RswiftTests-iOS" */ = { 976 | isa = XCConfigurationList; 977 | buildConfigurations = ( 978 | D59246661C117A55007F94C7 /* Debug */, 979 | D59246671C117A55007F94C7 /* Release */, 980 | ); 981 | defaultConfigurationIsVisible = 0; 982 | defaultConfigurationName = Release; 983 | }; 984 | /* End XCConfigurationList section */ 985 | }; 986 | rootObject = D59246451C117A54007F94C7 /* Project object */; 987 | } 988 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/project.xcworkspace/xcshareddata/R.swift.Library.xcscmblueprint: -------------------------------------------------------------------------------- 1 | { 2 | "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "E6D66735CE6FC1586FFE099FD28E4FCADA1AAB68", 3 | "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { 4 | 5 | }, 6 | "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { 7 | "768F1F9CC867EF28C17472B184F0AF0781227AAE" : 9223372036854775807, 8 | "E6D66735CE6FC1586FFE099FD28E4FCADA1AAB68" : 9223372036854775807 9 | }, 10 | "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "9B2E86CA-CC78-4635-8917-9F1308E5433E", 11 | "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { 12 | "768F1F9CC867EF28C17472B184F0AF0781227AAE" : "", 13 | "E6D66735CE6FC1586FFE099FD28E4FCADA1AAB68" : "R.swift.Library\/" 14 | }, 15 | "DVTSourceControlWorkspaceBlueprintNameKey" : "R.swift.Library", 16 | "DVTSourceControlWorkspaceBlueprintVersion" : 204, 17 | "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "R.swift.Library.xcodeproj", 18 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ 19 | { 20 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "github.com:mac-cain13\/R.swift.git", 21 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 22 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "768F1F9CC867EF28C17472B184F0AF0781227AAE" 23 | }, 24 | { 25 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/mac-cain13\/R.swift.Library.git", 26 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 27 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "E6D66735CE6FC1586FFE099FD28E4FCADA1AAB68" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/xcshareddata/xcschemes/Rswift-iOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 42 | 48 | 49 | 50 | 51 | 52 | 62 | 63 | 69 | 70 | 71 | 72 | 78 | 79 | 85 | 86 | 87 | 88 | 90 | 91 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/xcshareddata/xcschemes/Rswift-tvOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 37 | 38 | 39 | 40 | 42 | 48 | 49 | 50 | 51 | 52 | 62 | 63 | 69 | 70 | 71 | 72 | 78 | 79 | 85 | 86 | 87 | 88 | 90 | 91 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /R.swift.Library.xcodeproj/xcshareddata/xcschemes/Rswift-watchOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # R.swift.Library [![Version](https://img.shields.io/cocoapods/v/R.swift.Library.svg?style=flat)](https://cocoapods.org/pods/R.swift) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![License](https://img.shields.io/cocoapods/l/R.swift.Library.svg?style=flat)](blob/master/License) ![Platform](https://img.shields.io/cocoapods/p/R.swift.Library.svg?style=flat) 2 | 3 | ⚠ As of version 7 of [R.swift](https://github.com/mac-cain13/R.swift), this separate library is no longer needed. R.swift is now a self contained library. 4 | 5 | This repository remains for older versions of R.swift. 6 | 7 | ## Why use this? 8 | 9 | Regular users probably want to include this library to use [R.swift](https://github.com/mac-cain13/R.swift). Developers of other libraries can use this library to extend upon the types and code R.swift generates and uses. 10 | 11 | ## Installation 12 | 13 | ### CocoaPods (recommended) 14 | 15 | _**Be aware:** If you just want to use R.swift follow the [installation instructions for R.swift](https://github.com/mac-cain13/R.swift#Installation)._ 16 | 17 | 1. Add `pod 'R.swift.Library'` to your [Podfile](http://cocoapods.org/#get_started) 18 | 2. Run `pod install` 19 | 20 | ### Carthage 21 | 22 | 1. Add `github "mac-cain13/R.swift.Library"` to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) 23 | 2. Run `carthage` 24 | 25 | ### Swift Package Manager (Requires Xcode 11) 26 | 27 | 1. Open your Xcode project. 28 | 2. Select `File > Swift Packages > Add Package Dependency...` 29 | 3. Paste `https://github.com/mac-cain13/R.swift.Library` to the text field and click on the `Next` button. 30 | 4. Choose appropriate version and click on the `Next` button. (If you need latest one, just click on the `Next` button.) 31 | 5. Confirm that `Rswift` in the Package Product column is checked and your app's name is selected in the Add to Target column. 32 | 6. Click on the `Next` button. 33 | 34 | ### Manually 35 | 36 | _As an embedded framework using git submodules._ 37 | 38 | 0. If your project is not yet a git repository, run `git init` 39 | 1. Add R.swift.Library as a submodule by running: `git submodule add https://github.com/mac-cain13/R.swift.Library.git` 40 | 3. Open the new `R.swift.Library` folder, and drag the `R.swift.Library.xcodeproj` into the Project Navigator of your application's Xcode project. 41 | 4. Select the `R.swift.Library.xcodeproj` in the Project Navigator and verify the deployment target matches that of your application target. 42 | 5. Select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar. 43 | 6. In the tab bar at the top of that window, open the "General" panel. 44 | 7. Click on the `+` button under the "Embedded Binaries" section. 45 | 8. Choose the `Rswift.framework` 46 | 47 | > The `Rswift.framework` is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device. 48 | 49 | ## License 50 | 51 | [R.swift](https://github.com/mac-cain13/R.swift) and [R.swift.Library](https://github.com/mac-cain13/R.swift.Library) are created by [Mathijs Kadijk](https://github.com/mac-cain13) and released under a [MIT License](License). 52 | --------------------------------------------------------------------------------