Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa41530d47 | ||
|
|
1ac46a4859 | ||
|
|
2c02475a49 | ||
|
|
752558b420 | ||
|
|
1af6fa81f0 | ||
|
|
37c07f099a | ||
|
|
612bb4ca11 | ||
|
|
e6fcda22fc | ||
|
|
f9282dcef2 | ||
|
|
8e47206f83 | ||
|
|
aca50feac8 | ||
|
|
bdc6b5b6dd | ||
|
|
846edcd8c1 | ||
|
|
e9192698e9 | ||
|
|
226b1e3219 | ||
|
|
0f4a0dc5ad | ||
|
|
7eb1e95fd6 | ||
|
|
b38c71af0b | ||
|
|
4a34866bfc | ||
|
|
dca1bd740d | ||
|
|
73adcdcdad | ||
|
|
e75d19aac6 | ||
|
|
7a1565d631 | ||
|
|
15bdd515e7 | ||
|
|
cc51d8fa12 | ||
|
|
fcc1b6f893 | ||
|
|
2d989f3791 | ||
|
|
f5d6b49efe | ||
|
|
81d14e0abf | ||
|
|
443b32f5fe | ||
|
|
27ed32b7e1 |
@@ -0,0 +1,15 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: macOS-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Fastlane Action
|
||||||
|
uses: maierj/fastlane-action@v1.0.0
|
||||||
|
with:
|
||||||
|
lane: scan_project
|
||||||
@@ -40,4 +40,5 @@ Carthage/
|
|||||||
|
|
||||||
# Cocoapods
|
# Cocoapods
|
||||||
Pods/
|
Pods/
|
||||||
|
fastlane/report.xml
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
4.2
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
||||||
@@ -1,6 +1,36 @@
|
|||||||
Changelog
|
Changelog
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
### 4.1.1
|
||||||
|
|
||||||
|
- Fix build
|
||||||
|
|
||||||
|
### 4.1.0
|
||||||
|
|
||||||
|
- Add SwiftUI support (thanks to doronkatz)
|
||||||
|
|
||||||
|
### 4.0.2
|
||||||
|
|
||||||
|
- Fix pod release
|
||||||
|
- Add Github workflow
|
||||||
|
|
||||||
|
### 4.0.1
|
||||||
|
|
||||||
|
- Fix SPM
|
||||||
|
|
||||||
|
### 4.0.0
|
||||||
|
|
||||||
|
- Swift 5.1
|
||||||
|
- Add Catalyst support
|
||||||
|
- Add SPM support
|
||||||
|
- Dark mode fix for background
|
||||||
|
- Layout fix for child controller and autolayout extension
|
||||||
|
|
||||||
|
### 3.2.1
|
||||||
|
|
||||||
|
- Swift 5
|
||||||
|
- Remove swift-version file
|
||||||
|
|
||||||
### 3.2.0
|
### 3.2.0
|
||||||
|
|
||||||
- Small refactoring
|
- Small refactoring
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ Contributors to the codebase :
|
|||||||
| Name | Github handle | Mail |
|
| Name | Github handle | Mail |
|
||||||
| ------------- |------------- | ----- |
|
| ------------- |------------- | ----- |
|
||||||
| David Lari | DavidLari | / |
|
| David Lari | DavidLari | / |
|
||||||
|
| Doron Katz | | David Lari | DavidLari | / |
|
||||||
|
|
||||||
|
|||||||
-549
File diff suppressed because one or more lines are too long
-552
File diff suppressed because one or more lines are too long
-20
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.apple.xcode.dsym.com.OpenSourceController.OpenSourceController-iOS</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>dSYM</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
Carthage/Build/iOS/OpenSourceController.framework.dSYM/Contents/Resources/DWARF/OpenSourceController
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
-234
@@ -1,234 +0,0 @@
|
|||||||
// Generated by Apple Swift version 4.0.3 (swiftlang-900.0.74.1 clang-900.0.39.2)
|
|
||||||
#pragma clang diagnostic push
|
|
||||||
#pragma clang diagnostic ignored "-Wgcc-compat"
|
|
||||||
|
|
||||||
#if !defined(__has_include)
|
|
||||||
# define __has_include(x) 0
|
|
||||||
#endif
|
|
||||||
#if !defined(__has_attribute)
|
|
||||||
# define __has_attribute(x) 0
|
|
||||||
#endif
|
|
||||||
#if !defined(__has_feature)
|
|
||||||
# define __has_feature(x) 0
|
|
||||||
#endif
|
|
||||||
#if !defined(__has_warning)
|
|
||||||
# define __has_warning(x) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __has_attribute(external_source_symbol)
|
|
||||||
# define SWIFT_STRINGIFY(str) #str
|
|
||||||
# define SWIFT_MODULE_NAMESPACE_PUSH(module_name) _Pragma(SWIFT_STRINGIFY(clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in=module_name, generated_declaration))), apply_to=any(function, enum, objc_interface, objc_category, objc_protocol))))
|
|
||||||
# define SWIFT_MODULE_NAMESPACE_POP _Pragma("clang attribute pop")
|
|
||||||
#else
|
|
||||||
# define SWIFT_MODULE_NAMESPACE_PUSH(module_name)
|
|
||||||
# define SWIFT_MODULE_NAMESPACE_POP
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __has_include(<swift/objc-prologue.h>)
|
|
||||||
# include <swift/objc-prologue.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma clang diagnostic ignored "-Wauto-import"
|
|
||||||
#include <objc/NSObject.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#if !defined(SWIFT_TYPEDEFS)
|
|
||||||
# define SWIFT_TYPEDEFS 1
|
|
||||||
# if __has_include(<uchar.h>)
|
|
||||||
# include <uchar.h>
|
|
||||||
# elif !defined(__cplusplus) || __cplusplus < 201103L
|
|
||||||
typedef uint_least16_t char16_t;
|
|
||||||
typedef uint_least32_t char32_t;
|
|
||||||
# endif
|
|
||||||
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
|
|
||||||
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
|
|
||||||
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
|
|
||||||
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
|
|
||||||
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
|
|
||||||
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
|
|
||||||
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
|
|
||||||
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
|
|
||||||
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
|
|
||||||
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
|
|
||||||
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
|
|
||||||
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(SWIFT_PASTE)
|
|
||||||
# define SWIFT_PASTE_HELPER(x, y) x##y
|
|
||||||
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_METATYPE)
|
|
||||||
# define SWIFT_METATYPE(X) Class
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_CLASS_PROPERTY)
|
|
||||||
# if __has_feature(objc_class_property)
|
|
||||||
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
|
|
||||||
# else
|
|
||||||
# define SWIFT_CLASS_PROPERTY(...)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __has_attribute(objc_runtime_name)
|
|
||||||
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
|
|
||||||
#else
|
|
||||||
# define SWIFT_RUNTIME_NAME(X)
|
|
||||||
#endif
|
|
||||||
#if __has_attribute(swift_name)
|
|
||||||
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
|
|
||||||
#else
|
|
||||||
# define SWIFT_COMPILE_NAME(X)
|
|
||||||
#endif
|
|
||||||
#if __has_attribute(objc_method_family)
|
|
||||||
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
|
|
||||||
#else
|
|
||||||
# define SWIFT_METHOD_FAMILY(X)
|
|
||||||
#endif
|
|
||||||
#if __has_attribute(noescape)
|
|
||||||
# define SWIFT_NOESCAPE __attribute__((noescape))
|
|
||||||
#else
|
|
||||||
# define SWIFT_NOESCAPE
|
|
||||||
#endif
|
|
||||||
#if __has_attribute(warn_unused_result)
|
|
||||||
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
|
||||||
#else
|
|
||||||
# define SWIFT_WARN_UNUSED_RESULT
|
|
||||||
#endif
|
|
||||||
#if __has_attribute(noreturn)
|
|
||||||
# define SWIFT_NORETURN __attribute__((noreturn))
|
|
||||||
#else
|
|
||||||
# define SWIFT_NORETURN
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_CLASS_EXTRA)
|
|
||||||
# define SWIFT_CLASS_EXTRA
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_PROTOCOL_EXTRA)
|
|
||||||
# define SWIFT_PROTOCOL_EXTRA
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_ENUM_EXTRA)
|
|
||||||
# define SWIFT_ENUM_EXTRA
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_CLASS)
|
|
||||||
# if __has_attribute(objc_subclassing_restricted)
|
|
||||||
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
|
|
||||||
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
|
||||||
# else
|
|
||||||
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
|
||||||
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(SWIFT_PROTOCOL)
|
|
||||||
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
|
||||||
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(SWIFT_EXTENSION)
|
|
||||||
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(OBJC_DESIGNATED_INITIALIZER)
|
|
||||||
# if __has_attribute(objc_designated_initializer)
|
|
||||||
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
|
|
||||||
# else
|
|
||||||
# define OBJC_DESIGNATED_INITIALIZER
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_ENUM_ATTR)
|
|
||||||
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
|
|
||||||
# define SWIFT_ENUM_ATTR __attribute__((enum_extensibility(open)))
|
|
||||||
# else
|
|
||||||
# define SWIFT_ENUM_ATTR
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_ENUM)
|
|
||||||
# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
|
|
||||||
# if __has_feature(generalized_swift_name)
|
|
||||||
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
|
|
||||||
# else
|
|
||||||
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_UNAVAILABLE)
|
|
||||||
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_UNAVAILABLE_MSG)
|
|
||||||
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_AVAILABILITY)
|
|
||||||
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_DEPRECATED)
|
|
||||||
# define SWIFT_DEPRECATED __attribute__((deprecated))
|
|
||||||
#endif
|
|
||||||
#if !defined(SWIFT_DEPRECATED_MSG)
|
|
||||||
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
|
|
||||||
#endif
|
|
||||||
#if __has_feature(attribute_diagnose_if_objc)
|
|
||||||
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
|
|
||||||
#else
|
|
||||||
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
|
|
||||||
#endif
|
|
||||||
#if __has_feature(modules)
|
|
||||||
@import ObjectiveC;
|
|
||||||
@import UIKit;
|
|
||||||
@import Foundation;
|
|
||||||
@import CoreGraphics;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
|
|
||||||
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
|
|
||||||
#if __has_warning("-Wpragma-clang-attribute")
|
|
||||||
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
|
|
||||||
#endif
|
|
||||||
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
|
||||||
#pragma clang diagnostic ignored "-Wnullability"
|
|
||||||
|
|
||||||
SWIFT_MODULE_NAMESPACE_PUSH("OpenSourceController")
|
|
||||||
|
|
||||||
SWIFT_CLASS("_TtC20OpenSourceController17LicenceDownloader")
|
|
||||||
@interface LicenceDownloader : NSObject
|
|
||||||
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
@end
|
|
||||||
|
|
||||||
|
|
||||||
SWIFT_CLASS("_TtC20OpenSourceController11LicenceFile")
|
|
||||||
@interface LicenceFile : NSObject
|
|
||||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
|
||||||
@end
|
|
||||||
|
|
||||||
|
|
||||||
SWIFT_CLASS("_TtC20OpenSourceController20OpenSourceController")
|
|
||||||
@interface OpenSourceController : NSObject
|
|
||||||
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@class NSCoder;
|
|
||||||
|
|
||||||
SWIFT_CLASS("_TtC20OpenSourceController23OpenSourceTableViewCell")
|
|
||||||
@interface OpenSourceTableViewCell : UITableViewCell
|
|
||||||
- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Nullable)reuseIdentifier OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
|
|
||||||
- (void)layoutSubviews;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@class UITableView;
|
|
||||||
@class NSBundle;
|
|
||||||
|
|
||||||
SWIFT_CLASS("_TtC20OpenSourceController24OpenSourceViewController")
|
|
||||||
@interface OpenSourceViewController : UITableViewController
|
|
||||||
- (void)viewDidLoad;
|
|
||||||
- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT;
|
|
||||||
- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
|
|
||||||
- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
|
|
||||||
- (CGFloat)tableView:(UITableView * _Nonnull)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
|
|
||||||
- (nonnull instancetype)initWithStyle:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
|
|
||||||
@end
|
|
||||||
|
|
||||||
SWIFT_MODULE_NAMESPACE_POP
|
|
||||||
#pragma clang diagnostic pop
|
|
||||||
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
Generated
Vendored
BIN
Binary file not shown.
-4
@@ -1,4 +0,0 @@
|
|||||||
framework module OpenSourceController {
|
|
||||||
header "OpenSourceController-Swift.h"
|
|
||||||
requires objc
|
|
||||||
}
|
|
||||||
BIN
Binary file not shown.
@@ -7,6 +7,8 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
|
7622F02C23796B67001B4F5D /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = 7622F02B23796B67001B4F5D /* CHANGELOG.md */; };
|
||||||
|
7622F02E2379B559001B4F5D /* Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7622F02D2379B559001B4F5D /* Style.swift */; };
|
||||||
7627B06221807C4B0057FFBB /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 7627B06121807C4B0057FFBB /* README.md */; };
|
7627B06221807C4B0057FFBB /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 7627B06121807C4B0057FFBB /* README.md */; };
|
||||||
76D7F28121BEB3A0004B74CB /* OpenSourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F26F21BEB3A0004B74CB /* OpenSourceController.swift */; };
|
76D7F28121BEB3A0004B74CB /* OpenSourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F26F21BEB3A0004B74CB /* OpenSourceController.swift */; };
|
||||||
76D7F28221BEB3A0004B74CB /* OpenSourceControllerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F27021BEB3A0004B74CB /* OpenSourceControllerConfig.swift */; };
|
76D7F28221BEB3A0004B74CB /* OpenSourceControllerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F27021BEB3A0004B74CB /* OpenSourceControllerConfig.swift */; };
|
||||||
@@ -27,10 +29,12 @@
|
|||||||
76EAA86A1E93F2CC009A41DA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA8681E93F2CC009A41DA /* Main.storyboard */; };
|
76EAA86A1E93F2CC009A41DA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA8681E93F2CC009A41DA /* Main.storyboard */; };
|
||||||
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA86B1E93F2CC009A41DA /* Assets.xcassets */; };
|
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA86B1E93F2CC009A41DA /* Assets.xcassets */; };
|
||||||
76EAA86F1E93F2CC009A41DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA86D1E93F2CC009A41DA /* LaunchScreen.storyboard */; };
|
76EAA86F1E93F2CC009A41DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA86D1E93F2CC009A41DA /* LaunchScreen.storyboard */; };
|
||||||
C33E4D96204442AC00142EE6 /* CHANGELOG.md in Resources */ = {isa = PBXBuildFile; fileRef = C33E4D95204442AC00142EE6 /* CHANGELOG.md */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
7622F02A23796A81001B4F5D /* OpenSourceControllerDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = OpenSourceControllerDemo.entitlements; sourceTree = "<group>"; };
|
||||||
|
7622F02B23796B67001B4F5D /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = CHANGELOG.md; path = ../CHANGELOG.md; sourceTree = "<group>"; };
|
||||||
|
7622F02D2379B559001B4F5D /* Style.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Style.swift; sourceTree = "<group>"; };
|
||||||
7627B06121807C4B0057FFBB /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
|
7627B06121807C4B0057FFBB /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
|
||||||
76D7F26F21BEB3A0004B74CB /* OpenSourceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenSourceController.swift; sourceTree = "<group>"; };
|
76D7F26F21BEB3A0004B74CB /* OpenSourceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenSourceController.swift; sourceTree = "<group>"; };
|
||||||
76D7F27021BEB3A0004B74CB /* OpenSourceControllerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenSourceControllerConfig.swift; sourceTree = "<group>"; };
|
76D7F27021BEB3A0004B74CB /* OpenSourceControllerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenSourceControllerConfig.swift; sourceTree = "<group>"; };
|
||||||
@@ -53,7 +57,6 @@
|
|||||||
76EAA86B1E93F2CC009A41DA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
76EAA86B1E93F2CC009A41DA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
76EAA86E1E93F2CC009A41DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
76EAA86E1E93F2CC009A41DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
76EAA8701E93F2CC009A41DA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
76EAA8701E93F2CC009A41DA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
C33E4D95204442AC00142EE6 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = CHANGELOG.md; path = ../CHANGELOG.md; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -89,6 +92,7 @@
|
|||||||
76D7F27421BEB3A0004B74CB /* UIView+Extensions.swift */,
|
76D7F27421BEB3A0004B74CB /* UIView+Extensions.swift */,
|
||||||
76D7F27521BEB3A0004B74CB /* Reusable.swift */,
|
76D7F27521BEB3A0004B74CB /* Reusable.swift */,
|
||||||
76D7F27621BEB3A0004B74CB /* UITableView+Extensions.swift */,
|
76D7F27621BEB3A0004B74CB /* UITableView+Extensions.swift */,
|
||||||
|
7622F02D2379B559001B4F5D /* Style.swift */,
|
||||||
);
|
);
|
||||||
path = Utils;
|
path = Utils;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -108,6 +112,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
76D7F27D21BEB3A0004B74CB /* HTTPDataLoader.swift */,
|
76D7F27D21BEB3A0004B74CB /* HTTPDataLoader.swift */,
|
||||||
|
76D7F28021BEB3A0004B74CB /* LicenceLoader.swift */,
|
||||||
);
|
);
|
||||||
path = Loader;
|
path = Loader;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -116,7 +121,6 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
76D7F27F21BEB3A0004B74CB /* LicenceFile.swift */,
|
76D7F27F21BEB3A0004B74CB /* LicenceFile.swift */,
|
||||||
76D7F28021BEB3A0004B74CB /* LicenceLoader.swift */,
|
|
||||||
);
|
);
|
||||||
path = Model;
|
path = Model;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -124,8 +128,8 @@
|
|||||||
76EAA8581E93F2CC009A41DA = {
|
76EAA8581E93F2CC009A41DA = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
C33E4D95204442AC00142EE6 /* CHANGELOG.md */,
|
|
||||||
7627B06121807C4B0057FFBB /* README.md */,
|
7627B06121807C4B0057FFBB /* README.md */,
|
||||||
|
7622F02B23796B67001B4F5D /* CHANGELOG.md */,
|
||||||
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */,
|
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */,
|
||||||
76D7F26E21BEB3A0004B74CB /* Sources */,
|
76D7F26E21BEB3A0004B74CB /* Sources */,
|
||||||
76EAA8621E93F2CC009A41DA /* Products */,
|
76EAA8621E93F2CC009A41DA /* Products */,
|
||||||
@@ -143,6 +147,7 @@
|
|||||||
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */ = {
|
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
7622F02A23796A81001B4F5D /* OpenSourceControllerDemo.entitlements */,
|
||||||
76EAA8641E93F2CC009A41DA /* AppDelegate.swift */,
|
76EAA8641E93F2CC009A41DA /* AppDelegate.swift */,
|
||||||
76EAA8661E93F2CC009A41DA /* ViewController.swift */,
|
76EAA8661E93F2CC009A41DA /* ViewController.swift */,
|
||||||
76EAA8681E93F2CC009A41DA /* Main.storyboard */,
|
76EAA8681E93F2CC009A41DA /* Main.storyboard */,
|
||||||
@@ -180,20 +185,20 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftUpdateCheck = 0830;
|
LastSwiftUpdateCheck = 0830;
|
||||||
LastUpgradeCheck = 1000;
|
LastUpgradeCheck = 1100;
|
||||||
ORGANIZATIONNAME = OpenSourceController;
|
ORGANIZATIONNAME = OpenSourceController;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
76EAA8601E93F2CC009A41DA = {
|
76EAA8601E93F2CC009A41DA = {
|
||||||
CreatedOnToolsVersion = 8.3;
|
CreatedOnToolsVersion = 8.3;
|
||||||
DevelopmentTeam = 62PP362QNQ;
|
DevelopmentTeam = XEHEC9B46E;
|
||||||
LastSwiftMigration = 1000;
|
LastSwiftMigration = 1100;
|
||||||
ProvisioningStyle = Automatic;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 76EAA85C1E93F2CC009A41DA /* Build configuration list for PBXProject "OpenSourceControllerDemo" */;
|
buildConfigurationList = 76EAA85C1E93F2CC009A41DA /* Build configuration list for PBXProject "OpenSourceControllerDemo" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
en,
|
en,
|
||||||
@@ -215,10 +220,10 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
76EAA86F1E93F2CC009A41DA /* LaunchScreen.storyboard in Resources */,
|
76EAA86F1E93F2CC009A41DA /* LaunchScreen.storyboard in Resources */,
|
||||||
|
7622F02C23796B67001B4F5D /* CHANGELOG.md in Resources */,
|
||||||
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */,
|
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */,
|
||||||
7627B06221807C4B0057FFBB /* README.md in Resources */,
|
7627B06221807C4B0057FFBB /* README.md in Resources */,
|
||||||
76EAA86A1E93F2CC009A41DA /* Main.storyboard in Resources */,
|
76EAA86A1E93F2CC009A41DA /* Main.storyboard in Resources */,
|
||||||
C33E4D96204442AC00142EE6 /* CHANGELOG.md in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -233,6 +238,7 @@
|
|||||||
76D7F28521BEB3A0004B74CB /* UIView+Extensions.swift in Sources */,
|
76D7F28521BEB3A0004B74CB /* UIView+Extensions.swift in Sources */,
|
||||||
76D7F28221BEB3A0004B74CB /* OpenSourceControllerConfig.swift in Sources */,
|
76D7F28221BEB3A0004B74CB /* OpenSourceControllerConfig.swift in Sources */,
|
||||||
76D7F28321BEB3A0004B74CB /* Array+Extensions.swift in Sources */,
|
76D7F28321BEB3A0004B74CB /* Array+Extensions.swift in Sources */,
|
||||||
|
7622F02E2379B559001B4F5D /* Style.swift in Sources */,
|
||||||
76EAA8671E93F2CC009A41DA /* ViewController.swift in Sources */,
|
76EAA8671E93F2CC009A41DA /* ViewController.swift in Sources */,
|
||||||
76D7F28921BEB3A0004B74CB /* LicenceListViewController.swift in Sources */,
|
76D7F28921BEB3A0004B74CB /* LicenceListViewController.swift in Sources */,
|
||||||
76D7F28C21BEB3A0004B74CB /* HTTPDataLoader.swift in Sources */,
|
76D7F28C21BEB3A0004B74CB /* HTTPDataLoader.swift in Sources */,
|
||||||
@@ -274,6 +280,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
@@ -334,6 +341,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
@@ -387,12 +395,15 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
CODE_SIGN_ENTITLEMENTS = OpenSourceControllerDemo/OpenSourceControllerDemo.entitlements;
|
||||||
|
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||||
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_VERSION = 4.2;
|
SUPPORTS_MACCATALYST = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
@@ -400,12 +411,15 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
CODE_SIGN_ENTITLEMENTS = OpenSourceControllerDemo/OpenSourceControllerDemo.entitlements;
|
||||||
|
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||||
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_VERSION = 4.2;
|
SUPPORTS_MACCATALYST = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|||||||
+2
@@ -4,5 +4,7 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>BuildSystemType</key>
|
<key>BuildSystemType</key>
|
||||||
<string>Latest</string>
|
<string>Latest</string>
|
||||||
|
<key>PreviewsEnabled</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
BIN
Binary file not shown.
+10
-14
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1000"
|
LastUpgradeVersion = "1100"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -27,6 +27,15 @@
|
|||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "76EAA8601E93F2CC009A41DA"
|
||||||
|
BuildableName = "OpenSourceControllerDemo.app"
|
||||||
|
BlueprintName = "OpenSourceControllerDemo"
|
||||||
|
ReferencedContainer = "container:OpenSourceControllerDemo.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
<Testables>
|
<Testables>
|
||||||
<TestableReference
|
<TestableReference
|
||||||
skipped = "NO">
|
skipped = "NO">
|
||||||
@@ -39,17 +48,6 @@
|
|||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "76EAA8601E93F2CC009A41DA"
|
|
||||||
BuildableName = "OpenSourceControllerDemo.app"
|
|
||||||
BlueprintName = "OpenSourceControllerDemo"
|
|
||||||
ReferencedContainer = "container:OpenSourceControllerDemo.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@@ -71,8 +69,6 @@
|
|||||||
ReferencedContainer = "container:OpenSourceControllerDemo.xcodeproj">
|
ReferencedContainer = "container:OpenSourceControllerDemo.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="fdz-at-fDg">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="fdz-at-fDg">
|
||||||
<device id="retina4_7" orientation="portrait">
|
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
||||||
<adaptation id="fullscreen"/>
|
|
||||||
</device>
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15509"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
@@ -24,7 +22,7 @@
|
|||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LI4-fC-2Ry">
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LI4-fC-2Ry">
|
||||||
<rect key="frame" x="23" y="318.5" width="329" height="30"/>
|
<rect key="frame" x="23" y="318.5" width="329" height="30"/>
|
||||||
<state key="normal" title="Show me (push)">
|
<state key="normal" title="Show me (push)">
|
||||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
<color key="titleColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="pushOpenSourceController:" destination="BYZ-38-t0r" eventType="touchUpInside" id="Exu-2l-lfA"/>
|
<action selector="pushOpenSourceController:" destination="BYZ-38-t0r" eventType="touchUpInside" id="Exu-2l-lfA"/>
|
||||||
@@ -36,14 +34,14 @@
|
|||||||
<constraint firstAttribute="height" constant="30" id="LLB-12-8xE"/>
|
<constraint firstAttribute="height" constant="30" id="LLB-12-8xE"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<state key="normal" title="Show me (present)">
|
<state key="normal" title="Show me (present)">
|
||||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
<color key="titleColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||||
</state>
|
</state>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="presentOpenSourceController:" destination="BYZ-38-t0r" eventType="touchUpInside" id="SoS-HF-0LZ"/>
|
<action selector="presentOpenSourceController:" destination="BYZ-38-t0r" eventType="touchUpInside" id="SoS-HF-0LZ"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
||||||
<color key="tintColor" red="0.0" green="0.58980089430000004" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="tintColor" red="0.0" green="0.58980089430000004" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="wfq-WN-CRo" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" constant="7" id="7s5-n0-5gS"/>
|
<constraint firstItem="wfq-WN-CRo" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" constant="7" id="7s5-n0-5gS"/>
|
||||||
@@ -66,7 +64,7 @@
|
|||||||
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="fdz-at-fDg" sceneMemberID="viewController">
|
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="fdz-at-fDg" sceneMemberID="viewController">
|
||||||
<toolbarItems/>
|
<toolbarItems/>
|
||||||
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="gcV-6a-gYe">
|
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="gcV-6a-gYe">
|
||||||
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</navigationBar>
|
</navigationBar>
|
||||||
<nil name="viewControllers"/>
|
<nil name="viewControllers"/>
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.app-sandbox</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.network.client</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -59,9 +59,6 @@ class ViewController: UIViewController {
|
|||||||
// Navigation bar title
|
// Navigation bar title
|
||||||
openSourceVC.config.title = "MyCustomTitle"
|
openSourceVC.config.title = "MyCustomTitle"
|
||||||
|
|
||||||
// Navigation bar tint color
|
|
||||||
openSourceVC.config.uiConfig.barTintColor = UIColor.red
|
|
||||||
|
|
||||||
// Close button color
|
// Close button color
|
||||||
openSourceVC.config.uiConfig.closeButtonColor = UIColor.green
|
openSourceVC.config.uiConfig.closeButtonColor = UIColor.green
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = 'OpenSourceController'
|
s.name = 'OpenSourceController'
|
||||||
s.version = '3.2.0'
|
s.version = '4.1.1'
|
||||||
s.summary = 'Display all the librarys licence used in your application. Enjoy !'
|
s.summary = 'Display all the librarys licence used in your application. Enjoy !'
|
||||||
s.description = 'Display a screen with all licence used in your apply can be painful to maintain. OpenSourceController was built to respond to this problem. OpenSourceController is a simple parser to display the licences which are used in your application.'
|
s.description = 'Display a screen with all licence used in your apply can be painful to maintain. OpenSourceController was built to respond to this problem. OpenSourceController is a simple parser to display the licences which are used in your application.'
|
||||||
s.homepage = 'https://github.com/floriangbh/OpenSourceController'
|
s.homepage = 'https://github.com/floriangbh/OpenSourceController'
|
||||||
@@ -9,4 +9,5 @@ s.author = { 'Florian Gabach' => 'florian.gabach@gmail.com' }
|
|||||||
s.source = { :git => 'https://github.com/floriangbh/OpenSourceController.git', :tag => s.version.to_s }
|
s.source = { :git => 'https://github.com/floriangbh/OpenSourceController.git', :tag => s.version.to_s }
|
||||||
s.ios.deployment_target = '9.0'
|
s.ios.deployment_target = '9.0'
|
||||||
s.source_files = 'Sources/**/*'
|
s.source_files = 'Sources/**/*'
|
||||||
|
s.swift_versions = ['5.0']
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
52D6D9871BEFF229002C0205 /* OpenSourceController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6D97C1BEFF229002C0205 /* OpenSourceController.framework */; };
|
52D6D9871BEFF229002C0205 /* OpenSourceController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D6D97C1BEFF229002C0205 /* OpenSourceController.framework */; };
|
||||||
76229B722180AD8400A61697 /* LicenceLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B712180AD8400A61697 /* LicenceLoader.swift */; };
|
|
||||||
76229B7D2180AD9F00A61697 /* HTTPDataLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */; };
|
76229B7D2180AD9F00A61697 /* HTTPDataLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */; };
|
||||||
76229B802180ADA800A61697 /* OpenSourceControllerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7E2180ADA800A61697 /* OpenSourceControllerConfig.swift */; };
|
76229B802180ADA800A61697 /* OpenSourceControllerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7E2180ADA800A61697 /* OpenSourceControllerConfig.swift */; };
|
||||||
76229B812180ADA800A61697 /* OpenSourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7F2180ADA800A61697 /* OpenSourceController.swift */; };
|
76229B812180ADA800A61697 /* OpenSourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76229B7F2180ADA800A61697 /* OpenSourceController.swift */; };
|
||||||
@@ -16,6 +15,8 @@
|
|||||||
769FD9D221871DEC00FB5A53 /* LicenceListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9CE21871DEC00FB5A53 /* LicenceListViewController.swift */; };
|
769FD9D221871DEC00FB5A53 /* LicenceListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9CE21871DEC00FB5A53 /* LicenceListViewController.swift */; };
|
||||||
769FD9D321871DEC00FB5A53 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9CF21871DEC00FB5A53 /* LoadingViewController.swift */; };
|
769FD9D321871DEC00FB5A53 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9CF21871DEC00FB5A53 /* LoadingViewController.swift */; };
|
||||||
769FD9D421871DEC00FB5A53 /* OpenSourceTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9D021871DEC00FB5A53 /* OpenSourceTableViewCell.swift */; };
|
769FD9D421871DEC00FB5A53 /* OpenSourceTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 769FD9D021871DEC00FB5A53 /* OpenSourceTableViewCell.swift */; };
|
||||||
|
76B7980F238844F300009193 /* LicenceLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76B7980E238844F300009193 /* LicenceLoader.swift */; };
|
||||||
|
76B79811238845D300009193 /* Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76B79810238845D300009193 /* Style.swift */; };
|
||||||
76D7F24521BEB18A004B74CB /* UITableView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */; };
|
76D7F24521BEB18A004B74CB /* UITableView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */; };
|
||||||
76D7F24621BEB18A004B74CB /* Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24121BEB18A004B74CB /* Reusable.swift */; };
|
76D7F24621BEB18A004B74CB /* Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24121BEB18A004B74CB /* Reusable.swift */; };
|
||||||
76D7F24721BEB18A004B74CB /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */; };
|
76D7F24721BEB18A004B74CB /* UIViewController+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */; };
|
||||||
@@ -37,7 +38,6 @@
|
|||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
52D6D97C1BEFF229002C0205 /* OpenSourceController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenSourceController.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
52D6D97C1BEFF229002C0205 /* OpenSourceController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenSourceController.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
52D6D9861BEFF229002C0205 /* OpenSourceController-iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OpenSourceController-iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
52D6D9861BEFF229002C0205 /* OpenSourceController-iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OpenSourceController-iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
76229B712180AD8400A61697 /* LicenceLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LicenceLoader.swift; path = Sources/Model/LicenceLoader.swift; sourceTree = "<group>"; };
|
|
||||||
76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HTTPDataLoader.swift; path = Sources/Loader/HTTPDataLoader.swift; sourceTree = "<group>"; };
|
76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HTTPDataLoader.swift; path = Sources/Loader/HTTPDataLoader.swift; sourceTree = "<group>"; };
|
||||||
76229B7E2180ADA800A61697 /* OpenSourceControllerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceControllerConfig.swift; path = Sources/OpenSourceControllerConfig.swift; sourceTree = "<group>"; };
|
76229B7E2180ADA800A61697 /* OpenSourceControllerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceControllerConfig.swift; path = Sources/OpenSourceControllerConfig.swift; sourceTree = "<group>"; };
|
||||||
76229B7F2180ADA800A61697 /* OpenSourceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceController.swift; path = Sources/OpenSourceController.swift; sourceTree = "<group>"; };
|
76229B7F2180ADA800A61697 /* OpenSourceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceController.swift; path = Sources/OpenSourceController.swift; sourceTree = "<group>"; };
|
||||||
@@ -45,6 +45,8 @@
|
|||||||
769FD9CE21871DEC00FB5A53 /* LicenceListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LicenceListViewController.swift; path = Sources/Controller/LicenceListViewController.swift; sourceTree = "<group>"; };
|
769FD9CE21871DEC00FB5A53 /* LicenceListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LicenceListViewController.swift; path = Sources/Controller/LicenceListViewController.swift; sourceTree = "<group>"; };
|
||||||
769FD9CF21871DEC00FB5A53 /* LoadingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LoadingViewController.swift; path = Sources/Controller/LoadingViewController.swift; sourceTree = "<group>"; };
|
769FD9CF21871DEC00FB5A53 /* LoadingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LoadingViewController.swift; path = Sources/Controller/LoadingViewController.swift; sourceTree = "<group>"; };
|
||||||
769FD9D021871DEC00FB5A53 /* OpenSourceTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceTableViewCell.swift; path = Sources/Controller/OpenSourceTableViewCell.swift; sourceTree = "<group>"; };
|
769FD9D021871DEC00FB5A53 /* OpenSourceTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OpenSourceTableViewCell.swift; path = Sources/Controller/OpenSourceTableViewCell.swift; sourceTree = "<group>"; };
|
||||||
|
76B7980E238844F300009193 /* LicenceLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LicenceLoader.swift; path = Sources/Loader/LicenceLoader.swift; sourceTree = "<group>"; };
|
||||||
|
76B79810238845D300009193 /* Style.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Style.swift; path = Sources/Utils/Style.swift; sourceTree = "<group>"; };
|
||||||
76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UITableView+Extensions.swift"; path = "Sources/Utils/UITableView+Extensions.swift"; sourceTree = "<group>"; };
|
76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UITableView+Extensions.swift"; path = "Sources/Utils/UITableView+Extensions.swift"; sourceTree = "<group>"; };
|
||||||
76D7F24121BEB18A004B74CB /* Reusable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Reusable.swift; path = Sources/Utils/Reusable.swift; sourceTree = "<group>"; };
|
76D7F24121BEB18A004B74CB /* Reusable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Reusable.swift; path = Sources/Utils/Reusable.swift; sourceTree = "<group>"; };
|
||||||
76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIViewController+Extensions.swift"; path = "Sources/Utils/UIViewController+Extensions.swift"; sourceTree = "<group>"; };
|
76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIViewController+Extensions.swift"; path = "Sources/Utils/UIViewController+Extensions.swift"; sourceTree = "<group>"; };
|
||||||
@@ -104,7 +106,6 @@
|
|||||||
76229B702180AD7700A61697 /* Model */ = {
|
76229B702180AD7700A61697 /* Model */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
76229B712180AD8400A61697 /* LicenceLoader.swift */,
|
|
||||||
76EAA84C1E93EDCD009A41DA /* LicenceFile.swift */,
|
76EAA84C1E93EDCD009A41DA /* LicenceFile.swift */,
|
||||||
);
|
);
|
||||||
name = Model;
|
name = Model;
|
||||||
@@ -114,6 +115,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */,
|
76229B7C2180AD9F00A61697 /* HTTPDataLoader.swift */,
|
||||||
|
76B7980E238844F300009193 /* LicenceLoader.swift */,
|
||||||
);
|
);
|
||||||
name = Loader;
|
name = Loader;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -125,6 +127,7 @@
|
|||||||
76D7F24121BEB18A004B74CB /* Reusable.swift */,
|
76D7F24121BEB18A004B74CB /* Reusable.swift */,
|
||||||
76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */,
|
76D7F24021BEB18A004B74CB /* UITableView+Extensions.swift */,
|
||||||
76D7F24421BEB18A004B74CB /* UIView+Extensions.swift */,
|
76D7F24421BEB18A004B74CB /* UIView+Extensions.swift */,
|
||||||
|
76B79810238845D300009193 /* Style.swift */,
|
||||||
76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */,
|
76D7F24221BEB18A004B74CB /* UIViewController+Extensions.swift */,
|
||||||
);
|
);
|
||||||
name = Utils;
|
name = Utils;
|
||||||
@@ -226,28 +229,29 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftUpdateCheck = 0720;
|
LastSwiftUpdateCheck = 0720;
|
||||||
LastUpgradeCheck = 1000;
|
LastUpgradeCheck = 1100;
|
||||||
ORGANIZATIONNAME = OpenSourceController;
|
ORGANIZATIONNAME = OpenSourceController;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
52D6D97B1BEFF229002C0205 = {
|
52D6D97B1BEFF229002C0205 = {
|
||||||
CreatedOnToolsVersion = 7.1;
|
CreatedOnToolsVersion = 7.1;
|
||||||
DevelopmentTeam = 62PP362QNQ;
|
DevelopmentTeam = XEHEC9B46E;
|
||||||
LastSwiftMigration = 1000;
|
LastSwiftMigration = 1100;
|
||||||
ProvisioningStyle = Automatic;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
52D6D9851BEFF229002C0205 = {
|
52D6D9851BEFF229002C0205 = {
|
||||||
CreatedOnToolsVersion = 7.1;
|
CreatedOnToolsVersion = 7.1;
|
||||||
DevelopmentTeam = 62PP362QNQ;
|
DevelopmentTeam = XEHEC9B46E;
|
||||||
LastSwiftMigration = "";
|
LastSwiftMigration = 1130;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "OpenSourceController" */;
|
buildConfigurationList = 52D6D9761BEFF229002C0205 /* Build configuration list for PBXProject "OpenSourceController" */;
|
||||||
compatibilityVersion = "Xcode 6.3";
|
compatibilityVersion = "Xcode 6.3";
|
||||||
developmentRegion = English;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
en,
|
en,
|
||||||
|
Base,
|
||||||
);
|
);
|
||||||
mainGroup = 52D6D9721BEFF229002C0205;
|
mainGroup = 52D6D9721BEFF229002C0205;
|
||||||
productRefGroup = 52D6D97D1BEFF229002C0205 /* Products */;
|
productRefGroup = 52D6D97D1BEFF229002C0205 /* Products */;
|
||||||
@@ -286,15 +290,16 @@
|
|||||||
76229B7D2180AD9F00A61697 /* HTTPDataLoader.swift in Sources */,
|
76229B7D2180AD9F00A61697 /* HTTPDataLoader.swift in Sources */,
|
||||||
76D7F24621BEB18A004B74CB /* Reusable.swift in Sources */,
|
76D7F24621BEB18A004B74CB /* Reusable.swift in Sources */,
|
||||||
769FD9D221871DEC00FB5A53 /* LicenceListViewController.swift in Sources */,
|
769FD9D221871DEC00FB5A53 /* LicenceListViewController.swift in Sources */,
|
||||||
|
76B79811238845D300009193 /* Style.swift in Sources */,
|
||||||
769FD9D121871DEC00FB5A53 /* OpenSourceViewController.swift in Sources */,
|
769FD9D121871DEC00FB5A53 /* OpenSourceViewController.swift in Sources */,
|
||||||
76D7F24721BEB18A004B74CB /* UIViewController+Extensions.swift in Sources */,
|
76D7F24721BEB18A004B74CB /* UIViewController+Extensions.swift in Sources */,
|
||||||
76EAA84F1E93EDCD009A41DA /* LicenceFile.swift in Sources */,
|
76EAA84F1E93EDCD009A41DA /* LicenceFile.swift in Sources */,
|
||||||
76229B722180AD8400A61697 /* LicenceLoader.swift in Sources */,
|
|
||||||
76D7F24521BEB18A004B74CB /* UITableView+Extensions.swift in Sources */,
|
76D7F24521BEB18A004B74CB /* UITableView+Extensions.swift in Sources */,
|
||||||
769FD9D421871DEC00FB5A53 /* OpenSourceTableViewCell.swift in Sources */,
|
769FD9D421871DEC00FB5A53 /* OpenSourceTableViewCell.swift in Sources */,
|
||||||
76D7F24821BEB18A004B74CB /* Array+Extensions.swift in Sources */,
|
76D7F24821BEB18A004B74CB /* Array+Extensions.swift in Sources */,
|
||||||
76229B812180ADA800A61697 /* OpenSourceController.swift in Sources */,
|
76229B812180ADA800A61697 /* OpenSourceController.swift in Sources */,
|
||||||
769FD9D321871DEC00FB5A53 /* LoadingViewController.swift in Sources */,
|
769FD9D321871DEC00FB5A53 /* LoadingViewController.swift in Sources */,
|
||||||
|
76B7980F238844F300009193 /* LicenceLoader.swift in Sources */,
|
||||||
76229B802180ADA800A61697 /* OpenSourceControllerConfig.swift in Sources */,
|
76229B802180ADA800A61697 /* OpenSourceControllerConfig.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@@ -321,6 +326,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
@@ -380,6 +386,7 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
@@ -433,11 +440,11 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
@@ -451,7 +458,7 @@
|
|||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 4.2;
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
@@ -460,11 +467,11 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEFINES_MODULE = YES;
|
DEFINES_MODULE = YES;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
@@ -477,7 +484,7 @@
|
|||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||||
SWIFT_VERSION = 4.2;
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
@@ -486,13 +493,13 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
INFOPLIST_FILE = Configs/OpenSourceControllerTests.plist;
|
INFOPLIST_FILE = Configs/OpenSourceControllerTests.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenSourceController.OpenSourceController-iOS-Tests";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenSourceController.OpenSourceController-iOS-Tests";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 3.0;
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
};
|
};
|
||||||
@@ -501,13 +508,13 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
DEVELOPMENT_TEAM = 62PP362QNQ;
|
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||||
INFOPLIST_FILE = Configs/OpenSourceControllerTests.plist;
|
INFOPLIST_FILE = Configs/OpenSourceControllerTests.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenSourceController.OpenSourceController-iOS-Tests";
|
PRODUCT_BUNDLE_IDENTIFIER = "com.OpenSourceController.OpenSourceController-iOS-Tests";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||||
SWIFT_VERSION = 3.0;
|
SWIFT_VERSION = 5.0;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
|||||||
BIN
Binary file not shown.
+12
-16
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1000"
|
LastUpgradeVersion = "1100"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -26,8 +26,17 @@
|
|||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
codeCoverageEnabled = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
codeCoverageEnabled = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52D6D97B1BEFF229002C0205"
|
||||||
|
BuildableName = "OpenSourceController.framework"
|
||||||
|
BlueprintName = "OpenSourceController-iOS"
|
||||||
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
<Testables>
|
<Testables>
|
||||||
<TestableReference
|
<TestableReference
|
||||||
skipped = "NO">
|
skipped = "NO">
|
||||||
@@ -40,17 +49,6 @@
|
|||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "52D6D97B1BEFF229002C0205"
|
|
||||||
BuildableName = "OpenSourceController.framework"
|
|
||||||
BlueprintName = "OpenSourceController-iOS"
|
|
||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@@ -71,8 +69,6 @@
|
|||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
+12
-16
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1000"
|
LastUpgradeVersion = "1100"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -26,8 +26,17 @@
|
|||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
codeCoverageEnabled = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
codeCoverageEnabled = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52D6DA0E1BF000BD002C0205"
|
||||||
|
BuildableName = "OpenSourceController.framework"
|
||||||
|
BlueprintName = "OpenSourceController-macOS"
|
||||||
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
<Testables>
|
<Testables>
|
||||||
<TestableReference
|
<TestableReference
|
||||||
skipped = "NO">
|
skipped = "NO">
|
||||||
@@ -40,17 +49,6 @@
|
|||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "52D6DA0E1BF000BD002C0205"
|
|
||||||
BuildableName = "OpenSourceController.framework"
|
|
||||||
BlueprintName = "OpenSourceController-macOS"
|
|
||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@@ -71,8 +69,6 @@
|
|||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
+12
-16
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1000"
|
LastUpgradeVersion = "1100"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -26,8 +26,17 @@
|
|||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
codeCoverageEnabled = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
codeCoverageEnabled = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "52D6D9EF1BEFFFBE002C0205"
|
||||||
|
BuildableName = "OpenSourceController.framework"
|
||||||
|
BlueprintName = "OpenSourceController-tvOS"
|
||||||
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
<Testables>
|
<Testables>
|
||||||
<TestableReference
|
<TestableReference
|
||||||
skipped = "NO">
|
skipped = "NO">
|
||||||
@@ -40,17 +49,6 @@
|
|||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "52D6D9EF1BEFFFBE002C0205"
|
|
||||||
BuildableName = "OpenSourceController.framework"
|
|
||||||
BlueprintName = "OpenSourceController-tvOS"
|
|
||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@@ -71,8 +69,6 @@
|
|||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
+3
-7
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1000"
|
LastUpgradeVersion = "1100"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -26,12 +26,10 @@
|
|||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
codeCoverageEnabled = "YES"
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
codeCoverageEnabled = "YES">
|
||||||
<Testables>
|
<Testables>
|
||||||
</Testables>
|
</Testables>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@@ -52,8 +50,6 @@
|
|||||||
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
ReferencedContainer = "container:OpenSourceController.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// swift-tools-version:5.1
|
||||||
|
import PackageDescription
|
||||||
|
|
||||||
|
let package = Package(
|
||||||
|
name: "OpenSourceController",
|
||||||
|
platforms: [.iOS(.v10)],
|
||||||
|
products: [
|
||||||
|
.library(name: "OpenSourceController", targets: ["OpenSourceController"])
|
||||||
|
],
|
||||||
|
targets: [
|
||||||
|
.target(
|
||||||
|
name: "OpenSourceController",
|
||||||
|
path: "",
|
||||||
|
sources: ["Sources"]
|
||||||
|
)
|
||||||
|
],
|
||||||
|
swiftLanguageVersions: [.v4, .v5]
|
||||||
|
)
|
||||||
@@ -10,10 +10,10 @@
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="#features">Features</a>
|
<a href="#features">Features</a>
|
||||||
• <a href="#installation">Installation</a>
|
|
||||||
• <a href="#usage">Usage</a>
|
• <a href="#usage">Usage</a>
|
||||||
• <a href="#translation">Translation</a>
|
• <a href="#translation">Translation</a>
|
||||||
• <a href="#customisation">Customisation</a>
|
• <a href="#customisation">Customisation</a>
|
||||||
|
• <a href="#installation">Installation</a>
|
||||||
• <a href="#license">License</a>
|
• <a href="#license">License</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -28,39 +28,11 @@ Display a screen with all licences used in your application can be painful to ma
|
|||||||
- [x] Display tableView with licences used in your app
|
- [x] Display tableView with licences used in your app
|
||||||
- [x] Download licence from an URL
|
- [x] Download licence from an URL
|
||||||
|
|
||||||
## Todo (feel free to make PR)
|
|
||||||
|
|
||||||
- [ ] Download licence from Podfile (https://github.com/terflogag/OpenSourceController/issues/1)
|
|
||||||
- [ ] Download licence from Cartfile (https://github.com/terflogag/OpenSourceController/issues/2)
|
|
||||||
- [ ] Download licence from local file
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
* Xcode 9
|
* Xcode 11
|
||||||
* iOS 9.0+ target deployment
|
* iOS 9.0+ target deployment
|
||||||
* Swift 3, Swift 4 or Swift 4.2 project
|
* Swift 3, Swift 4 or Swift 5.1 project
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
- To integrate OpenSourceController into your Xcode project using [CocoaPods](http://cocoapods.org), specify it in your Podfile :
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
pod "OpenSourceController", '~> 3.0.0' # Swift 4.2 Version
|
|
||||||
|
|
||||||
pod "OpenSourceController", '~> 2.0' # Swift 4.0 Version
|
|
||||||
|
|
||||||
pod "OpenSourceController", '~> 1.0.8' # Swift 3.1 version
|
|
||||||
```
|
|
||||||
|
|
||||||
- To integrate OpenSourceController into your Xcode project using [Carthage](https://github.com/Carthage/Carthage), specify it in your Cartfile :
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
github "floriangbh/OpenSourceController" ~> 3.0.0 # Swift 4.2 version
|
|
||||||
|
|
||||||
github "floriangbh/OpenSourceController" ~> 2.0 # Swift 4.0 version
|
|
||||||
|
|
||||||
github "floriangbh/OpenSourceController" ~> 1.0.8 # Swift 3.1 version
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -89,6 +61,30 @@ openSourceVC.presentOpenSourceController(from: self)
|
|||||||
openSourceVC.pushOpenSourceController(from: self)
|
openSourceVC.pushOpenSourceController(from: self)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
With SwiftUI :
|
||||||
|
|
||||||
|
```swift
|
||||||
|
struct OpenSourceView: UIViewControllerRepresentable {
|
||||||
|
@available(iOS 13, *)
|
||||||
|
public func updateUIViewController(_ uiViewController: OpenSourceViewController, context: UIViewControllerRepresentableContext<OpenSourceView>) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
@available(iOS 13, *)
|
||||||
|
public func makeUIViewController(context: UIViewControllerRepresentableContext<OpenSourceView>) -> OpenSourceViewController {
|
||||||
|
let openSourceVC = OpenSourceViewController(licences:
|
||||||
|
[LicenceFile(title: "FacebookImagePicker",
|
||||||
|
url: "https://raw.githubusercontent.com/terflogag/FacebookImagePicker/master/LICENSE"),
|
||||||
|
LicenceFile(title: "JSQMessagesViewController",
|
||||||
|
url: "https://raw.githubusercontent.com/jessesquires/JSQMessagesViewController/develop/LICENSE")],
|
||||||
|
showCloseButton: true,
|
||||||
|
configuration: OpenSourceControllerConfig(),
|
||||||
|
licenceLoader: LicenceLoader())
|
||||||
|
return openSourceVC
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Customisation
|
## Customisation
|
||||||
|
|
||||||
You can apply some customisation. To do it you can use the OpenSourceControllerConfig structure like this :
|
You can apply some customisation. To do it you can use the OpenSourceControllerConfig structure like this :
|
||||||
@@ -97,9 +93,6 @@ You can apply some customisation. To do it you can use the OpenSourceControllerC
|
|||||||
// Navigation bar title
|
// Navigation bar title
|
||||||
openSourceVC.config.title = "MyCustomTitle"
|
openSourceVC.config.title = "MyCustomTitle"
|
||||||
|
|
||||||
// Navigation bar tint color
|
|
||||||
openSourceVC.config.uiConfig.barTintColor = UIColor.red
|
|
||||||
|
|
||||||
// Close button color
|
// Close button color
|
||||||
openSourceVC.config.uiConfig.closeButtonColor = UIColor.white
|
openSourceVC.config.uiConfig.closeButtonColor = UIColor.white
|
||||||
|
|
||||||
@@ -127,6 +120,30 @@ OpenSourceController is currently write in english. If you need translation for
|
|||||||
"Unable to load this licence." = "<your_translation>";
|
"Unable to load this licence." = "<your_translation>";
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
- To integrate OpenSourceController into your Xcode project using [Swift Packet Manager](https://github.com/apple/swift-package-manager), specify this url in Xcode : `https://github.com/floriangbh/OpenSourceController`
|
||||||
|
|
||||||
|
- To integrate OpenSourceController into your Xcode project using [CocoaPods](http://cocoapods.org), specify it in your Podfile :
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
pod "OpenSourceController", '~> 3.0.0' # Swift 4.2 Version
|
||||||
|
|
||||||
|
pod "OpenSourceController", '~> 2.0' # Swift 4.0 Version
|
||||||
|
|
||||||
|
pod "OpenSourceController", '~> 1.0.8' # Swift 3.1 version
|
||||||
|
```
|
||||||
|
|
||||||
|
- To integrate OpenSourceController into your Xcode project using [Carthage](https://github.com/Carthage/Carthage), specify it in your Cartfile :
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
github "floriangbh/OpenSourceController" ~> 3.0.0 # Swift 4.2 version
|
||||||
|
|
||||||
|
github "floriangbh/OpenSourceController" ~> 2.0 # Swift 4.0 version
|
||||||
|
|
||||||
|
github "floriangbh/OpenSourceController" ~> 1.0.8 # Swift 3.1 version
|
||||||
|
```
|
||||||
|
|
||||||
## Author
|
## Author
|
||||||
|
|
||||||
Florian Gabach, florian.gabach@gmail.com
|
Florian Gabach, florian.gabach@gmail.com
|
||||||
|
|||||||
@@ -6,9 +6,13 @@
|
|||||||
// Copyright © 2018 OpenSourceController. All rights reserved.
|
// Copyright © 2018 OpenSourceController. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#if !os(macOS)
|
||||||
import UIKit
|
import UIKit
|
||||||
|
#else
|
||||||
|
import AppKit
|
||||||
|
#endif
|
||||||
|
|
||||||
final class LicenceListViewController: UITableViewController {
|
open class LicenceListViewController: UITableViewController {
|
||||||
|
|
||||||
// MARK: - Var
|
// MARK: - Var
|
||||||
|
|
||||||
@@ -24,11 +28,11 @@ final class LicenceListViewController: UITableViewController {
|
|||||||
super.init(style: .plain)
|
super.init(style: .plain)
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
fatalError("init(coder:) has not been implemented")
|
fatalError("init(coder:) has not been implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override open func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
self.prepareTableView()
|
self.prepareTableView()
|
||||||
@@ -50,22 +54,22 @@ extension LicenceListViewController {
|
|||||||
|
|
||||||
// MARK: - Table View Data Source
|
// MARK: - Table View Data Source
|
||||||
|
|
||||||
override func numberOfSections(in tableView: UITableView) -> Int {
|
override open func numberOfSections(in tableView: UITableView) -> Int {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
override open func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||||
return self.downloadedLicence.count
|
return self.downloadedLicence.count
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
override open func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||||
let cell: OpenSourceTableViewCell = tableView.dequeueReusableCell(for: indexPath)
|
let cell: OpenSourceTableViewCell = tableView.dequeueReusableCell(for: indexPath)
|
||||||
guard let licence = self.downloadedLicence.get(at: indexPath.row) else { return cell }
|
guard let licence = self.downloadedLicence.get(at: indexPath.row) else { return cell }
|
||||||
cell.configure(licence: licence, config: self.config)
|
cell.configure(licence: licence, config: self.config)
|
||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
|
override open func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
|
||||||
return UITableView.automaticDimension
|
return UITableView.automaticDimension
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,12 +8,17 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
final class LoadingViewController: UIViewController {
|
open class LoadingViewController: UIViewController {
|
||||||
|
|
||||||
// MARK: - Var
|
// MARK: - Var
|
||||||
|
|
||||||
fileprivate lazy var activityIndicator: UIActivityIndicatorView = {
|
fileprivate lazy var activityIndicator: UIActivityIndicatorView = {
|
||||||
let activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
|
let activityIndicator = UIActivityIndicatorView()
|
||||||
|
if #available(iOS 13.0, *) {
|
||||||
|
activityIndicator.style = UIActivityIndicatorView.Style.medium
|
||||||
|
} else {
|
||||||
|
activityIndicator.style = UIActivityIndicatorView.Style.gray
|
||||||
|
}
|
||||||
activityIndicator.startAnimating()
|
activityIndicator.startAnimating()
|
||||||
return activityIndicator
|
return activityIndicator
|
||||||
}()
|
}()
|
||||||
@@ -27,16 +32,17 @@ final class LoadingViewController: UIViewController {
|
|||||||
super.init(nibName: nil, bundle: nil)
|
super.init(nibName: nil, bundle: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
fatalError("init(coder:) has not been implemented")
|
fatalError("init(coder:) has not been implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override open func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
self.view.backgroundColor = self.config.uiConfig.backgroundColor
|
self.view.backgroundColor = self.config.uiConfig.backgroundColor
|
||||||
|
|
||||||
self.view.addSubview(self.activityIndicator)
|
self.view.addSubview(self.activityIndicator)
|
||||||
|
self.activityIndicator.translatesAutoresizingMaskIntoConstraints = false
|
||||||
self.activityIndicator.pinCenter(to: self.view)
|
self.activityIndicator.pinCenter(to: self.view)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
final class OpenSourceTableViewCell: UITableViewCell, Reusable {
|
open class OpenSourceTableViewCell: UITableViewCell, Reusable {
|
||||||
|
|
||||||
// MARK: - Lifecycle
|
// MARK: - Lifecycle
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ final class OpenSourceTableViewCell: UITableViewCell, Reusable {
|
|||||||
self.prepareCellComponent()
|
self.prepareCellComponent()
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
super.init(coder: aDecoder)
|
super.init(coder: aDecoder)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,9 +32,6 @@ final class OpenSourceTableViewCell: UITableViewCell, Reusable {
|
|||||||
func configure(licence: LicenceFile, config: OpenSourceControllerConfig) {
|
func configure(licence: LicenceFile, config: OpenSourceControllerConfig) {
|
||||||
self.textLabel?.attributedText = licence.attributedContent
|
self.textLabel?.attributedText = licence.attributedContent
|
||||||
self.textLabel?.textColor = config.uiConfig.licenceTextColor
|
self.textLabel?.textColor = config.uiConfig.licenceTextColor
|
||||||
|
self.backgroundColor = config.uiConfig.licenceBackgroundColor
|
||||||
if let backgroundColor = config.uiConfig.licenceBackgroundColor {
|
|
||||||
self.backgroundColor = backgroundColor
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
final class OpenSourceViewController: UIViewController {
|
open class OpenSourceViewController: UIViewController {
|
||||||
|
|
||||||
// MARK: - Var
|
// MARK: - Var
|
||||||
|
|
||||||
@@ -24,13 +24,17 @@ final class OpenSourceViewController: UIViewController {
|
|||||||
|
|
||||||
fileprivate lazy var closeButton: UIBarButtonItem = {
|
fileprivate lazy var closeButton: UIBarButtonItem = {
|
||||||
let closeButton = UIBarButtonItem(barButtonSystemItem: .stop, target: self, action: #selector(self.closePicker))
|
let closeButton = UIBarButtonItem(barButtonSystemItem: .stop, target: self, action: #selector(self.closePicker))
|
||||||
closeButton.tintColor = self.config.uiConfig.closeButtonColor ?? UIColor.black
|
closeButton.tintColor = self.config.uiConfig.closeButtonColor
|
||||||
return closeButton
|
return closeButton
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// MARK: - Lifecyle
|
// MARK: - Lifecyle
|
||||||
|
|
||||||
init(licences: [LicenceFile], showCloseButton: Bool, configuration: OpenSourceControllerConfig, licenceLoader: LicenceLoader) {
|
public init(licences: [LicenceFile],
|
||||||
|
showCloseButton: Bool,
|
||||||
|
configuration: OpenSourceControllerConfig,
|
||||||
|
licenceLoader: LicenceLoader) {
|
||||||
|
|
||||||
self.licenceLoader = licenceLoader
|
self.licenceLoader = licenceLoader
|
||||||
self.licences = licences
|
self.licences = licences
|
||||||
self.showCloseButton = showCloseButton
|
self.showCloseButton = showCloseButton
|
||||||
@@ -38,11 +42,11 @@ final class OpenSourceViewController: UIViewController {
|
|||||||
super.init(nibName: nil, bundle: nil)
|
super.init(nibName: nil, bundle: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
required public init?(coder aDecoder: NSCoder) {
|
||||||
fatalError("init(coder:) has not been implemented")
|
fatalError("init(coder:) has not been implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override open func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
self.title = self.config.title
|
self.title = self.config.title
|
||||||
@@ -59,14 +63,9 @@ final class OpenSourceViewController: UIViewController {
|
|||||||
// MARK: - Prepare
|
// MARK: - Prepare
|
||||||
|
|
||||||
fileprivate func prepareStyle() {
|
fileprivate func prepareStyle() {
|
||||||
if let tintColor = self.config.uiConfig.barTintColor {
|
let titleColor = self.config.uiConfig.titleColor
|
||||||
self.navigationController?.navigationBar.barTintColor = tintColor
|
let attribut = [NSAttributedString.Key.foregroundColor: titleColor]
|
||||||
}
|
self.navigationController?.navigationBar.titleTextAttributes = attribut
|
||||||
|
|
||||||
if let textColor = self.config.uiConfig.titleColor {
|
|
||||||
let attribut = [NSAttributedString.Key.foregroundColor: textColor]
|
|
||||||
self.navigationController?.navigationBar.titleTextAttributes = attribut
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func prepareLicences() {
|
fileprivate func prepareLicences() {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
final class HTTPDataLoader {
|
open class HTTPDataLoader {
|
||||||
func loadData(fromUrl url: String, completion: @escaping (Data?) -> Void) {
|
func loadData(fromUrl url: String, completion: @escaping (Data?) -> Void) {
|
||||||
if let url = URL(string: url) {
|
if let url = URL(string: url) {
|
||||||
let task = URLSession.shared.dataTask(with: url) { (data, _, error) in
|
let task = URLSession.shared.dataTask(with: url) { (data, _, error) in
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
final class LicenceLoader {
|
open class LicenceLoader {
|
||||||
|
|
||||||
/// Download every licence
|
/// Download every licence
|
||||||
///
|
///
|
||||||
@@ -32,4 +32,6 @@ final class LicenceLoader {
|
|||||||
completion()
|
completion()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public init() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
public final class LicenceFile {
|
open class LicenceFile {
|
||||||
|
|
||||||
// MARK- Var
|
// MARK- Var
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
// Created by Florian Gabach on 05/02/2017.
|
// Created by Florian Gabach on 05/02/2017.
|
||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
#if canImport(SwiftUI)
|
||||||
|
import SwiftUI
|
||||||
|
#endif
|
||||||
|
|
||||||
open class OpenSourceController: NSObject {
|
open class OpenSourceController: NSObject {
|
||||||
|
|
||||||
@@ -43,3 +46,4 @@ open class OpenSourceController: NSObject {
|
|||||||
navigationController.pushViewController(licenceController, animated: true)
|
navigationController.pushViewController(licenceController, animated: true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,23 +11,21 @@ public struct OpenSourceControllerConfig {
|
|||||||
|
|
||||||
/// Sub-stuct holding configuration relevant to UI presentation !
|
/// Sub-stuct holding configuration relevant to UI presentation !
|
||||||
public struct UIConfig {
|
public struct UIConfig {
|
||||||
/// Will be applied to the navigation bar
|
|
||||||
public var barTintColor: UIColor?
|
|
||||||
|
|
||||||
/// Will be applied to the navigation bar
|
/// Will be applied to the navigation bar
|
||||||
public var backgroundColor: UIColor = .white
|
public var backgroundColor: UIColor = Style.background
|
||||||
|
|
||||||
/// Will be applied to licence text
|
/// Will be applied to licence text
|
||||||
public var licenceBackgroundColor: UIColor?
|
public var licenceBackgroundColor: UIColor = Style.background
|
||||||
|
|
||||||
/// Will be applied to the navigation bar
|
/// Will be applied to the navigation bar
|
||||||
public var closeButtonColor: UIColor?
|
public var closeButtonColor: UIColor = Style.label
|
||||||
|
|
||||||
/// Will be applied to licence text
|
/// Will be applied to licence text
|
||||||
public var licenceTextColor: UIColor?
|
public var licenceTextColor: UIColor = Style.label
|
||||||
|
|
||||||
/// Will be applied to licence text
|
/// Will be applied to licence text
|
||||||
public var titleColor: UIColor?
|
public var titleColor: UIColor = Style.label
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Will be applied to the navigation bar title
|
/// Will be applied to the navigation bar title
|
||||||
@@ -37,5 +35,8 @@ public struct OpenSourceControllerConfig {
|
|||||||
public var verbose: Bool = false
|
public var verbose: Bool = false
|
||||||
|
|
||||||
/// UI-specific configuration.
|
/// UI-specific configuration.
|
||||||
|
|
||||||
|
public init() {
|
||||||
|
}
|
||||||
public var uiConfig = UIConfig()
|
public var uiConfig = UIConfig()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// UIColor+Extension.swift
|
||||||
|
// OpenSourceControllerDemo
|
||||||
|
//
|
||||||
|
// Created by Florian Gabach on 11/11/2019.
|
||||||
|
// Copyright © 2019 OpenSourceController. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
struct Style {
|
||||||
|
static var background: UIColor {
|
||||||
|
if #available(iOS 13.0, *) {
|
||||||
|
return UIColor.systemBackground
|
||||||
|
} else {
|
||||||
|
return UIColor.black
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static var label: UIColor {
|
||||||
|
if #available(iOS 13.0, *) {
|
||||||
|
return UIColor.label
|
||||||
|
} else {
|
||||||
|
return UIColor.black
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,12 +9,12 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
extension UITableView {
|
extension UITableView {
|
||||||
final func register<T: UITableViewCell>(cellType: T.Type)
|
open func register<T: UITableViewCell>(cellType: T.Type)
|
||||||
where T: Reusable {
|
where T: Reusable {
|
||||||
self.register(cellType.self, forCellReuseIdentifier: cellType.reuseIdentifier)
|
self.register(cellType.self, forCellReuseIdentifier: cellType.reuseIdentifier)
|
||||||
}
|
}
|
||||||
|
|
||||||
final func dequeueReusableCell<T: UITableViewCell>(for indexPath: IndexPath, cellType: T.Type = T.self) -> T
|
open func dequeueReusableCell<T: UITableViewCell>(for indexPath: IndexPath, cellType: T.Type = T.self) -> T
|
||||||
where T: Reusable {
|
where T: Reusable {
|
||||||
guard let cell = self.dequeueReusableCell(withIdentifier: cellType.reuseIdentifier, for: indexPath) as? T else {
|
guard let cell = self.dequeueReusableCell(withIdentifier: cellType.reuseIdentifier, for: indexPath) as? T else {
|
||||||
fatalError(
|
fatalError(
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ extension UIView {
|
|||||||
// MARK: - Layout
|
// MARK: - Layout
|
||||||
|
|
||||||
func pinEdges(to other: UIView, withBorderSize size: CGFloat = 0.0) {
|
func pinEdges(to other: UIView, withBorderSize size: CGFloat = 0.0) {
|
||||||
self.translatesAutoresizingMaskIntoConstraints = false
|
|
||||||
self.leadingAnchor.constraint(equalTo: other.leadingAnchor, constant: size).isActive = true
|
self.leadingAnchor.constraint(equalTo: other.leadingAnchor, constant: size).isActive = true
|
||||||
self.trailingAnchor.constraint(equalTo: other.trailingAnchor, constant: size).isActive = true
|
self.trailingAnchor.constraint(equalTo: other.trailingAnchor, constant: size).isActive = true
|
||||||
self.topAnchor.constraint(equalTo: other.topAnchor, constant: size).isActive = true
|
self.topAnchor.constraint(equalTo: other.topAnchor, constant: size).isActive = true
|
||||||
@@ -21,7 +20,6 @@ extension UIView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func pinCenter(to other: UIView) {
|
func pinCenter(to other: UIView) {
|
||||||
self.translatesAutoresizingMaskIntoConstraints = false
|
|
||||||
self.centerXAnchor.constraint(equalTo: other.centerXAnchor).isActive = true
|
self.centerXAnchor.constraint(equalTo: other.centerXAnchor).isActive = true
|
||||||
self.centerYAnchor.constraint(equalTo: other.centerYAnchor).isActive = true
|
self.centerYAnchor.constraint(equalTo: other.centerYAnchor).isActive = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ extension UIViewController {
|
|||||||
func add(_ child: UIViewController) {
|
func add(_ child: UIViewController) {
|
||||||
self.addChild(child)
|
self.addChild(child)
|
||||||
self.view.addSubview(child.view)
|
self.view.addSubview(child.view)
|
||||||
|
view.pinEdges(to: child.view)
|
||||||
child.didMove(toParent: self)
|
child.didMove(toParent: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -3,9 +3,6 @@
|
|||||||
default_platform(:ios)
|
default_platform(:ios)
|
||||||
|
|
||||||
platform :ios do
|
platform :ios do
|
||||||
|
|
||||||
podspec_name = "OpenSourceController.podspec"
|
|
||||||
|
|
||||||
desc "Release a new version with a patch bump_type"
|
desc "Release a new version with a patch bump_type"
|
||||||
lane :patch do
|
lane :patch do
|
||||||
release("patch")
|
release("patch")
|
||||||
@@ -21,7 +18,13 @@ platform :ios do
|
|||||||
release("major")
|
release("major")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc "Scan the project"
|
||||||
|
lane :scan_project do
|
||||||
|
scan(scheme: "OpenSourceController-iOS")
|
||||||
|
end
|
||||||
|
|
||||||
def release(type)
|
def release(type)
|
||||||
|
podspec_name = "OpenSourceController.podspec"
|
||||||
pod_lib_lint(use_bundle_exec: false)
|
pod_lib_lint(use_bundle_exec: false)
|
||||||
version = version_bump_podspec(path: podspec_name, bump_type: type)
|
version = version_bump_podspec(path: podspec_name, bump_type: type)
|
||||||
git_add(path: podspec_name)
|
git_add(path: podspec_name)
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
fastlane documentation
|
||||||
|
================
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
Make sure you have the latest version of the Xcode command line tools installed:
|
||||||
|
|
||||||
|
```
|
||||||
|
xcode-select --install
|
||||||
|
```
|
||||||
|
|
||||||
|
Install _fastlane_ using
|
||||||
|
```
|
||||||
|
[sudo] gem install fastlane -NV
|
||||||
|
```
|
||||||
|
or alternatively using `brew cask install fastlane`
|
||||||
|
|
||||||
|
# Available Actions
|
||||||
|
## iOS
|
||||||
|
### ios patch
|
||||||
|
```
|
||||||
|
fastlane ios patch
|
||||||
|
```
|
||||||
|
Release a new version with a patch bump_type
|
||||||
|
### ios minor
|
||||||
|
```
|
||||||
|
fastlane ios minor
|
||||||
|
```
|
||||||
|
Release a new version with a minor bump_type
|
||||||
|
### ios major
|
||||||
|
```
|
||||||
|
fastlane ios major
|
||||||
|
```
|
||||||
|
Release a new version with a major bump_type
|
||||||
|
### ios buildproject
|
||||||
|
```
|
||||||
|
fastlane ios buildproject
|
||||||
|
```
|
||||||
|
Build the project
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
|
||||||
|
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
|
||||||
|
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Test Results | xcpretty</title>
|
||||||
|
<style type="text/css">
|
||||||
|
body { font-family:Avenir Next, Helvetica Neue, sans-serif; color: #4A4A4A; background-color: #F0F3FB; margin:0;}
|
||||||
|
h1 { font-weight: normal; font-size: 24px; margin: 10px 0 0 0;}
|
||||||
|
h3 { font-weight: normal; margin: 2px; font-size: 1.1em;}
|
||||||
|
header { position: fixed;width: 100%;background: rgba(249, 254, 255, 0.9);margin: 0;padding: 10px;}
|
||||||
|
header:before, header:after { content:""; display:table;}
|
||||||
|
header:after { clear:both;}
|
||||||
|
a:link { color: #A1D761;}
|
||||||
|
footer { clear: both;position: relative;z-index: 10;height: 40px;margin-top: -10px; margin-left:30px; font-size:12px;}
|
||||||
|
table { width:100%; border-collapse: collapse;}
|
||||||
|
tr td:first-child { width:7%}
|
||||||
|
.left { float: left; margin-left:30px;}
|
||||||
|
.right { float: right; margin-right: 40px; margin-top: 0; margin-bottom:0;}
|
||||||
|
.test-suite { margin: 0 0 30px 0;}
|
||||||
|
.test-suite > .heading { font-family:Menlo, Monaco, monospace; font-weight: bold; border-color: #A1D761; background-color: #B8E986; border-width: 1px;}
|
||||||
|
.test-suite.failing > .heading { border-color: #C84F5E; background-color: #E58591;}
|
||||||
|
.test-suite > .heading > .title { margin-top: 4px; margin-left: 10px;}
|
||||||
|
.tests { overflow: scroll;margin: 0 30px 0 60px;}
|
||||||
|
.test, .test-suite > .heading { height: 30px; overflow: hidden; margin: 0 30px;}
|
||||||
|
.test, .test-suite > .heading { border-width: 1px; border-collapse: collapse; border-style: solid; }
|
||||||
|
.test { margin-left: 30px; border-top:none;}
|
||||||
|
.test.failing { border-color: #C84F5E; background-color: #F4DDE0;}
|
||||||
|
.test.passing { border-color: #A1D761;}
|
||||||
|
.test.failing { background-color: #E7A1AA;}
|
||||||
|
.test.passing { background-color: #CAF59F;}
|
||||||
|
.test.failing.odd { background-color: #EEC7CC;}
|
||||||
|
.test.passing.odd { background-color: #E5FBCF;}
|
||||||
|
.details.failing { background-color: #F4DDE0; border: 1px solid #C84F5E;}
|
||||||
|
.details.passing { background-color: #E5F4DC; border: 1px solid #A1D761;}
|
||||||
|
.test .test-detail:last-child { padding-bottom: 8px;}
|
||||||
|
.test .title { float: left; font-size: 0.9em; margin-top: 8px; font-family: Menlo, Monaco, monospace;}
|
||||||
|
.test .time { float: left;margin: 4px 10px 0 20px;}
|
||||||
|
.test-detail { font-family:Menlo, Monaco, monospace; font-size: 0.9em; margin: 5px 0 5px 0px;}
|
||||||
|
.screenshots { height: auto; overflow: hidden; padding: 4px 4px 0 4px; background-color: #B8E986; border: #A1D761; border-width: 0 1px; border-style: solid; }
|
||||||
|
.screenshots.failing { border-color: #C84F5E; background-color: #E58591; }
|
||||||
|
.screenshot { max-height: 60px; float: left; transition: max-height 0.2s; margin: 0 4px 4px 0 }
|
||||||
|
.screenshot.selected { max-height: 568px; }
|
||||||
|
#test-suites { display: inline-block; width: 100%;margin-top:100px;}
|
||||||
|
#segment-bar { margin-top: 10px;margin-left: 14px;float:right;}
|
||||||
|
#segment-bar a:first-child { border-radius: 9px 0 0 9px; border-right: none;}
|
||||||
|
#segment-bar a:last-child { border-radius: 0 9px 9px 0; border-left: none;}
|
||||||
|
#segment-bar > a { color: #565656; border: 2px solid #7B7B7B; width: 80px; font-weight: bold; display:inline-block;text-align:center; font-weight: normal;}
|
||||||
|
#segment-bar > a.selected { background-color: #979797; color: #F0F3FB;}
|
||||||
|
#counters { float: left;margin: 10px;text-align: right;}
|
||||||
|
#counters h2 { font-size: 16px; font-family: Avenir, sans-serif; font-weight: lighter; display:inline;}
|
||||||
|
#counters .number { font-size: 20px;}
|
||||||
|
#fail-count { color: #D0021B; margin-left:10px;}
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
h1, #counters, #segment-bar { margin: 5px auto; text-align:center;}
|
||||||
|
header, #segment-bar { width: 100%; position: relative; background:none;}
|
||||||
|
.left, .right { float:none; margin:0;}
|
||||||
|
#test-suites { margin-top: 0;}
|
||||||
|
#counters { float:none;}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var hide = function(element) { element.style.display = 'none';}
|
||||||
|
var show = function(element) { element.style.display = '';}
|
||||||
|
var isHidden = function(element) { return element.style.display == 'none';}
|
||||||
|
var isSelected = function(element) { return element.classList.contains("selected");}
|
||||||
|
var deselect = function(element) { return element.classList.remove("selected");}
|
||||||
|
var select = function(element) { return element.classList.add("selected");}
|
||||||
|
var toggle = function(element) { isHidden(element) ? show(element) : hide(element);};
|
||||||
|
var toggleTests = function(heading) { toggle(heading.parentNode.children[1]);};
|
||||||
|
var toggleDetails = function(detailClass) {
|
||||||
|
var details = document.querySelectorAll('.' + detailClass);
|
||||||
|
for (var i = details.length - 1; i >= 0; i--) { toggle(details[i]);};
|
||||||
|
};
|
||||||
|
var hideAll = function(collection) {
|
||||||
|
for (var i = collection.length - 1; i >= 0; i--) { hide(collection[i]); };
|
||||||
|
}
|
||||||
|
var showAll = function(collection) {
|
||||||
|
for (var i = collection.length - 1; i >= 0; i--) { show(collection[i]); };
|
||||||
|
}
|
||||||
|
var selectSegment = function(segment) {
|
||||||
|
if (isSelected(segment)) return;
|
||||||
|
var segments = document.querySelectorAll('#segment-bar > a');
|
||||||
|
for (var i = segments.length - 1; i >= 0; i--) { deselect(segments[i]);};
|
||||||
|
select(segment);
|
||||||
|
if (segment.id == "all-segment") {
|
||||||
|
showAll(document.querySelectorAll('.test-suite'));
|
||||||
|
showAll(document.querySelectorAll('.test'));
|
||||||
|
} else if (segment.id == "failing-segment") {
|
||||||
|
hideAll(document.querySelectorAll('.test.passing'));
|
||||||
|
showAll(document.querySelectorAll('.test.failing'));
|
||||||
|
hideAll(document.querySelectorAll('.test-suite.passing'));
|
||||||
|
showAll(document.querySelectorAll('.test-suite.failing'));
|
||||||
|
} else if (segment.id == "passing-segment") {
|
||||||
|
hideAll(document.querySelectorAll('.test.failing'));
|
||||||
|
showAll(document.querySelectorAll('.test.passing'));
|
||||||
|
hideAll(document.querySelectorAll('.test-suite.failing'));
|
||||||
|
showAll(document.querySelectorAll('.test-suite.passing'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var toggleScreenshot = function(suiteName, index) {
|
||||||
|
var screenshot = document.getElementById("screenshot-" + suiteName + "-" + index);
|
||||||
|
isSelected(screenshot) ? deselect(screenshot) : select(screenshot);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<section class="left">
|
||||||
|
<h1>Test Results</h1>
|
||||||
|
</section>
|
||||||
|
<section class="right">
|
||||||
|
<section id="counters">
|
||||||
|
<h2 id="test-count"><span class="number">0</span> tests</h2>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<section id="segment-bar">
|
||||||
|
<a id="all-segment" onclick="selectSegment(this);" class="selected">All</a><a id="failing-segment" onclick="selectSegment(this);">Failing</a><a id="passing-segment" onclick="selectSegment(this);">Passing</a>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
</header>
|
||||||
|
<section id="test-suites">
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<footer>Report generated with <a href="https://github.com/supermarin/xcpretty">xcpretty</a></footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<testsuites tests='0' failures='0'/>
|
||||||
Reference in New Issue
Block a user