Browse Source

update library

marinofaggiana 4 years ago
parent
commit
5a20098b38

+ 1 - 1
Cartfile

@@ -1,6 +1,6 @@
 github "nextcloud/ios-communication-library" "develop"
 github "tilltue/TLPhotoPicker" "2.0.12"
-github "kishikawakatsumi/UICKeyChainStore" "v2.1.2"
+github "kishikawakatsumi/UICKeyChainStore"
 github "MortimerGoro/MGSwipeTableCell" "1.6.8"
 github "dzenbot/DZNEmptyDataSet" "v1.8.1"
 github "jdg/MBProgressHUD" "1.1.0"

+ 4 - 4
Cartfile.resolved

@@ -3,7 +3,7 @@ github "AssistoLab/DropDown" "v2.3.13"
 github "CocoaLumberjack/CocoaLumberjack" "3.6.2"
 github "FabrizioBrancati/Queuer" "2.1.1"
 github "MortimerGoro/MGSwipeTableCell" "1.6.8"
-github "SVGKit/SVGKit" "967b2435466504195f109bac5cbdd08bb96f201e"
+github "SVGKit/SVGKit" "58543f3714b34ea66cfe58636d86dcbec3514ccf"
 github "SwiftyJSON/SwiftyJSON" "5.0.0"
 github "WeTransfer/WeScan" "1.2.0"
 github "WenchaoD/FSCalendar" "2.8.0"
@@ -13,14 +13,14 @@ github "huri000/QuickLayout" "3.0.0"
 github "huri000/SwiftEntryKit" "1.2.3"
 github "ivanbruel/MarkdownKit" "1.6"
 github "jdg/MBProgressHUD" "1.1.0"
-github "kishikawakatsumi/UICKeyChainStore" "v2.1.2"
+github "kishikawakatsumi/UICKeyChainStore" "v2.2.1"
 github "malcommac/SwiftRichString" "3.7.2"
 github "marinofaggiana/KTVHTTPCache" "2.0.2"
 github "marinofaggiana/OpenSSL" "6c7cf839d9c74e5a0b92bbf343e1a33b6f56a277"
 github "marinofaggiana/TOPasscodeViewController" "0.0.7"
-github "nextcloud/ios-communication-library" "856c5e5375b13c70e8cac87f4e8cc5d14045efcd"
+github "nextcloud/ios-communication-library" "589d6ba734415afa5fa1e8a201d6664b58a0004a"
 github "rechsteiner/Parchment" "v2.4.0"
-github "scenee/FloatingPanel" "v1.7.5"
+github "scenee/FloatingPanel" "v1.7.6"
 github "tilltue/TLPhotoPicker" "2.0.12"
 github "weichsel/ZIPFoundation" "0.9.10"
 github "xmartlabs/XLForm" "4.1.0"

+ 0 - 2
Carthage/Checkouts/SVGKit/Source/SVGKit.h

@@ -163,11 +163,9 @@ FOUNDATION_EXPORT const unsigned char SVGKitFramework_VersionString[];
 #import "SVGKImage.h"
 #import "SVGKSource.h"
 #import "NSCharacterSet+SVGKExtensions.h"
-#if SVGKIT_UIKIT
 #import "SVGKFastImageView.h"
 #import "SVGKImageView.h"
 #import "SVGKLayeredImageView.h"
-#endif
 #import "SVGKPattern.h"
 #import "SVGUtils.h"
 #if SVGKIT_MAC

+ 0 - 35
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKFastImageView.h

