Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73adcdcdad | ||
|
|
e75d19aac6 | ||
|
|
7a1565d631 | ||
|
|
15bdd515e7 | ||
|
|
cc51d8fa12 | ||
|
|
fcc1b6f893 | ||
|
|
2d989f3791 |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -1,6 +1,19 @@
|
||||
Changelog
|
||||
==========
|
||||
|
||||
### 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
|
||||
|
||||
- Small refactoring
|
||||
|
||||
-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 = {
|
||||
|
||||
/* 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 */; };
|
||||
76D7F28121BEB3A0004B74CB /* OpenSourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D7F26F21BEB3A0004B74CB /* OpenSourceController.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 */; };
|
||||
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 76EAA86B1E93F2CC009A41DA /* Assets.xcassets */; };
|
||||
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 */
|
||||
|
||||
/* 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>"; };
|
||||
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>"; };
|
||||
@@ -53,7 +57,6 @@
|
||||
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>"; };
|
||||
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 */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -89,6 +92,7 @@
|
||||
76D7F27421BEB3A0004B74CB /* UIView+Extensions.swift */,
|
||||
76D7F27521BEB3A0004B74CB /* Reusable.swift */,
|
||||
76D7F27621BEB3A0004B74CB /* UITableView+Extensions.swift */,
|
||||
7622F02D2379B559001B4F5D /* Style.swift */,
|
||||
);
|
||||
path = Utils;
|
||||
sourceTree = "<group>";
|
||||
@@ -108,6 +112,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
76D7F27D21BEB3A0004B74CB /* HTTPDataLoader.swift */,
|
||||
76D7F28021BEB3A0004B74CB /* LicenceLoader.swift */,
|
||||
);
|
||||
path = Loader;
|
||||
sourceTree = "<group>";
|
||||
@@ -116,7 +121,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
76D7F27F21BEB3A0004B74CB /* LicenceFile.swift */,
|
||||
76D7F28021BEB3A0004B74CB /* LicenceLoader.swift */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -124,8 +128,8 @@
|
||||
76EAA8581E93F2CC009A41DA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C33E4D95204442AC00142EE6 /* CHANGELOG.md */,
|
||||
7627B06121807C4B0057FFBB /* README.md */,
|
||||
7622F02B23796B67001B4F5D /* CHANGELOG.md */,
|
||||
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */,
|
||||
76D7F26E21BEB3A0004B74CB /* Sources */,
|
||||
76EAA8621E93F2CC009A41DA /* Products */,
|
||||
@@ -143,6 +147,7 @@
|
||||
76EAA8631E93F2CC009A41DA /* OpenSourceControllerDemo */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7622F02A23796A81001B4F5D /* OpenSourceControllerDemo.entitlements */,
|
||||
76EAA8641E93F2CC009A41DA /* AppDelegate.swift */,
|
||||
76EAA8661E93F2CC009A41DA /* ViewController.swift */,
|
||||
76EAA8681E93F2CC009A41DA /* Main.storyboard */,
|
||||
@@ -215,10 +220,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
76EAA86F1E93F2CC009A41DA /* LaunchScreen.storyboard in Resources */,
|
||||
7622F02C23796B67001B4F5D /* CHANGELOG.md in Resources */,
|
||||
76EAA86C1E93F2CC009A41DA /* Assets.xcassets in Resources */,
|
||||
7627B06221807C4B0057FFBB /* README.md in Resources */,
|
||||
76EAA86A1E93F2CC009A41DA /* Main.storyboard in Resources */,
|
||||
C33E4D96204442AC00142EE6 /* CHANGELOG.md in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -233,6 +238,7 @@
|
||||
76D7F28521BEB3A0004B74CB /* UIView+Extensions.swift in Sources */,
|
||||
76D7F28221BEB3A0004B74CB /* OpenSourceControllerConfig.swift in Sources */,
|
||||
76D7F28321BEB3A0004B74CB /* Array+Extensions.swift in Sources */,
|
||||
7622F02E2379B559001B4F5D /* Style.swift in Sources */,
|
||||
76EAA8671E93F2CC009A41DA /* ViewController.swift in Sources */,
|
||||
76D7F28921BEB3A0004B74CB /* LicenceListViewController.swift in Sources */,
|
||||
76D7F28C21BEB3A0004B74CB /* HTTPDataLoader.swift in Sources */,
|
||||
@@ -389,11 +395,14 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = OpenSourceControllerDemo/OpenSourceControllerDemo.entitlements;
|
||||
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTS_MACCATALYST = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -402,11 +411,14 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = OpenSourceControllerDemo/OpenSourceControllerDemo.entitlements;
|
||||
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
|
||||
DEVELOPMENT_TEAM = XEHEC9B46E;
|
||||
INFOPLIST_FILE = OpenSourceControllerDemo/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.fg.OpenSourceControllerDemo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTS_MACCATALYST = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
+2
@@ -4,5 +4,7 @@
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Latest</string>
|
||||
<key>PreviewsEnabled</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
BIN
Binary file not shown.
@@ -1,11 +1,9 @@
|
||||
<?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">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<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" appearance="light"/>
|
||||
<dependencies>
|
||||
<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"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
@@ -24,7 +22,7 @@
|
||||
<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"/>
|
||||
<state key="normal" title="Show me (push)">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<color key="titleColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
<connections>
|
||||
<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"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Show me (present)">
|
||||
<color key="titleColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<color key="titleColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="presentOpenSourceController:" destination="BYZ-38-t0r" eventType="touchUpInside" id="SoS-HF-0LZ"/>
|
||||
</connections>
|
||||
</button>
|
||||
</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"/>
|
||||
<constraints>
|
||||
<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">
|
||||
<toolbarItems/>
|
||||
<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"/>
|
||||
</navigationBar>
|
||||
<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
|
||||
openSourceVC.config.title = "MyCustomTitle"
|
||||
|
||||
// Navigation bar tint color
|
||||
openSourceVC.config.uiConfig.barTintColor = UIColor.red
|
||||
|
||||
// Close button color
|
||||
openSourceVC.config.uiConfig.closeButtonColor = UIColor.green
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'OpenSourceController'
|
||||
s.version = '3.2.1'
|
||||
s.version = '4.0.0'
|
||||
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.homepage = 'https://github.com/floriangbh/OpenSourceController'
|
||||
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,28 @@
|
||||
// swift-tools-version:5.1
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "OpenSourceController",
|
||||
products: [
|
||||
// Products define the executables and libraries produced by a package, and make them visible to other packages.
|
||||
.library(
|
||||
name: "OpenSourceController",
|
||||
targets: ["OpenSourceController"]),
|
||||
],
|
||||
dependencies: [
|
||||
// Dependencies declare other packages that this package depends on.
|
||||
// .package(url: /* package url */, from: "1.0.0"),
|
||||
],
|
||||
targets: [
|
||||
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
|
||||
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
|
||||
.target(
|
||||
name: "OpenSourceController",
|
||||
dependencies: []),
|
||||
.testTarget(
|
||||
name: "OpenSourceControllerTests",
|
||||
dependencies: ["OpenSourceController"]),
|
||||
]
|
||||
)
|
||||
@@ -97,9 +97,6 @@ You can apply some customisation. To do it you can use the OpenSourceControllerC
|
||||
// Navigation bar title
|
||||
openSourceVC.config.title = "MyCustomTitle"
|
||||
|
||||
// Navigation bar tint color
|
||||
openSourceVC.config.uiConfig.barTintColor = UIColor.red
|
||||
|
||||
// Close button color
|
||||
openSourceVC.config.uiConfig.closeButtonColor = UIColor.white
|
||||
|
||||
|
||||
@@ -13,7 +13,12 @@ final class LoadingViewController: UIViewController {
|
||||
// MARK: - Var
|
||||
|
||||
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()
|
||||
return activityIndicator
|
||||
}()
|
||||
@@ -37,6 +42,7 @@ final class LoadingViewController: UIViewController {
|
||||
self.view.backgroundColor = self.config.uiConfig.backgroundColor
|
||||
|
||||
self.view.addSubview(self.activityIndicator)
|
||||
self.activityIndicator.translatesAutoresizingMaskIntoConstraints = false
|
||||
self.activityIndicator.pinCenter(to: self.view)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,9 +32,6 @@ final class OpenSourceTableViewCell: UITableViewCell, Reusable {
|
||||
func configure(licence: LicenceFile, config: OpenSourceControllerConfig) {
|
||||
self.textLabel?.attributedText = licence.attributedContent
|
||||
self.textLabel?.textColor = config.uiConfig.licenceTextColor
|
||||
|
||||
if let backgroundColor = config.uiConfig.licenceBackgroundColor {
|
||||
self.backgroundColor = backgroundColor
|
||||
}
|
||||
self.backgroundColor = config.uiConfig.licenceBackgroundColor
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,13 +24,17 @@ final class OpenSourceViewController: UIViewController {
|
||||
|
||||
fileprivate lazy var closeButton: UIBarButtonItem = {
|
||||
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
|
||||
}()
|
||||
|
||||
// MARK: - Lifecyle
|
||||
|
||||
init(licences: [LicenceFile], showCloseButton: Bool, configuration: OpenSourceControllerConfig, licenceLoader: LicenceLoader) {
|
||||
init(licences: [LicenceFile],
|
||||
showCloseButton: Bool,
|
||||
configuration: OpenSourceControllerConfig,
|
||||
licenceLoader: LicenceLoader) {
|
||||
|
||||
self.licenceLoader = licenceLoader
|
||||
self.licences = licences
|
||||
self.showCloseButton = showCloseButton
|
||||
@@ -59,14 +63,9 @@ final class OpenSourceViewController: UIViewController {
|
||||
// MARK: - Prepare
|
||||
|
||||
fileprivate func prepareStyle() {
|
||||
if let tintColor = self.config.uiConfig.barTintColor {
|
||||
self.navigationController?.navigationBar.barTintColor = tintColor
|
||||
}
|
||||
|
||||
if let textColor = self.config.uiConfig.titleColor {
|
||||
let attribut = [NSAttributedString.Key.foregroundColor: textColor]
|
||||
self.navigationController?.navigationBar.titleTextAttributes = attribut
|
||||
}
|
||||
let titleColor = self.config.uiConfig.titleColor
|
||||
let attribut = [NSAttributedString.Key.foregroundColor: titleColor]
|
||||
self.navigationController?.navigationBar.titleTextAttributes = attribut
|
||||
}
|
||||
|
||||
fileprivate func prepareLicences() {
|
||||
|
||||
@@ -11,23 +11,21 @@ public struct OpenSourceControllerConfig {
|
||||
|
||||
/// Sub-stuct holding configuration relevant to UI presentation !
|
||||
public struct UIConfig {
|
||||
/// Will be applied to the navigation bar
|
||||
public var barTintColor: UIColor?
|
||||
|
||||
/// Will be applied to the navigation bar
|
||||
public var backgroundColor: UIColor = .white
|
||||
public var backgroundColor: UIColor = Style.background
|
||||
|
||||
/// Will be applied to licence text
|
||||
public var licenceBackgroundColor: UIColor?
|
||||
public var licenceBackgroundColor: UIColor = Style.background
|
||||
|
||||
/// Will be applied to the navigation bar
|
||||
public var closeButtonColor: UIColor?
|
||||
public var closeButtonColor: UIColor = Style.label
|
||||
|
||||
/// Will be applied to licence text
|
||||
public var licenceTextColor: UIColor?
|
||||
public var licenceTextColor: UIColor = Style.label
|
||||
|
||||
/// Will be applied to licence text
|
||||
public var titleColor: UIColor?
|
||||
public var titleColor: UIColor = Style.label
|
||||
}
|
||||
|
||||
/// Will be applied to the navigation bar title
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
extension UITableView {
|
||||
extension UITableView {
|
||||
final func register<T: UITableViewCell>(cellType: T.Type)
|
||||
where T: Reusable {
|
||||
self.register(cellType.self, forCellReuseIdentifier: cellType.reuseIdentifier)
|
||||
|
||||
@@ -13,7 +13,6 @@ extension UIView {
|
||||
// MARK: - Layout
|
||||
|
||||
func pinEdges(to other: UIView, withBorderSize size: CGFloat = 0.0) {
|
||||
self.translatesAutoresizingMaskIntoConstraints = false
|
||||
self.leadingAnchor.constraint(equalTo: other.leadingAnchor, constant: size).isActive = true
|
||||
self.trailingAnchor.constraint(equalTo: other.trailingAnchor, 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) {
|
||||
self.translatesAutoresizingMaskIntoConstraints = false
|
||||
self.centerXAnchor.constraint(equalTo: other.centerXAnchor).isActive = true
|
||||
self.centerYAnchor.constraint(equalTo: other.centerYAnchor).isActive = true
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ extension UIViewController {
|
||||
func add(_ child: UIViewController) {
|
||||
self.addChild(child)
|
||||
self.view.addSubview(child.view)
|
||||
view.pinEdges(to: child.view)
|
||||
child.didMove(toParent: self)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user