Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
08a66c0
Created ImageFilterEditor Project. Added Filters and set up UI. Did n…
Sep 3, 2020
c6b478f
Added UIImage+Scaling
Sep 3, 2020
195ff57
Added UIImage+Scaling helper extension
Sep 3, 2020
e776ff1
Added filters to timeline project
Sep 3, 2020
fb09cfe
Created Filters in ImageFilterEditor. Some names don't match exactly …
Sep 3, 2020
1d7122d
Added filters and sliders to Lambda Timeline, but when moving a slide…
Sep 3, 2020
9143784
Fixed issue with image dissapearing
Sep 3, 2020
6124ff5
Adjusted some slider values.
Sep 3, 2020
43fc759
Fixed an issue with not being able to post comments
Sep 4, 2020
7cce2a5
Added abliity to create a new text comment with action sheet
Sep 4, 2020
50be159
Added abliity to choose an audio comment with action sheet, added cor…
Sep 4, 2020
c602037
Added bar button to save recording, gave the post controller a single…
Sep 4, 2020
dfb18fe
Changed all instances of post controller to it's singleton version
Sep 4, 2020
4648313
Removed Save button in nav bar, added save button to view. Added unwi…
Sep 4, 2020
6b4d063
App crashes when trying to play audio from cell. States that the url …
Sep 5, 2020
71ca678
Can add Voice Comments, but new ones ovvewrite the old ones
Sep 5, 2020
81f9ee5
Fixed issue with audio comments not being pulled from their url. Proj…
Sep 6, 2020
e0ef5fa
Fixed text alignment
Sep 6, 2020
16017bd
Changed Post model so that it can accept a location with a default lo…
Sep 10, 2020
6f0c689
Updated UI to display location getting
Sep 10, 2020
9e8be6d
App now gets user location when creating a post if permissions are al…
Sep 10, 2020
9a2a3a4
You can now view the location where the post was created
Sep 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
349 changes: 349 additions & 0 deletions ImageFilterEditor/ImageFilterEditor.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,349 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {

/* Begin PBXBuildFile section */
0B8FFC90250083F600C2AFE9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B8FFC8F250083F600C2AFE9 /* AppDelegate.swift */; };
0B8FFC92250083F600C2AFE9 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B8FFC91250083F600C2AFE9 /* SceneDelegate.swift */; };
0B8FFC97250083F600C2AFE9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0B8FFC95250083F600C2AFE9 /* Main.storyboard */; };
0B8FFC99250083F800C2AFE9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0B8FFC98250083F800C2AFE9 /* Assets.xcassets */; };
0B8FFC9C250083F800C2AFE9 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0B8FFC9A250083F800C2AFE9 /* LaunchScreen.storyboard */; };
0B8FFCA4250084D100C2AFE9 /* Filters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B8FFCA3250084D100C2AFE9 /* Filters.swift */; };
0BFB3BC325008A7F0027F38F /* ImagePostViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BFB3BC225008A7F0027F38F /* ImagePostViewController.swift */; };
0BFB3BC525008E4E0027F38F /* UIImage+Scaling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BFB3BC425008E4E0027F38F /* UIImage+Scaling.swift */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
0B8FFC8C250083F600C2AFE9 /* ImageFilterEditor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ImageFilterEditor.app; sourceTree = BUILT_PRODUCTS_DIR; };
0B8FFC8F250083F600C2AFE9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
0B8FFC91250083F600C2AFE9 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
0B8FFC96250083F600C2AFE9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
0B8FFC98250083F800C2AFE9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
0B8FFC9B250083F800C2AFE9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
0B8FFC9D250083F800C2AFE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
0B8FFCA3250084D100C2AFE9 /* Filters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Filters.swift; sourceTree = "<group>"; };
0BFB3BC225008A7F0027F38F /* ImagePostViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImagePostViewController.swift; sourceTree = "<group>"; };
0BFB3BC425008E4E0027F38F /* UIImage+Scaling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Scaling.swift"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
0B8FFC89250083F600C2AFE9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
0B8FFC83250083F600C2AFE9 = {
isa = PBXGroup;
children = (
0B8FFC8E250083F600C2AFE9 /* ImageFilterEditor */,
0B8FFC8D250083F600C2AFE9 /* Products */,
);
sourceTree = "<group>";
};
0B8FFC8D250083F600C2AFE9 /* Products */ = {
isa = PBXGroup;
children = (
0B8FFC8C250083F600C2AFE9 /* ImageFilterEditor.app */,
);
name = Products;
sourceTree = "<group>";
};
0B8FFC8E250083F600C2AFE9 /* ImageFilterEditor */ = {
isa = PBXGroup;
children = (
0B8FFC8F250083F600C2AFE9 /* AppDelegate.swift */,
0B8FFC91250083F600C2AFE9 /* SceneDelegate.swift */,
0B8FFC95250083F600C2AFE9 /* Main.storyboard */,
0B8FFC98250083F800C2AFE9 /* Assets.xcassets */,
0B8FFC9A250083F800C2AFE9 /* LaunchScreen.storyboard */,
0B8FFC9D250083F800C2AFE9 /* Info.plist */,
0B8FFCA3250084D100C2AFE9 /* Filters.swift */,
0BFB3BC225008A7F0027F38F /* ImagePostViewController.swift */,
0BFB3BC425008E4E0027F38F /* UIImage+Scaling.swift */,
);
path = ImageFilterEditor;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
0B8FFC8B250083F600C2AFE9 /* ImageFilterEditor */ = {
isa = PBXNativeTarget;
buildConfigurationList = 0B8FFCA0250083F800C2AFE9 /* Build configuration list for PBXNativeTarget "ImageFilterEditor" */;
buildPhases = (
0B8FFC88250083F600C2AFE9 /* Sources */,
0B8FFC89250083F600C2AFE9 /* Frameworks */,
0B8FFC8A250083F600C2AFE9 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = ImageFilterEditor;
productName = ImageFilterEditor;
productReference = 0B8FFC8C250083F600C2AFE9 /* ImageFilterEditor.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
0B8FFC84250083F600C2AFE9 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1160;
LastUpgradeCheck = 1160;
ORGANIZATIONNAME = "Clayton Watkins";
TargetAttributes = {
0B8FFC8B250083F600C2AFE9 = {
CreatedOnToolsVersion = 11.6;
};
};
};
buildConfigurationList = 0B8FFC87250083F600C2AFE9 /* Build configuration list for PBXProject "ImageFilterEditor" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 0B8FFC83250083F600C2AFE9;
productRefGroup = 0B8FFC8D250083F600C2AFE9 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
0B8FFC8B250083F600C2AFE9 /* ImageFilterEditor */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
0B8FFC8A250083F600C2AFE9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0B8FFC9C250083F800C2AFE9 /* LaunchScreen.storyboard in Resources */,
0B8FFC99250083F800C2AFE9 /* Assets.xcassets in Resources */,
0B8FFC97250083F600C2AFE9 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
0B8FFC88250083F600C2AFE9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0BFB3BC325008A7F0027F38F /* ImagePostViewController.swift in Sources */,
0BFB3BC525008E4E0027F38F /* UIImage+Scaling.swift in Sources */,
0B8FFCA4250084D100C2AFE9 /* Filters.swift in Sources */,
0B8FFC90250083F600C2AFE9 /* AppDelegate.swift in Sources */,
0B8FFC92250083F600C2AFE9 /* SceneDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
0B8FFC95250083F600C2AFE9 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
0B8FFC96250083F600C2AFE9 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
0B8FFC9A250083F800C2AFE9 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
0B8FFC9B250083F800C2AFE9 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
0B8FFC9E250083F800C2AFE9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.6;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
0B8FFC9F250083F800C2AFE9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.6;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
0B8FFCA1250083F800C2AFE9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = ImageFilterEditor/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.claytonwatkins.ImageFilterEditor;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
0B8FFCA2250083F800C2AFE9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = ImageFilterEditor/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.claytonwatkins.ImageFilterEditor;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
0B8FFC87250083F600C2AFE9 /* Build configuration list for PBXProject "ImageFilterEditor" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0B8FFC9E250083F800C2AFE9 /* Debug */,
0B8FFC9F250083F800C2AFE9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
0B8FFCA0250083F800C2AFE9 /* Build configuration list for PBXNativeTarget "ImageFilterEditor" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0B8FFCA1250083F800C2AFE9 /* Debug */,
0B8FFCA2250083F800C2AFE9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0B8FFC84250083F600C2AFE9 /* Project object */;
}
37 changes: 37 additions & 0 deletions ImageFilterEditor/ImageFilterEditor/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// AppDelegate.swift
// ImageFilterEditor
//
// Created by Clayton Watkins on 9/2/20.
// Copyright © 2020 Clayton Watkins. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {



func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}

// MARK: UISceneSession Lifecycle

func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}

func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}


}

Loading