@@ -1,35 +0,0 @@
-#import "SVGKImageView.h"
-#import "SVGKit.h"
-
-/**
- * SVGKit's version of UIImageView - with some improvements over Apple's design
- 
- WARNING 1: CAAnimations are NOT supported
- - because of the way this class works, any animations you add to the SVGKImage's CALayerTree *will be ignored*. If you need to animate the elements of an SVG file, use SVGKLayer instead (although that class is missing some of the features of this class, and is a little harder to use)
- 
- WARNING 2: UIScrollView requires special-case code
- - Apple's implementation of UIScrollView is badly broken for zooming. To workaround this, you MUST disable the auto-redraw on this class BEFORE zooming a UIScrollView. You can re-enable it after the zoom has finished. You MUST ALSO make a manual call to "fix" the transform of the view each time Apple sends you the "didFinishZooming:atScale" method. There is an example of this in the demo project (currently named "iOS-Demo.xcodeproj") showing exactly how to do this. It only requires 2 lines of code, but Apple's documentation makes it clear that this is the only way to work in harmony with UIScrollView's internal hacks.
- - to disable auto-redraw-on-resize, set the BOOL: disableAutoRedrawAtHighestResolution to FALSE
- 
- Basic usage:
- - as per UIImageView, simpy:
- - SVGKImageView *skv = [[SVGKImageView alloc] initWithSVGKImage: [SVGKImage imageNamed:@"image.svg"]];
- - [self.view addSubview: skv];
- 
- Advanced usage:
- - to make the contents shrink to half their actual size, and tile to fill, set self.tileRatio = CGSizeMake( 2.0f, 2.0f );
- NOTE: I'd prefer to do this view UIViewContentMode, but Apple didn't make it extensible
- - to disable tiling (by default, it's disabled), set self.tileRatio = CGSizeZero, and all the tiling will be side-stepped
- - FOR VERY ADVANCED USAGE: instead of this class, use the lower-level "SVGKLayeredImageView" class, which lets you modify every individual layer
- 
- Performance:
- - NOTE: the way this works - calling Apple's renderInContext: method - MAY BE artificially slow, because of Apple's implementation
- - NOTE: you MUST NOT call SVGKImage.CALayerTree.transform - that will have unexpected side-effects, because of Apple's implementation
- (hence: we currently use renderInContext:, even though we'd prefer not to :( )
- */
-@interface SVGKFastImageView : SVGKImageView
-
-@property(nonatomic) CGSize tileRatio;
-@property(nonatomic) BOOL disableAutoRedrawAtHighestResolution;
-
-@end

+ 0 - 298
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKFastImageView.m

