Completion of Initial App

Task Master 1.0 for iOS completed with some features unavailable.
This commit is contained in:
Alexander Davis
2016-12-12 01:08:23 +00:00
parent 929504617c
commit dd1570f9b6
30 changed files with 533 additions and 271 deletions

View File

@@ -7,48 +7,54 @@
objects = {
/* Begin PBXBuildFile section */
5F26CD831DDDDAF6008452B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */; };
5F26CD851DDDDAF6008452B2 /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */; };
5F26CD871DDDDAF6008452B2 /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */; };
5F26CD8A1DDDDAF6008452B2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD881DDDDAF6008452B2 /* Main.storyboard */; };
5F26CD8C1DDDDAF6008452B2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */; };
5F26CD8F1DDDDAF6008452B2 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */; };
5F26CD9A1DDDDAF6008452B2 /* Task_MasterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */; };
5F05B7221DFE210A0095C03B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7211DFE210A0095C03B /* AppDelegate.swift */; };
5F05B7261DFE210A0095C03B /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7251DFE210A0095C03B /* SecondViewController.swift */; };
5F05B7291DFE210A0095C03B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B7271DFE210A0095C03B /* Main.storyboard */; };
5F05B72B1DFE210A0095C03B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B72A1DFE210A0095C03B /* Assets.xcassets */; };
5F05B7391DFE210A0095C03B /* Task_MasterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */; };
5F05B7441DFE21290095C03B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */; };
5F8812851DFE25F60041BEAB /* TaskMaster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F8812841DFE25F60041BEAB /* TaskMaster.swift */; };
5F8812871DFE26520041BEAB /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F8812861DFE26520041BEAB /* FirstViewController.swift */; };
5F88128B1DFE27BA0041BEAB /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F88128A1DFE27BA0041BEAB /* MapKit.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
5F26CD961DDDDAF6008452B2 /* PBXContainerItemProxy */ = {
5F05B7351DFE210A0095C03B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 5F26CD771DDDDAF6008452B2 /* Project object */;
containerPortal = 5F05B7161DFE210A0095C03B /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5F26CD7E1DDDDAF6008452B2;
remoteGlobalIDString = 5F05B71D1DFE210A0095C03B;
remoteInfo = "Task Master";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
5F26CD7F1DDDDAF6008452B2 /* Task Master.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Task Master.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = "<group>"; };
5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; };
5F26CD891DDDDAF6008452B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5F26CD8E1DDDDAF6008452B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
5F26CD901DDDDAF6008452B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Task MasterTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Task_MasterTests.swift; sourceTree = "<group>"; };
5F26CD9B1DDDDAF6008452B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F05B71E1DFE210A0095C03B /* Task Master.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Task Master.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5F05B7211DFE210A0095C03B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
5F05B7251DFE210A0095C03B /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; };
5F05B7281DFE210A0095C03B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
5F05B72A1DFE210A0095C03B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5F05B72F1DFE210A0095C03B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Task MasterTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Task_MasterTests.swift; sourceTree = "<group>"; };
5F05B73A1DFE210A0095C03B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
5F8812841DFE25F60041BEAB /* TaskMaster.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TaskMaster.swift; sourceTree = "<group>"; };
5F8812861DFE26520041BEAB /* FirstViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = "<group>"; };
5F8812881DFE27970041BEAB /* Task Master.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Task Master.entitlements"; sourceTree = "<group>"; };
5F88128A1DFE27BA0041BEAB /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
5F26CD7C1DDDDAF6008452B2 /* Frameworks */ = {
5F05B71B1DFE210A0095C03B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5F88128B1DFE27BA0041BEAB /* MapKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5F26CD921DDDDAF6008452B2 /* Frameworks */ = {
5F05B7311DFE210A0095C03B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -58,57 +64,68 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
5F26CD761DDDDAF6008452B2 = {
5F05B7151DFE210A0095C03B = {
isa = PBXGroup;
children = (
5F26CD811DDDDAF6008452B2 /* Task Master */,
5F26CD981DDDDAF6008452B2 /* Task MasterTests */,
5F26CD801DDDDAF6008452B2 /* Products */,
5F05B7201DFE210A0095C03B /* Task Master */,
5F05B7371DFE210A0095C03B /* Task MasterTests */,
5F05B71F1DFE210A0095C03B /* Products */,
5F8812891DFE27BA0041BEAB /* Frameworks */,
);
sourceTree = "<group>";
};
5F26CD801DDDDAF6008452B2 /* Products */ = {
5F05B71F1DFE210A0095C03B /* Products */ = {
isa = PBXGroup;
children = (
5F26CD7F1DDDDAF6008452B2 /* Task Master.app */,
5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */,
5F05B71E1DFE210A0095C03B /* Task Master.app */,
5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
5F26CD811DDDDAF6008452B2 /* Task Master */ = {
5F05B7201DFE210A0095C03B /* Task Master */ = {
isa = PBXGroup;
children = (
5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */,
5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */,
5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */,
5F26CD881DDDDAF6008452B2 /* Main.storyboard */,
5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */,
5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */,
5F26CD901DDDDAF6008452B2 /* Info.plist */,
5F8812881DFE27970041BEAB /* Task Master.entitlements */,
5F8812861DFE26520041BEAB /* FirstViewController.swift */,
5F8812841DFE25F60041BEAB /* TaskMaster.swift */,
5F05B7211DFE210A0095C03B /* AppDelegate.swift */,
5F05B7251DFE210A0095C03B /* SecondViewController.swift */,
5F05B7271DFE210A0095C03B /* Main.storyboard */,
5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */,
5F05B72A1DFE210A0095C03B /* Assets.xcassets */,
5F05B72F1DFE210A0095C03B /* Info.plist */,
);
path = "Task Master";
sourceTree = "<group>";
};
5F26CD981DDDDAF6008452B2 /* Task MasterTests */ = {
5F05B7371DFE210A0095C03B /* Task MasterTests */ = {
isa = PBXGroup;
children = (
5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */,
5F26CD9B1DDDDAF6008452B2 /* Info.plist */,
5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */,
5F05B73A1DFE210A0095C03B /* Info.plist */,
);
path = "Task MasterTests";
sourceTree = "<group>";
};
5F8812891DFE27BA0041BEAB /* Frameworks */ = {
isa = PBXGroup;
children = (
5F88128A1DFE27BA0041BEAB /* MapKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
5F26CD7E1DDDDAF6008452B2 /* Task Master */ = {
5F05B71D1DFE210A0095C03B /* Task Master */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5F26CD9E1DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task Master" */;
buildConfigurationList = 5F05B73D1DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task Master" */;
buildPhases = (
5F26CD7B1DDDDAF6008452B2 /* Sources */,
5F26CD7C1DDDDAF6008452B2 /* Frameworks */,
5F26CD7D1DDDDAF6008452B2 /* Resources */,
5F05B71A1DFE210A0095C03B /* Sources */,
5F05B71B1DFE210A0095C03B /* Frameworks */,
5F05B71C1DFE210A0095C03B /* Resources */,
);
buildRules = (
);
@@ -116,51 +133,68 @@
);
name = "Task Master";
productName = "Task Master";
productReference = 5F26CD7F1DDDDAF6008452B2 /* Task Master.app */;
productReference = 5F05B71E1DFE210A0095C03B /* Task Master.app */;
productType = "com.apple.product-type.application";
};
5F26CD941DDDDAF6008452B2 /* Task MasterTests */ = {
5F05B7331DFE210A0095C03B /* Task MasterTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5F26CDA11DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task MasterTests" */;
buildConfigurationList = 5F05B7401DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task MasterTests" */;
buildPhases = (
5F26CD911DDDDAF6008452B2 /* Sources */,
5F26CD921DDDDAF6008452B2 /* Frameworks */,
5F26CD931DDDDAF6008452B2 /* Resources */,
5F05B7301DFE210A0095C03B /* Sources */,
5F05B7311DFE210A0095C03B /* Frameworks */,
5F05B7321DFE210A0095C03B /* Resources */,
);
buildRules = (
);
dependencies = (
5F26CD971DDDDAF6008452B2 /* PBXTargetDependency */,
5F05B7361DFE210A0095C03B /* PBXTargetDependency */,
);
name = "Task MasterTests";
productName = "Task MasterTests";
productReference = 5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */;
productReference = 5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
5F26CD771DDDDAF6008452B2 /* Project object */ = {
5F05B7161DFE210A0095C03B /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0810;
LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Alexander Davis Computing and Media";
TargetAttributes = {
5F26CD7E1DDDDAF6008452B2 = {
5F05B71D1DFE210A0095C03B = {
CreatedOnToolsVersion = 8.1;
DevelopmentTeam = 28CC8SCVUN;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.BackgroundModes = {
enabled = 1;
};
com.apple.DataProtection = {
enabled = 1;
};
com.apple.Maps.iOS = {
enabled = 1;
};
com.apple.Push = {
enabled = 1;
};
com.apple.Siri = {
enabled = 1;
};
};
};
5F26CD941DDDDAF6008452B2 = {
5F05B7331DFE210A0095C03B = {
CreatedOnToolsVersion = 8.1;
DevelopmentTeam = 28CC8SCVUN;
ProvisioningStyle = Automatic;
TestTargetID = 5F26CD7E1DDDDAF6008452B2;
TestTargetID = 5F05B71D1DFE210A0095C03B;
};
};
};
buildConfigurationList = 5F26CD7A1DDDDAF6008452B2 /* Build configuration list for PBXProject "Task Master" */;
buildConfigurationList = 5F05B7191DFE210A0095C03B /* Build configuration list for PBXProject "Task Master" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@@ -168,29 +202,29 @@
en,
Base,
);
mainGroup = 5F26CD761DDDDAF6008452B2;
productRefGroup = 5F26CD801DDDDAF6008452B2 /* Products */;
mainGroup = 5F05B7151DFE210A0095C03B;
productRefGroup = 5F05B71F1DFE210A0095C03B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
5F26CD7E1DDDDAF6008452B2 /* Task Master */,
5F26CD941DDDDAF6008452B2 /* Task MasterTests */,
5F05B71D1DFE210A0095C03B /* Task Master */,
5F05B7331DFE210A0095C03B /* Task MasterTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
5F26CD7D1DDDDAF6008452B2 /* Resources */ = {
5F05B71C1DFE210A0095C03B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5F26CD8F1DDDDAF6008452B2 /* LaunchScreen.storyboard in Resources */,
5F26CD8C1DDDDAF6008452B2 /* Assets.xcassets in Resources */,
5F26CD8A1DDDDAF6008452B2 /* Main.storyboard in Resources */,
5F05B7441DFE21290095C03B /* LaunchScreen.storyboard in Resources */,
5F05B72B1DFE210A0095C03B /* Assets.xcassets in Resources */,
5F05B7291DFE210A0095C03B /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5F26CD931DDDDAF6008452B2 /* Resources */ = {
5F05B7321DFE210A0095C03B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -200,55 +234,48 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
5F26CD7B1DDDDAF6008452B2 /* Sources */ = {
5F05B71A1DFE210A0095C03B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5F26CD871DDDDAF6008452B2 /* SecondViewController.swift in Sources */,
5F26CD831DDDDAF6008452B2 /* AppDelegate.swift in Sources */,
5F26CD851DDDDAF6008452B2 /* FirstViewController.swift in Sources */,
5F05B7261DFE210A0095C03B /* SecondViewController.swift in Sources */,
5F05B7221DFE210A0095C03B /* AppDelegate.swift in Sources */,
5F8812851DFE25F60041BEAB /* TaskMaster.swift in Sources */,
5F8812871DFE26520041BEAB /* FirstViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5F26CD911DDDDAF6008452B2 /* Sources */ = {
5F05B7301DFE210A0095C03B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5F26CD9A1DDDDAF6008452B2 /* Task_MasterTests.swift in Sources */,
5F05B7391DFE210A0095C03B /* Task_MasterTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
5F26CD971DDDDAF6008452B2 /* PBXTargetDependency */ = {
5F05B7361DFE210A0095C03B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5F26CD7E1DDDDAF6008452B2 /* Task Master */;
targetProxy = 5F26CD961DDDDAF6008452B2 /* PBXContainerItemProxy */;
target = 5F05B71D1DFE210A0095C03B /* Task Master */;
targetProxy = 5F05B7351DFE210A0095C03B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
5F26CD881DDDDAF6008452B2 /* Main.storyboard */ = {
5F05B7271DFE210A0095C03B /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
5F26CD891DDDDAF6008452B2 /* Base */,
5F05B7281DFE210A0095C03B /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
5F26CD8E1DDDDAF6008452B2 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
5F26CD9C1DDDDAF6008452B2 /* Debug */ = {
5F05B73B1DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -297,7 +324,7 @@
};
name = Debug;
};
5F26CD9D1DDDDAF6008452B2 /* Release */ = {
5F05B73C1DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -339,10 +366,11 @@
};
name = Release;
};
5F26CD9F1DDDDAF6008452B2 /* Debug */ = {
5F05B73E1DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Task Master/Task Master.entitlements";
DEVELOPMENT_TEAM = 28CC8SCVUN;
INFOPLIST_FILE = "Task Master/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -352,10 +380,11 @@
};
name = Debug;
};
5F26CDA01DDDDAF6008452B2 /* Release */ = {
5F05B73F1DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Task Master/Task Master.entitlements";
DEVELOPMENT_TEAM = 28CC8SCVUN;
INFOPLIST_FILE = "Task Master/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -365,7 +394,7 @@
};
name = Release;
};
5F26CDA21DDDDAF6008452B2 /* Debug */ = {
5F05B7411DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
@@ -380,7 +409,7 @@
};
name = Debug;
};
5F26CDA31DDDDAF6008452B2 /* Release */ = {
5F05B7421DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
@@ -398,32 +427,34 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
5F26CD7A1DDDDAF6008452B2 /* Build configuration list for PBXProject "Task Master" */ = {
5F05B7191DFE210A0095C03B /* Build configuration list for PBXProject "Task Master" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5F26CD9C1DDDDAF6008452B2 /* Debug */,
5F26CD9D1DDDDAF6008452B2 /* Release */,
5F05B73B1DFE210A0095C03B /* Debug */,
5F05B73C1DFE210A0095C03B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5F26CD9E1DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task Master" */ = {
5F05B73D1DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task Master" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5F26CD9F1DDDDAF6008452B2 /* Debug */,
5F26CDA01DDDDAF6008452B2 /* Release */,
5F05B73E1DFE210A0095C03B /* Debug */,
5F05B73F1DFE210A0095C03B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5F26CDA11DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task MasterTests" */ = {
5F05B7401DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task MasterTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5F26CDA21DDDDAF6008452B2 /* Debug */,
5F26CDA31DDDDAF6008452B2 /* Release */,
5F05B7411DFE210A0095C03B /* Debug */,
5F05B7421DFE210A0095C03B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 5F26CD771DDDDAF6008452B2 /* Project object */;
rootObject = 5F05B7161DFE210A0095C03B /* Project object */;
}

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/FirstViewController.swift"
timestampString = "503194851.913249"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
landmarkName = "tableView(_:numberOfRowsInSection:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/SecondViewController.swift"
timestampString = "503196949.066494"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "56"
endingLineNumber = "56"
landmarkName = "btnLocaionOffline(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/SecondViewController.swift"
timestampString = "503196954.924628"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
landmarkName = "btnLocaionOffline(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/TaskCompletion.swift"
timestampString = "503197428.18199"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "17"
endingLineNumber = "17"
landmarkName = "StrikeThroughText"
landmarkType = "3">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@@ -14,7 +14,7 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2"
BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app"
BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj">
@@ -32,7 +32,7 @@
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD941DDDDAF6008452B2"
BlueprintIdentifier = "5F05B7331DFE210A0095C03B"
BuildableName = "Task MasterTests.xctest"
BlueprintName = "Task MasterTests"
ReferencedContainer = "container:Task Master.xcodeproj">
@@ -42,7 +42,7 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2"
BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app"
BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj">
@@ -65,7 +65,7 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2"
BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app"
BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj">
@@ -84,7 +84,7 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2"
BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app"
BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj">

View File

@@ -12,12 +12,12 @@
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>5F26CD7E1DDDDAF6008452B2</key>
<key>5F05B71D1DFE210A0095C03B</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>5F26CD941DDDDAF6008452B2</key>
<key>5F05B7331DFE210A0095C03B</key>
<dict>
<key>primary</key>
<true/>

View File

@@ -2,7 +2,7 @@
// AppDelegate.swift
// Task Master
//
// Created by Alexander Davis on 17/11/2016.
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//

View File

@@ -1,5 +1,15 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "create_new-25.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "create_new-32.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "create_new-50.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

View File

0
Task Master/Task Master/Assets.xcassets/first.imageset/first.pdf vendored Normal file → Executable file
View File

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "report_card-25.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "report_card-32.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "report_card-50.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

0
Task Master/Task Master/Assets.xcassets/second.imageset/second.pdf vendored Normal file → Executable file
View File

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@@ -9,10 +9,10 @@
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Create New Task-->
<!--Task List-->
<scene sceneID="hNz-n2-bh7">
<objects>
<viewController id="9pv-A4-QxB" customClass="FirstViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<viewController title="Task List" id="9pv-A4-QxB" customClass="FirstViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ia1-K6-d13"/>
<viewControllerLayoutGuide type="bottom" id="4ug-Mw-9AY"/>
@@ -21,41 +21,31 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" text="Create New Task" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="6ri-8T-W5S">
<rect key="frame" x="51" y="28" width="274" height="42"/>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dUb-Cz-GwL" userLabel="TblTasks">
<rect key="frame" x="0.0" y="20" width="375" height="598"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="hFX-3w-pAq">
<rect key="frame" x="166" y="462" width="97" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mYA-Fw-o0J">
<rect key="frame" x="126" y="78" width="233" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<connections>
<outlet property="dataSource" destination="9pv-A4-QxB" id="P4h-06-yAE"/>
<outlet property="delegate" destination="9pv-A4-QxB" id="L2G-ZE-bZ8"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<tabBarItem key="tabBarItem" title="Create New Task" image="first" id="acW-dT-cKf"/>
<tabBarItem key="tabBarItem" title="Task List" image="report_card-50" selectedImage="report_card-50" id="acW-dT-cKf"/>
<connections>
<outlet property="tblTasks" destination="dUb-Cz-GwL" id="HBA-Lj-fYP"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="W5J-7L-Pyd" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="749.60000000000002" y="-320.68965517241384"/>
</scene>
<!--View Current Tasks-->
<!--Create Task-->
<scene sceneID="wg7-f3-ORb">
<objects>
<viewController id="8rJ-Kc-sve" customClass="SecondViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<viewController title="Create Task" id="8rJ-Kc-sve" customClass="SecondViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="L7p-HK-0SC"/>
<viewControllerLayoutGuide type="bottom" id="Djb-ko-YwX"/>
@@ -64,105 +54,87 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="30H-ta-HTS">
<rect key="frame" x="0.0" y="78" width="375" height="540"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="New Task" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hxo-Df-LXR" userLabel="LblNewTask">
<rect key="frame" x="16" y="20" width="343" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</tableView>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" text="Current Tasks" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="4xk-kS-mYZ">
<rect key="frame" x="79" y="28" width="222" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Name" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="dbT-xU-LVU" userLabel="TbxName">
<rect key="frame" x="16" y="62" width="343" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
<connections>
<outlet property="delegate" destination="8rJ-Kc-sve" id="MO5-IT-F0B"/>
</connections>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Description" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="8gF-Gw-aKr" userLabel="TbxDescription">
<rect key="frame" x="16" y="100" width="343" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
<connections>
<outlet property="delegate" destination="8rJ-Kc-sve" id="Ffm-hV-KHo"/>
</connections>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Task Deadline" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lkv-kD-xzC">
<rect key="frame" x="16" y="138" width="107" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<datePicker contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" datePickerMode="dateAndTime" minuteInterval="1" translatesAutoresizingMaskIntoConstraints="NO" id="Odd-nh-N2Q">
<rect key="frame" x="0.0" y="167" width="375" height="216"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<date key="date" timeIntervalSinceReferenceDate="503197116.23274302">
<!--2016-12-12 00:58:36 +0000-->
</date>
</datePicker>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mTg-CE-U6F" userLabel="BtnSave">
<rect key="frame" x="313" y="430" width="46" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Save"/>
<connections>
<action selector="btnAddTask:" destination="8rJ-Kc-sve" eventType="touchUpInside" id="ey0-Qr-ujb"/>
</connections>
</button>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="XXl-kG-a1h">
<rect key="frame" x="310" y="391" width="51" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</switch>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Location Specific Task" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lqm-xh-3I8">
<rect key="frame" x="16" y="391" width="286" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="e72-EB-pY5">
<rect key="frame" x="310" y="391" width="49" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<connections>
<action selector="btnLocaionOffline:" destination="8rJ-Kc-sve" eventType="touchUpInside" id="CoQ-vY-xJC"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<tabBarItem key="tabBarItem" title="View Current Tasks" image="first" id="cPa-gy-q4n"/>
<tabBarItem key="tabBarItem" title="Create Task" image="create_new-50" selectedImage="create_new-50" id="cPa-gy-q4n"/>
<connections>
<outlet property="txtDesc" destination="8gF-Gw-aKr" id="j3d-Ng-Jc0"/>
<outlet property="txtTask" destination="dbT-xU-LVU" id="JHl-jE-3Vb"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4Nw-L8-lE0" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="749.60000000000002" y="359.37031484257875"/>
</scene>
<!--View Controller-->
<scene sceneID="YoS-Eh-zlA">
<objects>
<viewController id="Ddc-yo-LlB" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="fJY-kR-crH"/>
<viewControllerLayoutGuide type="bottom" id="58K-W9-mwg"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="u3S-W1-zWH">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<pickerView contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="88o-Di-nbc">
<rect key="frame" x="0.0" y="225" width="375" height="216"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
</pickerView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Ae5-ln-Aai" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1524" y="359"/>
</scene>
<!--View Completed Tasks-->
<scene sceneID="2gi-Py-dkS">
<objects>
<viewController id="9Rc-wP-Td5" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="OQY-LZ-fR2"/>
<viewControllerLayoutGuide type="bottom" id="Xc0-n7-WbU"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="TAW-3R-2dS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="eqp-k6-Two">
<rect key="frame" x="0.0" y="28" width="375" height="590"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<label key="tableFooterView" opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Completed Tasks" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="fSL-4E-trU">
<rect key="frame" x="0.0" y="0.0" width="375" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
<tabBarItem key="tabBarItem" title="View Completed Tasks" image="first" id="gnk-7f-T6r"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="y0F-dD-Nzh" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="749.60000000000002" y="1045.7271364317842"/>
</scene>
<!--View Controller-->
<scene sceneID="ccx-r4-1xM">
<objects>
<viewController id="5xa-yJ-Jv1" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="ojH-R2-lsa"/>
<viewControllerLayoutGuide type="bottom" id="3t6-zF-PuV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="AkG-jL-Wjf">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="6fG-cY-BDx" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1524" y="1046"/>
</scene>
<!--Tab Bar Controller-->
<scene sceneID="yl2-sM-qoP">
<objects>
@@ -176,15 +148,15 @@
<connections>
<segue destination="9pv-A4-QxB" kind="relationship" relationship="viewControllers" id="u7Y-xg-7CH"/>
<segue destination="8rJ-Kc-sve" kind="relationship" relationship="viewControllers" id="lzU-1b-eKA"/>
<segue destination="9Rc-wP-Td5" kind="relationship" relationship="viewControllers" id="mDg-PZ-mSh"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="HuB-VB-40B" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-410" y="15"/>
<point key="canvasLocation" x="0.0" y="0.0"/>
</scene>
</scenes>
<resources>
<image name="first" width="30" height="30"/>
<image name="create_new-50" width="16" height="16"/>
<image name="report_card-50" width="16" height="16"/>
</resources>
</document>

View File

@@ -2,24 +2,55 @@
// FirstViewController.swift
// Task Master
//
// Created by Alexander Davis on 17/11/2016.
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//
import UIKit
class FirstViewController: UIViewController {
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
{
@IBOutlet var tblTasks : UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
tblTasks.reloadData()
}
override func viewWillAppear(_ animated: Bool) {
self.tblTasks.reloadData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return taskMgr.tasks.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "Default Tasks")
//Assign the contents of var "items" to the textLabel of each cell
cell.textLabel!.text = taskMgr.tasks[indexPath.row].name
cell.detailTextLabel!.text = taskMgr.tasks[indexPath.row].desc
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath){
if (editingStyle == UITableViewCellEditingStyle.delete){
taskMgr.tasks.remove(at: indexPath.row)
tblTasks.reloadData()
}
}
}

View File

@@ -20,6 +20,12 @@
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
@@ -43,6 +49,7 @@
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright © 2016 Alexander Davis Computing and Media. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Task Master" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
<constraint firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@@ -2,24 +2,59 @@
// SecondViewController.swift
// Task Master
//
// Created by Alexander Davis on 17/11/2016.
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//
import UIKit
class SecondViewController: UIViewController {
class SecondViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var txtTask: UITextField!
@IBOutlet var txtDesc: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnAddTask(_ sender : UIButton){
if (txtTask.text == ""){
//App won't add task if textbox is empty
} else {
//If above case is 'false', Task Master will create a task
let name: String = txtTask.text!
let description: String = txtDesc.text!
taskMgr.addTask(name, desc: description)
//Once Task is added, keyboard will be dismissed and form will reset
self.view.endEditing(true)
txtTask.text = nil
txtDesc.text = nil
}
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool{
textField.resignFirstResponder()
return true
}
@IBAction func btnLocaionOffline(_ sender : UIButton){
let alertController = UIAlertController(title: "Location Based Tasks Not Available", message:
"Location based tasks are not available just yet. I will add these later!", preferredStyle: UIAlertControllerStyle.alert)
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default,handler: nil))
self.present(alertController, animated: true, completion: nil)
}
}

View File

@@ -0,0 +1,12 @@
<?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>aps-environment</key>
<string>development</string>
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>
<key>com.apple.developer.siri</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,26 @@
//
// TaskMaster.swift
// Task Master
//
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//
import UIKit
var taskMgr: TaskManager = TaskManager()
struct task {
var name = "not defined"
var desc = "not defined"
}
class TaskManager: NSObject {
var tasks = [task]()
func addTask(_ name: String, desc: String){
tasks.append(task(name: name, desc: desc))
}
}

View File

@@ -2,7 +2,7 @@
// Task_MasterTests.swift
// Task MasterTests
//
// Created by Alexander Davis on 17/11/2016.
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//