Skip to content

Commit

Permalink
Merge branch '1.0.0'
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
  • Loading branch information
davbeck committed Oct 24, 2019
2 parents c4d2037 + 5f821ea commit b033562
Show file tree
Hide file tree
Showing 232 changed files with 10,659 additions and 1,594 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ DerivedData

# Bundler
.bundle
/.swiftpm
7 changes: 7 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
--header strip
--ranges no-space
--disable redundantGet,redundantRawValues
--self insert
--trimwhitespace "nonblank-lines"
--indent tab
--disable andOperator
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 1.0.0

- `ImageSource` is now a class instead of a struct. Originally I used a struct to get the best performance possible. However the performance penalty for using an extra class is very small and image sources use reference semantics because they can be updated as they are downloaded. This should make the interface cleaner and easier to reason about.
- `ImageSource` properties for both the image and individual images are no longer optional.
- Animation properties now support animated HEIC files. This is available for iOS 13/macOS 10.15/etc only.
- UIKit integration, including `ImageSourceView`, are now in their own target. This is to allow the SwiftUI integration to use the same name for it's view.
1,426 changes: 1,402 additions & 24 deletions Example/ImageIOSwift.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7AE0A21722D7D96E009E3C0E"
BuildableName = "example-swiftui-ios.app"
BlueprintName = "example-swiftui-ios"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableASanStackUseAfterReturn = "YES"
enableThreadSanitizer = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7AE0A21722D7D96E009E3C0E"
BuildableName = "example-swiftui-ios.app"
BlueprintName = "example-swiftui-ios"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7AE0A21722D7D96E009E3C0E"
BuildableName = "example-swiftui-ios.app"
BlueprintName = "example-swiftui-ios"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7A946AA522DBD40700A6EBBD"
BuildableName = "example-swiftui-watch.app"
BlueprintName = "example-swiftui-watch"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7AE0A21722D7D96E009E3C0E"
BuildableName = "example-swiftui-ios.app"
BlueprintName = "example-swiftui-ios"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<RemoteRunnable
runnableDebuggingMode = "2"
BundleIdentifier = "com.apple.Carousel"
RemotePath = "/example-swiftui-ios">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7A946AA522DBD40700A6EBBD"
BuildableName = "example-swiftui-watch.app"
BlueprintName = "example-swiftui-watch"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</RemoteRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<RemoteRunnable
runnableDebuggingMode = "2"
BundleIdentifier = "com.apple.Carousel"
RemotePath = "/example-swiftui-ios">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7A946AA522DBD40700A6EBBD"
BuildableName = "example-swiftui-watch.app"
BlueprintName = "example-swiftui-watch"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</RemoteRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7A946AA522DBD40700A6EBBD"
BuildableName = "example-swiftui-watch.app"
BlueprintName = "example-swiftui-watch"
ReferencedContainer = "container:ImageIOSwift.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
15 changes: 3 additions & 12 deletions Example/ImageIOSwift/AnimatedViewController.swift
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
//
// AnimatedViewController.swift
// ImageService
//
// Created by David Beck on 10/5/17.
// Copyright © 2017 David Beck. All rights reserved.
//

import UIKit


class AnimatedViewController: ImageSourceViewController {
override func viewDidLoad() {
super.viewDidLoad()
override func viewDidLoad() {
super.viewDidLoad()

imageSourceView.isAnimationEnabled = true
}
}
}
28 changes: 7 additions & 21 deletions Example/ImageIOSwift/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,56 +1,42 @@
//
// AppDelegate.swift
// ImageIOSwift
//
// Created by thecitydeployer on 10/09/2017.
// Copyright (c) 2017 thecitydeployer. All rights reserved.
//

import UIKit


@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate {

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let splitViewController = window!.rootViewController as? UISplitViewController {
splitViewController.delegate = self
}

return true
}

func applicationWillResignActive(_ application: UIApplication) {
func applicationWillResignActive(_: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}

func applicationDidEnterBackground(_ application: UIApplication) {
func applicationDidEnterBackground(_: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

func applicationWillEnterForeground(_ application: UIApplication) {
func applicationWillEnterForeground(_: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}

func applicationDidBecomeActive(_ application: UIApplication) {
func applicationDidBecomeActive(_: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

func applicationWillTerminate(_ application: UIApplication) {
func applicationWillTerminate(_: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}


func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
func splitViewController(_: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto _: UIViewController) -> Bool {
guard let secondaryViewController = secondaryViewController as? UINavigationController else { return true }

return !(secondaryViewController.viewControllers.first is ImageSourceViewController)
}
}

Loading

0 comments on commit b033562

Please sign in to comment.