@@ -1,298 +0,0 @@
-#import "SVGKFastImageView.h"
-#import "SVGKDefine_Private.h"
-
-@interface SVGKFastImageView ()
-@property(nonatomic,readwrite) NSTimeInterval timeIntervalForLastReRenderOfSVGFromMemory;
-@property (nonatomic, strong) NSDate* startRenderTime, * endRenderTime; /**< for debugging, lets you know how long it took to add/generate the CALayer (may have been cached! Only SVGKImage knows true times) */
-@property (nonatomic) BOOL didRegisterObservers, didRegisterInternalRedrawObservers;
-
-@end
-
-@implementation SVGKFastImageView
-{
-	NSString* internalContextPointerBecauseApplesDemandsIt;
-}
-
-@synthesize image = _image;
-@synthesize tileRatio = _tileRatio;
-@synthesize disableAutoRedrawAtHighestResolution = _disableAutoRedrawAtHighestResolution;
-@synthesize timeIntervalForLastReRenderOfSVGFromMemory = _timeIntervalForLastReRenderOfSVGFromMemory;
-
-- (id)init
-{
-	NSAssert(false, @"init not supported, use initWithSVGKImage:");
-    
-    return nil;
-}
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
-	self = [super initWithCoder:aDecoder];
-    if( self )
-    {
-        [self populateFromImage:nil];
-    }
-    return self;
-}
-
--(id)initWithFrame:(CGRect)frame
-{
-	self = [super initWithFrame:frame];
-	if( self )
-	{
-        [self populateFromImage:nil];
-	}
-	return self;
-}
-
-- (id)initWithSVGKImage:(SVGKImage*) im
-{
-    self = [super init];
-    if (self)
-	{
-        [self populateFromImage:im];
-    }
-    return self;
-}
-
-- (void)populateFromImage:(SVGKImage*) im
-{
-#if SVGKIT_MAC && USE_SUBLAYERS_INSTEAD_OF_BLIT
-    // setup layer-backed view
-    self.wantsLayer = YES;
-#endif
-	if( im == nil )
-	{
-		SVGKitLogWarn(@"[%@] WARNING: you have initialized an SVGKImageView with a blank image (nil). Possibly because you're using Storyboards or NIBs which Apple won't allow us to decorate. Make sure you assign an SVGKImage to the .image property!", [self class]);
-	}
-    
-    self.image = im;
-    self.frame = CGRectMake( 0,0, im.size.width, im.size.height ); // NB: this uses the default SVG Viewport; an ImageView can theoretically calc a new viewport (but its hard to get right!)
-    self.tileRatio = CGSizeZero;
-#if SVGKIT_UIKIT
-    self.backgroundColor = [UIColor clearColor];
-#else
-    self.layer.backgroundColor = [NSColor clearColor].CGColor;
-#endif
-}
-
-- (void)setImage:(SVGKImage *)image {
-    
-    if( !internalContextPointerBecauseApplesDemandsIt ) {
-        internalContextPointerBecauseApplesDemandsIt = @"Apple wrote the addObserver / KVO notification API wrong in the first place and now requires developers to pass around pointers to fake objects to make up for the API deficicineces. You have to have one of these pointers per object, and they have to be internal and private. They serve no real value.";
-    }
-	
-    [_image removeObserver:self forKeyPath:@"size" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    _image = image;
-    
-    /** redraw-observers */
-    if( self.disableAutoRedrawAtHighestResolution )
-        ;
-    else {
-        [self addInternalRedrawOnResizeObservers];
-        [_image addObserver:self forKeyPath:@"size" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    }
-    
-    /** other obeservers */
-  if (!self.didRegisterObservers) {
-    self.didRegisterObservers = true;
-    [self addObserver:self forKeyPath:@"image" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    [self addObserver:self forKeyPath:@"tileRatio" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    [self addObserver:self forKeyPath:@"showBorder" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-  }
-
-}
-
--(void) addInternalRedrawOnResizeObservers
-{
-  if (self.didRegisterInternalRedrawObservers) return;
-  self.didRegisterInternalRedrawObservers = true;
-	[self addObserver:self forKeyPath:@"layer" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-	[self.layer addObserver:self forKeyPath:@"transform" options:NSKeyValueObservingOptionNew context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-}
-
--(void) removeInternalRedrawOnResizeObservers
-{
-  if (!self.didRegisterInternalRedrawObservers) return;
-	[self removeObserver:self forKeyPath:@"layer" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-#if !SVGKIT_MAC || USE_SUBLAYERS_INSTEAD_OF_BLIT
-	[self.layer removeObserver:self forKeyPath:@"transform" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-#endif
-  self.didRegisterInternalRedrawObservers = false;
-}
-
--(void)setDisableAutoRedrawAtHighestResolution:(BOOL)newValue
-{
-	if( newValue == _disableAutoRedrawAtHighestResolution )
-		return;
-	
-	_disableAutoRedrawAtHighestResolution = newValue;
-	
-	if( self.disableAutoRedrawAtHighestResolution ) // disabled, so we have to remove the observers
-	{
-		[self removeInternalRedrawOnResizeObservers];
-	}
-	else // newly-enabled ... must add the observers
-	{
-		[self addInternalRedrawOnResizeObservers];
-	}
-}
-
-- (void)dealloc
-{
-	if( self.disableAutoRedrawAtHighestResolution )
-		;
-	else
-		[self removeInternalRedrawOnResizeObservers];
-	
-  if (self.didRegisterObservers) {
-    [self removeObserver:self forKeyPath:@"image" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    [self removeObserver:self forKeyPath:@"tileRatio" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-    [self removeObserver:self forKeyPath:@"showBorder" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-  }
-
-
-  
-  [_image removeObserver:self forKeyPath:@"size" context:(__bridge void * _Nullable)(internalContextPointerBecauseApplesDemandsIt)];
-	_image = nil;
-	
-}
-
-/** Trigger a call to re-display (at higher or lower draw-resolution) (get Apple to call drawRect: again) */
--(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
-{
-	if( [keyPath isEqualToString:@"transform"] &&  CGSizeEqualToSize( CGSizeZero, self.tileRatio ) )
-	{
-		/*SVGKitLogVerbose(@"transform changed. Setting layer scale: %2.2f --> %2.2f", self.layer.contentsScale, self.transform.a);
-		 self.layer.contentsScale = self.transform.a;*/
-		[self.image.CALayerTree removeFromSuperlayer]; // force apple to redraw?
-#if SVGKIT_UIKIT
-		[self setNeedsDisplay];
-#else
-        [self setNeedsDisplay:YES];
-#endif
-	}
-	else
-	{
-		
-		if( self.disableAutoRedrawAtHighestResolution )
-			;
-		else
-		{
-#if SVGKIT_UIKIT
-			[self setNeedsDisplay];
-#else
-            [self setNeedsDisplay:YES];
-#endif
-		}
-	}
-}
-
-/**
- NB: this implementation is a bit tricky, because we're extending Apple's concept of a UIView to add "tiling"
- and "automatic rescaling"
- 
- */
--(void)drawRect:(CGRect)rect
-{
-	self.startRenderTime = self.endRenderTime = [NSDate date];
-	
-	/**
-	 view.bounds == width and height of the view
-	 imageBounds == natural width and height of the SVGKImage
-	 */
-	CGRect imageBounds = CGRectMake( 0,0, self.image.size.width, self.image.size.height );
-	
-	
-	/** Check if tiling is enabled in either direction
-	 
-	 We have to do this FIRST, because we cannot extend Apple's enum they use for UIViewContentMode
-	 (objective-C is a weak language).
-	 
-	 If we find ANY tiling, we will be forced to skip the UIViewContentMode handling
-	 
-	 TODO: it would be nice to combine the two - e.g. if contentMode=BottomRight, then do the tiling with
-	 the bottom right corners aligned. If = TopLeft, then tile with the top left corners aligned,
-	 etc.
-	 */
-	int cols = ceil(self.tileRatio.width);
-	int rows = ceil(self.tileRatio.height);
-	
-	if( cols < 1 ) // It's meaningless to have "fewer than 1" tiles; this lets us ALSO handle special case of "CGSizeZero == disable tiling"
-		cols = 1;
-	if( rows < 1 ) // It's meaningless to have "fewer than 1" tiles; this lets us ALSO handle special case of "CGSizeZero == disable tiling"
-		rows = 1;
-	
-	
-	CGSize scaleConvertImageToView;
-	CGSize tileSize;
-	if( cols == 1 && rows == 1 ) // if we are NOT tiling, then obey the UIViewContentMode as best we can!
-	{
-#ifdef USE_SUBLAYERS_INSTEAD_OF_BLIT
-		if( self.image.CALayerTree.superlayer == self.layer )
-		{
-			[super drawRect:rect];
-			return; // TODO: Apple's bugs - they ignore all attempts to force a redraw
-		}
-		else
-		{
-			[self.layer addSublayer:self.image.CALayerTree];
-			return; // we've added the layer - let Apple take care of the rest!
-		}
-#else
-		scaleConvertImageToView = CGSizeMake( self.bounds.size.width / imageBounds.size.width, self.bounds.size.height / imageBounds.size.height );
-		tileSize = self.bounds.size;
-#endif
-	}
-	else
-	{
-		scaleConvertImageToView = CGSizeMake( self.bounds.size.width / (self.tileRatio.width * imageBounds.size.width), self.bounds.size.height / ( self.tileRatio.height * imageBounds.size.height) );
-		tileSize = CGSizeMake( self.bounds.size.width / self.tileRatio.width, self.bounds.size.height / self.tileRatio.height );
-	}
-	
-	//DEBUG: SVGKitLogVerbose(@"cols, rows: %i, %i ... scaleConvert: %@ ... tilesize: %@", cols, rows, NSStringFromCGSize(scaleConvertImageToView), NSStringFromCGSize(tileSize) );
-	/** To support tiling, and to allow internal shrinking, we use renderInContext */
-#if SVGKIT_UIKIT
-    CGContextRef context = UIGraphicsGetCurrentContext();
-#else
-    CGContextRef context = SVGKGraphicsGetCurrentContext();
-#endif
-	for( int k=0; k<rows; k++ )
-		for( int i=0; i<cols; i++ )
-		{
-			CGContextSaveGState(context);
-			
-			CGContextTranslateCTM(context, i * tileSize.width, k * tileSize.height );
-			CGContextScaleCTM( context, scaleConvertImageToView.width, scaleConvertImageToView.height );
-			
-            [self.image renderInContext:context];
-			
-			CGContextRestoreGState(context);
-		}
-	
-	/** The border is VERY helpful when debugging rendering and touch / hit detection problems! */
-	if( self.showBorder )
-	{
-		[[UIColor blackColor] set];
-		CGContextStrokeRect(context, rect);
-	}
-	
-	self.endRenderTime = [NSDate date];
-	self.timeIntervalForLastReRenderOfSVGFromMemory = [self.endRenderTime timeIntervalSinceDate:self.startRenderTime];
-}
-
-#if SVGKIT_MAC
-static CGContextRef SVGKGraphicsGetCurrentContext(void) {
-    NSGraphicsContext *context = NSGraphicsContext.currentContext;
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunguarded-availability"
-    if ([context respondsToSelector:@selector(CGContext)]) {
-        return context.CGContext;
-    } else {
-        return context.graphicsPort;
-    }
-#pragma clang diagnostic pop
-}
-#endif
-
-@end

+ 0 - 26
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKImageView.h

@@ -1,26 +0,0 @@
-#import <Foundation/Foundation.h>
-
-#import "SVGKImage.h" // cannot import "SVGKit.h" because that would cause ciruclar imports
-
-/**
- * SVGKit's version of UIImageView - with some improvements over Apple's design. There are multiple versions of this class, for different use cases.
- 
- STANDARD USAGE:
-   - SVGKImageView *myImageView = [[SVGKFastImageView alloc] initWithSVGKImage: [SVGKImage imageNamed:@"image.svg"]];
-   - [self.view addSubview: myImageView];
- 
- NB: the "SVGKFastImageView" is the one you want 9 times in 10. The alternative classes (e.g. SVGKLayeredImageView) are for advanced usage.
- 
- NB: read the class-comment for each subclass carefully before deciding what to use.
- 
- */
-@interface SVGKImageView : UIView
-
-@property(nonatomic,strong) SVGKImage* image;
-@property(nonatomic) BOOL showBorder; /**< mostly for debugging - adds a coloured 1-pixel border around the image */
-
-@property(nonatomic,readonly) NSTimeInterval timeIntervalForLastReRenderOfSVGFromMemory;
-
-- (id)initWithSVGKImage:(SVGKImage*) im;
-
-@end

+ 0 - 73
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKImageView.m

@@ -1,73 +0,0 @@
-#import "SVGKImageView.h"
-
-@implementation SVGKImageView
-
-@synthesize image = _image;
-@synthesize showBorder = _showBorder;
-
-- (id)init
-{
-	if( [self class] == [SVGKImageView class ])
-	{
-		NSAssert(false, @"You cannot init this class directly. Instead, use a subclass e.g. SVGKFastImageView");
-		
-		return nil;
-	}
-	else
-		return [super init];
-}
-
--(id)initWithFrame:(CGRect)frame
-{
-	if( [self class] == [SVGKImageView class ])
-	{
-		NSAssert(false, @"You cannot init this class directly. Instead, use a subclass e.g. SVGKFastImageView");
-		
-		return nil;
-	}
-	else
-		return [super initWithFrame:frame];
-}
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
-	if( [self class] == [SVGKImageView class ])
-	{
-		NSAssert(false, @"Xcode is trying to load this class from a StoryBoard or from a NIB/XIB files. You cannot init this class directly - in your Storyboard/NIB file, set the Class type to one of the subclasses, e.g. SVGKFastImageView");
-		
-		return nil;
-	}
-	else
-		return [super initWithCoder:aDecoder];
-}
-
-- (id)initWithSVGKImage:(SVGKImage*) im
-{
-	NSAssert(false, @"Your subclass implementation is broken, it should be calling [super init] not [super initWithSVGKImage:]. Instead, use a subclass e.g. SVGKFastImageView");
-    
-    return nil;
-}
-
-
-/**
- The intrinsic sized of the image view.
- 
- This is useful for playing nicely with autolayout.
-
- @return The size of the image if it has one, or CGSizeZero if not
- */
-- (CGSize)intrinsicContentSize {
-    if ([self.image hasSize]) {
-        return self.image.size;
-    }
-
-    return CGSizeZero;
-}
-
-#if SVGKIT_MAC
-- (BOOL)isFlipped {
-    return YES;
-}
-#endif
-
-@end

+ 0 - 28
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKLayeredImageView.h

@@ -1,28 +0,0 @@
-#import "SVGKImageView.h"
-#import "SVGKit.h"
-
-/**
- * SVGKit's ADVANCED version of UIImageView - for most cases, you want to use the simple version instead (SVGKImageView)
- 
- This class is similar to SVGKImageView, but it DOES NOT HAVE the performance optimizations, and it WILL NOT AUTO-DRAW AT FULL RESOLUTION.
- 
- However, it DOES SUPPORT CORE ANIMATION (which SVGKImageView cannot do), and in some cases that's more important.
- 
- Basic usage:
- - as per SVGKImageView:
- - SVGKLayeredImageView *skv = [[SVGKLayeredImageView alloc] initWithSVGKImage: [SVGKImage imageNamed:@"image.svg"]];
- - [self.view addSubview: skv];
- 
- Advanced usage:
- - to access the underlying layers, typecast the .layer property:
-   - SVGKLayeredImageView *skv = [[SVGKLayeredImageView alloc] initWithSVGKImage: [SVGKImage imageNamed:@"image.svg"]];
-   - SVGKLayer* layer = (SVGKLayer*) skv.layer;
- 
- For Mac user:
-    `SVGKLayeredImageView` is a layer-hosting view. It uses the `SVGKLayer` layer class for rendering.
- 
- */
-
-@interface SVGKLayeredImageView : SVGKImageView
-
-@end

+ 0 - 140
Carthage/Checkouts/SVGKit/Source/UIKit additions/SVGKLayeredImageView.m

@@ -1,140 +0,0 @@
-#import "SVGKLayeredImageView.h"
-
-#import <QuartzCore/QuartzCore.h>
-
-#import "SVGKSourceString.h"
-#import "SVGKInlineResource.h"
-
-#import "SVGKDefine_Private.h"
-
-@interface SVGKLayeredImageView()
-@property(nonatomic,strong) CAShapeLayer* internalBorderLayer;
-@end
-
-@implementation SVGKLayeredImageView
-@synthesize internalBorderLayer = _internalBorderLayer;
-
-/** uses the custom SVGKLayer instead of a default CALayer */
-+(Class)layerClass
-{
-	return NSClassFromString(@"SVGKLayer");
-}
-
-- (id)init
-{
-	NSAssert(false, @"init not supported, use initWithSVGKImage:");
-    
-    return nil;
-}
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
-    if( aDecoder == nil )
-	{
-		self = [super initWithFrame:CGRectMake(0,0,100,100)]; // coincides with the inline SVG in populateFromImage!
-	}
-	else
-	{
-		self = [super initWithCoder:aDecoder];
-	}
-    if( self )
-    {
-        [self populateFromImage:nil];
-    }
-	return self;
-}
-
--(id)initWithFrame:(CGRect)frame
-{
-	self = [super initWithFrame:frame];
-	if( self )
-	{
-        [self populateFromImage:nil];
-	}
-	return self;
-}
-
-- (id)initWithSVGKImage:(SVGKImage*) im
-{
-	if( im == nil )
-	{
-		self = [super initWithFrame:CGRectMake(0,0,100,100)]; // coincides with the inline SVG in populateFromImage!
-	}
-	else
-	{
-		self = [super initWithFrame:CGRectMake( 0,0, im.CALayerTree.frame.size.width, im.CALayerTree.frame.size.height )]; // default: 0,0 to width x height of original image];
-	}
-    
-    if (self)
-    {
-        [self populateFromImage:im];
-    }
-    return self;
-}
-
-- (void)populateFromImage:(SVGKImage*) im
-{
-#if SVGKIT_MAC
-    // setup layer-hosting view
-    self.layer = [[SVGKLayer alloc] init];
-    self.wantsLayer = YES;
-#endif
-	if( im == nil )
-	{
-#ifndef SVGK_DONT_USE_EMPTY_IMAGE_PLACEHOLDER
-        SVGKitLogWarn(@"[%@] WARNING: you have initialized an [%@] with a blank image (nil). Possibly because you're using Storyboards or NIBs which Apple won't allow us to decorate. Make sure you assign an SVGKImage to the .image property!", [self class], [self class]);
-#if SVGKIT_UIKIT
-		self.backgroundColor = [UIColor clearColor];
-#else
-        self.layer.backgroundColor = [NSColor clearColor].CGColor;
-#endif
-        
-        NSString* svgStringDefaultContents = SVGKGetDefaultContentString();
-        
-		SVGKitLogInfo(@"About to make a blank image using the inlined SVG = %@", svgStringDefaultContents);
-		
-		SVGKImage* defaultBlankImage = [SVGKImage imageWithSource:[SVGKSourceString sourceFromContentsOfString:svgStringDefaultContents]];
-		
-		((SVGKLayer*) self.layer).SVGImage = defaultBlankImage;
-#endif
-	}
-	else
-	{
-#if SVGKIT_UIKIT
-		self.backgroundColor = [UIColor clearColor];
-#else
-        self.layer.backgroundColor = [NSColor clearColor].CGColor;
-#endif
-		
-		((SVGKLayer*) self.layer).SVGImage = im;
-	}
-}
-
-/** Delegate the call to the internal layer that's coded to handle this stuff automatically */
--(SVGKImage *)image
-{
-	return ((SVGKLayer*)self.layer).SVGImage;
-}
-/** Delegate the call to the internal layer that's coded to handle this stuff automatically */
--(void)setImage:(SVGKImage *)image
-{
-	((SVGKLayer*)self.layer).SVGImage = image;
-}
-
-/** Delegate the call to the internal layer that's coded to handle this stuff automatically */
--(BOOL)showBorder
-{
-	return ((SVGKLayer*)self.layer).showBorder;
-}
-/** Delegate the call to the internal layer that's coded to handle this stuff automatically */
--(void)setShowBorder:(BOOL)showBorder
-{
-	((SVGKLayer*)self.layer).showBorder = showBorder;
-}
-
--(NSTimeInterval)timeIntervalForLastReRenderOfSVGFromMemory
-{
-	return[((SVGKLayer*)self.layer).endRenderTime timeIntervalSinceDate:((SVGKLayer*)self.layer).startRenderTime];
-}
-
-@end

+ 170 - 11
Carthage/Checkouts/UICKeyChainStore/.gitignore

@@ -1,8 +1,20 @@
-# OS X
-.DS_Store
+### https://raw.github.com/github/gitignore/2a4de265d37eca626309d8e115218d18985b5435/Swift.gitignore
 
 # Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## User settings
+xcuserdata/
+
+## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
+*.xcscmblueprint
+*.xccheckout
+
+## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
 build/
+DerivedData/
+*.moved-aside
 *.pbxuser
 !default.pbxuser
 *.mode1v3
@@ -11,15 +23,162 @@ build/
 !default.mode2v3
 *.perspectivev3
 !default.perspectivev3
-xcuserdata
-*.xccheckout
-profile
-*.moved-aside
-DerivedData
+
+## Obj-C/Swift specific
 *.hmap
+
+## App packaging
 *.ipa
-*.xcuserstate
+*.dSYM.zip
+*.dSYM
+
+## Playgrounds
+timeline.xctimeline
+playground.xcworkspace
+
+# Swift Package Manager
+#
+# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
+# Packages/
+# Package.pins
+# Package.resolved
+# *.xcodeproj
+#
+# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
+# hence it is not needed unless you have added a package configuration file to your project
+# .swiftpm
+
+.build/
+
+# CocoaPods
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+# Pods/
+#
+# Add this line if you want to avoid checking in source code from the Xcode workspace
+# *.xcworkspace
+
+# Carthage
+#
+# Add this line if you want to avoid checking in source code from Carthage dependencies.
+# Carthage/Checkouts
+
+Carthage/Build/
+
+# Accio dependency management
+Dependencies/
+.accio/
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo.
+# Instead, use fastlane to re-generate the screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots/**/*.png
+fastlane/test_output
+
+# Code Injection
+#
+# After new code Injection tools there's a generated folder /iOSInjectionProject
+# https://github.com/johnno1962/injectionforxcode
+
+iOSInjectionProject/
+
+
+### https://raw.github.com/github/gitignore/2a4de265d37eca626309d8e115218d18985b5435/Global/macOS.gitignore
+
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon

+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+
+### https://raw.github.com/github/gitignore/2a4de265d37eca626309d8e115218d18985b5435/Ruby.gitignore
+
+*.gem
+*.rbc
+/.config
+/coverage/
+/InstalledFiles
+/pkg/
+/spec/reports/
+/spec/examples.txt
+/test/tmp/
+/test/version_tmp/
+/tmp/
+
+# Used by dotenv library to load environment variables.
+# .env
+
+# Ignore Byebug command history file.
+.byebug_history
+
+## Specific to RubyMotion:
+.dat*
+.repl_history
+build/
+*.bridgesupport
+build-iPhoneOS/
+build-iPhoneSimulator/
+
+## Specific to RubyMotion (use of CocoaPods):
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+# vendor/Pods/
+
+## Documentation cache and generated files:
+/.yardoc/
+/_yardoc/
+/doc/
+/rdoc/
+
+## Environment normalization:
+/.bundle/
+/vendor/bundle
+/lib/bundler/man/
+
+# for a library or gem, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# Gemfile.lock
+# .ruby-version
+# .ruby-gemset
+
+# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
+.rvmrc
+
+# Used by RuboCop. Remote config files pulled in from inherit_from directive.
+# .rubocop-https?--*
+
 
-# Bundler
-.bundle
-vendor/

+ 0 - 70
Carthage/Checkouts/UICKeyChainStore/.travis.yml

@@ -22,76 +22,6 @@ matrix:
     env: ACTION='test:appletvsimulator'
   - osx_image: xcode10
     env: ACTION='test:macosx'
-
-  - osx_image: xcode9.4
-    env: ACTION=build
-  - osx_image: xcode9.4
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode9.4
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode9.4
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode9
-    env: ACTION=build
-  - osx_image: xcode9
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode9
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode9
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode8.3
-    env: ACTION=build
-  - osx_image: xcode8.3
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode8.3
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode8.3
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode8
-    env: ACTION=build
-  - osx_image: xcode8
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode8
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode8
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode7.3
-    env: ACTION=build
-  - osx_image: xcode7.3
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode7.3
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode7.3
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode7.2
-    env: ACTION=build
-  - osx_image: xcode7.2
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode7.2
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode7.2
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode7.1
-    env: ACTION=build
-  - osx_image: xcode7.1
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode7.1
-    env: ACTION='test:appletvsimulator'
-  - osx_image: xcode7.1
-    env: ACTION='test:macosx'
-
-  - osx_image: xcode7
-    env: ACTION=build
-  - osx_image: xcode7
-    env: ACTION='test:iphonesimulator'
-  - osx_image: xcode7
-    env: ACTION='test:macosx'
 env:
   global:
   - LANG=en_US.UTF-8

+ 3 - 1
Carthage/Checkouts/UICKeyChainStore/Lib/Configurations/Base.xcconfig

@@ -1,6 +1,7 @@
 ALWAYS_SEARCH_USER_PATHS = NO;
 CURRENT_PROJECT_VERSION = 1;
 ENABLE_STRICT_OBJC_MSGSEND = YES;
+CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 CLANG_ANALYZER_NONNULL = YES;
 CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
 CLANG_CXX_LIBRARY = libc++;
@@ -23,6 +24,7 @@ CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES;
 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 CLANG_WARN_STRICT_PROTOTYPES = YES;
 CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -44,6 +46,6 @@ CODE_SIGN_IDENTITY = ;
 DEVELOPMENT_TEAM = ;
 
 MACOSX_DEPLOYMENT_TARGET = 10.9;
-IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 WATCHOS_DEPLOYMENT_TARGET = 2.0;
 TVOS_DEPLOYMENT_TARGET = 9.0;

+ 2 - 0
Carthage/Checkouts/UICKeyChainStore/Lib/Configurations/UICKeyChainStore.xcconfig

@@ -12,6 +12,8 @@ SKIP_INSTALL = YES;
 
 SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator appletvos appletvsimulator;
 TARGETED_DEVICE_FAMILY = 1,2,3,4;
+SUPPORTS_MACCATALYST = YES;
+DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
 
 ENABLE_BITCODE[sdk=iphone*] = YES;
 ENABLE_BITCODE[sdk=watch*] = YES;

+ 1 - 1
Carthage/Checkouts/UICKeyChainStore/Lib/Configurations/libUICKeyChainStore.xcconfig

@@ -15,7 +15,7 @@ SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator app
 TARGETED_DEVICE_FAMILY = 1,2,3,4;
 
 MACOSX_DEPLOYMENT_TARGET = 10.6;
-IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 
 LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks;
 LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks;

+ 3 - 3
Carthage/Checkouts/UICKeyChainStore/Lib/Gemfile.lock

@@ -1,10 +1,10 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    rake (12.1.0)
+    rake (13.0.1)
     rouge (2.0.7)
     xcjobs (0.10.0)
-    xcpretty (0.2.8)
+    xcpretty (0.3.0)
       rouge (~> 2.0.7)
 
 PLATFORMS
@@ -16,4 +16,4 @@ DEPENDENCIES
   xcpretty
 
 BUNDLED WITH
-   1.15.4
+   2.1.4

+ 1 - 1
Carthage/Checkouts/UICKeyChainStore/Lib/UICKeyChainStore/Info.plist

@@ -15,7 +15,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.1.1</string>
+	<string>2.2.1</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>

+ 2 - 2
Carthage/Checkouts/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.m

@@ -955,7 +955,7 @@ static NSString *_defaultService;
 
 #pragma mark -
 
-#if TARGET_OS_IOS
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
 - (void)sharedPasswordWithCompletion:(void (^)(NSString *account, NSString *password, NSError *error))completion
 {
     NSString *domain = self.server.host;
@@ -1119,7 +1119,7 @@ static NSString *_defaultService;
         if (_server.host) {
             query[(__bridge __strong id)kSecAttrServer] = _server.host;
         }
-        if (_server.port) {
+        if (_server.port != nil) {
             query[(__bridge __strong id)kSecAttrPort] = _server.port;
         }
         CFTypeRef protocolTypeObject = [self protocolTypeObject];

+ 1 - 1
Carthage/Checkouts/UICKeyChainStore/UICKeyChainStore.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name                  = "UICKeyChainStore"
-  s.version               = "2.1.1"
+  s.version               = "2.2.1"
   s.summary               = "UICKeyChainStore is a simple wrapper for Keychain that works on iOS and OS X. Makes using Keychain APIs as easy as NSUserDefaults."
   s.description           = <<-DESC
                             UICKeyChainStore is a simple wrapper for Keychain that works on iOS and OS X.

+ 1 - 1
Nextcloud.xcodeproj/project.pbxproj

@@ -2801,7 +2801,7 @@
 			repositoryURL = "https://github.com/realm/realm-cocoa";
 			requirement = {
 				kind = upToNextMajorVersion;
-				minimumVersion = 5.4.1;
+				minimumVersion = 5.4.2;
 			};
 		};
 /* End XCRemoteSwiftPackageReference section */