diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..2be9660d
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..65cee3ea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+build/
+DerivedData
+
+## Various settings
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+
+## Other
+*.xccheckout
+*.moved-aside
+*.xcuserstate
+*.DS_Store
\ No newline at end of file
diff --git a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.pbxproj b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.pbxproj
index 6df03abc..24492893 100644
--- a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.pbxproj
+++ b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.pbxproj
@@ -160,7 +160,9 @@
075FD4C11A34D5A000513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD4C81A34D5A000513A3A = {
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = AVFoundationQRcode/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = AVFoundationQRcode/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = AVFoundationQRcodeTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AVFoundationQRcode.app/AVFoundationQRcode";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = AVFoundationQRcodeTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AVFoundationQRcode.app/AVFoundationQRcode";
};
@@ -409,6 +418,7 @@
075FD4EA1A34D5A000513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD4EB1A34D5A000513A3A /* Build configuration list for PBXNativeTarget "AVFoundationQRcodeTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
075FD4ED1A34D5A000513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcshareddata/AVFoundationQRcode.xccheckout b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcshareddata/AVFoundationQRcode.xccheckout
new file mode 100644
index 00000000..e20c40ce
--- /dev/null
+++ b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcshareddata/AVFoundationQRcode.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 43AEA620-C840-4305-81FD-AA88654B4BC4
+ IDESourceControlProjectName
+ AVFoundationQRcode
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ AVFoundationQRcode/AVFoundationQRcode.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 9d0c2426..31523ba8 100644
Binary files a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode 2.xcscheme b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode 2.xcscheme
new file mode 100644
index 00000000..4b582abd
--- /dev/null
+++ b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode.xcscheme b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode.xcscheme
index b077b6c9..e1b92ff1 100644
--- a/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode.xcscheme
+++ b/AVFoundationQRcode/AVFoundationQRcode.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AVFoundationQRcode.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:AVFoundationQRcode.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ AVFoundationQRcode 2.xcscheme
+
+ orderHint
+ 1
+
AVFoundationQRcode.xcscheme
orderHint
diff --git a/AVFoundationQRcode/AVFoundationQRcode/AppDelegate.swift b/AVFoundationQRcode/AVFoundationQRcode/AppDelegate.swift
index aed5d56b..23f48006 100644
--- a/AVFoundationQRcode/AVFoundationQRcode/AppDelegate.swift
+++ b/AVFoundationQRcode/AVFoundationQRcode/AppDelegate.swift
@@ -3,7 +3,15 @@
// AVFoundationQRcode
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/AVFoundationQRcode/AVFoundationQRcode/Base.lproj/Main.storyboard b/AVFoundationQRcode/AVFoundationQRcode/Base.lproj/Main.storyboard
index e043d923..7b0d3049 100644
--- a/AVFoundationQRcode/AVFoundationQRcode/Base.lproj/Main.storyboard
+++ b/AVFoundationQRcode/AVFoundationQRcode/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
diff --git a/AVFoundationQRcode/AVFoundationQRcode/Info.plist b/AVFoundationQRcode/AVFoundationQRcode/Info.plist
index bebd69a0..6905cc67 100644
--- a/AVFoundationQRcode/AVFoundationQRcode/Info.plist
+++ b/AVFoundationQRcode/AVFoundationQRcode/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/AVFoundationQRcode/AVFoundationQRcode/ViewController.swift b/AVFoundationQRcode/AVFoundationQRcode/ViewController.swift
index 657dc470..5b46b7f8 100644
--- a/AVFoundationQRcode/AVFoundationQRcode/ViewController.swift
+++ b/AVFoundationQRcode/AVFoundationQRcode/ViewController.swift
@@ -3,7 +3,15 @@
// AVFoundationQRcode
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -25,7 +33,7 @@ class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
- setupCaptureSession() //Implementado posteriormente
+ setupCaptureSession()
previewLayer.frame = previewView.bounds
previewView.layer.addSublayer(previewLayer)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "startRunning:", name:UIApplicationWillEnterForegroundNotification, object: nil)
@@ -65,10 +73,11 @@ class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
videoDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
if(videoDevice == nil){
- println("No camera on this device")
+ print("No camera on this device")
}
captureSession = AVCaptureSession()
- videoInput = AVCaptureDeviceInput.deviceInputWithDevice(videoDevice, error: nil) as AVCaptureDeviceInput
+ videoInput = (try! AVCaptureDeviceInput(device: videoDevice) as AVCaptureDeviceInput)
+
if(captureSession.canAddInput(videoInput)){
captureSession.addInput(videoInput)
@@ -76,7 +85,7 @@ class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
metadataOutput = AVCaptureMetadataOutput()
- var metadataQueue = dispatch_queue_create("com.example.QRCode.metadata", nil)
+ let metadataQueue = dispatch_queue_create("com.example.QRCode.metadata", nil)
metadataOutput.setMetadataObjectsDelegate(self, queue: metadataQueue)
if(captureSession.canAddOutput(metadataOutput)){
@@ -86,10 +95,10 @@ class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {
func captureOutput(captureOutput: AVCaptureOutput!,
didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection
connection: AVCaptureConnection!) {
- var elemento = metadataObjects.first as?
+ let elemento = metadataObjects.first as?
AVMetadataMachineReadableCodeObject
if(elemento != nil){
- println(elemento!.stringValue)
+ print(elemento!.stringValue)
sendURL = elemento!.stringValue
}
diff --git a/AVFoundationQRcode/AVFoundationQRcodeTests/Info.plist b/AVFoundationQRcode/AVFoundationQRcodeTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/AVFoundationQRcode/AVFoundationQRcodeTests/Info.plist
+++ b/AVFoundationQRcode/AVFoundationQRcodeTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/AgendaBasica/AgendaBasica.xcodeproj/project.pbxproj b/AgendaBasica/AgendaBasica.xcodeproj/project.pbxproj
deleted file mode 100644
index 89e23009..00000000
--- a/AgendaBasica/AgendaBasica.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,432 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 0771581B1A2BAD5300D5DD1D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0771581A1A2BAD5300D5DD1D /* AppDelegate.swift */; };
- 077158201A2BAD5300D5DD1D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0771581E1A2BAD5300D5DD1D /* Main.storyboard */; };
- 077158221A2BAD5300D5DD1D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077158211A2BAD5300D5DD1D /* Images.xcassets */; };
- 077158251A2BAD5300D5DD1D /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 077158231A2BAD5300D5DD1D /* LaunchScreen.xib */; };
- 077158311A2BAD5400D5DD1D /* AgendaBasicaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077158301A2BAD5400D5DD1D /* AgendaBasicaTests.swift */; };
- 0771583B1A2BAD8D00D5DD1D /* ListadoTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0771583A1A2BAD8D00D5DD1D /* ListadoTableViewController.swift */; };
- 0771583D1A2BADA300D5DD1D /* Contacto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0771583C1A2BADA300D5DD1D /* Contacto.swift */; };
- 077158411A2BB27B00D5DD1D /* DetalleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077158401A2BB27B00D5DD1D /* DetalleViewController.swift */; };
- 077158431A2BB60300D5DD1D /* NuevoContactoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077158421A2BB60300D5DD1D /* NuevoContactoViewController.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- 0771582B1A2BAD5400D5DD1D /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 0771580D1A2BAD5300D5DD1D /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 077158141A2BAD5300D5DD1D;
- remoteInfo = AgendaBasica;
- };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
- 077158151A2BAD5300D5DD1D /* AgendaBasica.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AgendaBasica.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 077158191A2BAD5300D5DD1D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 0771581A1A2BAD5300D5DD1D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 0771581F1A2BAD5300D5DD1D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 077158211A2BAD5300D5DD1D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- 077158241A2BAD5300D5DD1D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 0771582A1A2BAD5400D5DD1D /* AgendaBasicaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AgendaBasicaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 0771582F1A2BAD5400D5DD1D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 077158301A2BAD5400D5DD1D /* AgendaBasicaTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgendaBasicaTests.swift; sourceTree = ""; };
- 0771583A1A2BAD8D00D5DD1D /* ListadoTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListadoTableViewController.swift; sourceTree = ""; };
- 0771583C1A2BADA300D5DD1D /* Contacto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Contacto.swift; path = ../Contacto.swift; sourceTree = ""; };
- 077158401A2BB27B00D5DD1D /* DetalleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetalleViewController.swift; sourceTree = ""; };
- 077158421A2BB60300D5DD1D /* NuevoContactoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NuevoContactoViewController.swift; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 077158121A2BAD5300D5DD1D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 077158271A2BAD5400D5DD1D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 0771580C1A2BAD5300D5DD1D = {
- isa = PBXGroup;
- children = (
- 077158171A2BAD5300D5DD1D /* AgendaBasica */,
- 0771582D1A2BAD5400D5DD1D /* AgendaBasicaTests */,
- 077158161A2BAD5300D5DD1D /* Products */,
- );
- sourceTree = "";
- };
- 077158161A2BAD5300D5DD1D /* Products */ = {
- isa = PBXGroup;
- children = (
- 077158151A2BAD5300D5DD1D /* AgendaBasica.app */,
- 0771582A1A2BAD5400D5DD1D /* AgendaBasicaTests.xctest */,
- );
- name = Products;
- sourceTree = "";
- };
- 077158171A2BAD5300D5DD1D /* AgendaBasica */ = {
- isa = PBXGroup;
- children = (
- 0771581A1A2BAD5300D5DD1D /* AppDelegate.swift */,
- 0771583A1A2BAD8D00D5DD1D /* ListadoTableViewController.swift */,
- 077158401A2BB27B00D5DD1D /* DetalleViewController.swift */,
- 077158421A2BB60300D5DD1D /* NuevoContactoViewController.swift */,
- 0771583C1A2BADA300D5DD1D /* Contacto.swift */,
- 0771581E1A2BAD5300D5DD1D /* Main.storyboard */,
- 077158211A2BAD5300D5DD1D /* Images.xcassets */,
- 077158231A2BAD5300D5DD1D /* LaunchScreen.xib */,
- 077158181A2BAD5300D5DD1D /* Supporting Files */,
- );
- path = AgendaBasica;
- sourceTree = "";
- };
- 077158181A2BAD5300D5DD1D /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 077158191A2BAD5300D5DD1D /* Info.plist */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- 0771582D1A2BAD5400D5DD1D /* AgendaBasicaTests */ = {
- isa = PBXGroup;
- children = (
- 077158301A2BAD5400D5DD1D /* AgendaBasicaTests.swift */,
- 0771582E1A2BAD5400D5DD1D /* Supporting Files */,
- );
- path = AgendaBasicaTests;
- sourceTree = "";
- };
- 0771582E1A2BAD5400D5DD1D /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 0771582F1A2BAD5400D5DD1D /* Info.plist */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 077158141A2BAD5300D5DD1D /* AgendaBasica */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 077158341A2BAD5400D5DD1D /* Build configuration list for PBXNativeTarget "AgendaBasica" */;
- buildPhases = (
- 077158111A2BAD5300D5DD1D /* Sources */,
- 077158121A2BAD5300D5DD1D /* Frameworks */,
- 077158131A2BAD5300D5DD1D /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = AgendaBasica;
- productName = AgendaBasica;
- productReference = 077158151A2BAD5300D5DD1D /* AgendaBasica.app */;
- productType = "com.apple.product-type.application";
- };
- 077158291A2BAD5400D5DD1D /* AgendaBasicaTests */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 077158371A2BAD5400D5DD1D /* Build configuration list for PBXNativeTarget "AgendaBasicaTests" */;
- buildPhases = (
- 077158261A2BAD5400D5DD1D /* Sources */,
- 077158271A2BAD5400D5DD1D /* Frameworks */,
- 077158281A2BAD5400D5DD1D /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- 0771582C1A2BAD5400D5DD1D /* PBXTargetDependency */,
- );
- name = AgendaBasicaTests;
- productName = AgendaBasicaTests;
- productReference = 0771582A1A2BAD5400D5DD1D /* AgendaBasicaTests.xctest */;
- productType = "com.apple.product-type.bundle.unit-test";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 0771580D1A2BAD5300D5DD1D /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0610;
- ORGANIZATIONNAME = "Carlos Butron";
- TargetAttributes = {
- 077158141A2BAD5300D5DD1D = {
- CreatedOnToolsVersion = 6.1;
- };
- 077158291A2BAD5400D5DD1D = {
- CreatedOnToolsVersion = 6.1;
- TestTargetID = 077158141A2BAD5300D5DD1D;
- };
- };
- };
- buildConfigurationList = 077158101A2BAD5300D5DD1D /* Build configuration list for PBXProject "AgendaBasica" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = 0771580C1A2BAD5300D5DD1D;
- productRefGroup = 077158161A2BAD5300D5DD1D /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 077158141A2BAD5300D5DD1D /* AgendaBasica */,
- 077158291A2BAD5400D5DD1D /* AgendaBasicaTests */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 077158131A2BAD5300D5DD1D /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 077158201A2BAD5300D5DD1D /* Main.storyboard in Resources */,
- 077158251A2BAD5300D5DD1D /* LaunchScreen.xib in Resources */,
- 077158221A2BAD5300D5DD1D /* Images.xcassets in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 077158281A2BAD5400D5DD1D /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 077158111A2BAD5300D5DD1D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 077158431A2BB60300D5DD1D /* NuevoContactoViewController.swift in Sources */,
- 077158411A2BB27B00D5DD1D /* DetalleViewController.swift in Sources */,
- 0771583B1A2BAD8D00D5DD1D /* ListadoTableViewController.swift in Sources */,
- 0771581B1A2BAD5300D5DD1D /* AppDelegate.swift in Sources */,
- 0771583D1A2BADA300D5DD1D /* Contacto.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 077158261A2BAD5400D5DD1D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 077158311A2BAD5400D5DD1D /* AgendaBasicaTests.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- 0771582C1A2BAD5400D5DD1D /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 077158141A2BAD5300D5DD1D /* AgendaBasica */;
- targetProxy = 0771582B1A2BAD5400D5DD1D /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
- 0771581E1A2BAD5300D5DD1D /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 0771581F1A2BAD5300D5DD1D /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- 077158231A2BAD5300D5DD1D /* LaunchScreen.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 077158241A2BAD5300D5DD1D /* Base */,
- );
- name = LaunchScreen.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 077158321A2BAD5400D5DD1D /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- 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 = 8.1;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- 077158331A2BAD5400D5DD1D /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = YES;
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- 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 = 8.1;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 077158351A2BAD5400D5DD1D /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = AgendaBasica/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- 077158361A2BAD5400D5DD1D /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = AgendaBasica/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
- 077158381A2BAD5400D5DD1D /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- FRAMEWORK_SEARCH_PATHS = (
- "$(SDKROOT)/Developer/Library/Frameworks",
- "$(inherited)",
- );
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- INFOPLIST_FILE = AgendaBasicaTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AgendaBasica.app/AgendaBasica";
- };
- name = Debug;
- };
- 077158391A2BAD5400D5DD1D /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- FRAMEWORK_SEARCH_PATHS = (
- "$(SDKROOT)/Developer/Library/Frameworks",
- "$(inherited)",
- );
- INFOPLIST_FILE = AgendaBasicaTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AgendaBasica.app/AgendaBasica";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 077158101A2BAD5300D5DD1D /* Build configuration list for PBXProject "AgendaBasica" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 077158321A2BAD5400D5DD1D /* Debug */,
- 077158331A2BAD5400D5DD1D /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 077158341A2BAD5400D5DD1D /* Build configuration list for PBXNativeTarget "AgendaBasica" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 077158351A2BAD5400D5DD1D /* Debug */,
- 077158361A2BAD5400D5DD1D /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- };
- 077158371A2BAD5400D5DD1D /* Build configuration list for PBXNativeTarget "AgendaBasicaTests" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 077158381A2BAD5400D5DD1D /* Debug */,
- 077158391A2BAD5400D5DD1D /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 0771580D1A2BAD5300D5DD1D /* Project object */;
-}
diff --git a/AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index 1988953d..00000000
Binary files a/AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/AgendaBasica/AgendaBasica/DetalleViewController.swift b/AgendaBasica/AgendaBasica/DetalleViewController.swift
deleted file mode 100644
index 64dff431..00000000
--- a/AgendaBasica/AgendaBasica/DetalleViewController.swift
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// DetalleViewController.swift
-// AgendaBasica
-//
-// Created by Carlos Butron on 30/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class DetalleViewController: UIViewController {
-
- @IBOutlet weak var nombreLabel: UILabel!
- @IBOutlet weak var apellidosLabel: UILabel!
- @IBOutlet weak var telefonoLabel: UILabel!
- @IBOutlet weak var emailLabel: UILabel!
-
- var contacto = Contacto()
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- // Do any additional setup after loading the view.
- }
-
- override func viewWillAppear(animated: Bool) {
- nombreLabel.text = contacto.nombre
- apellidosLabel.text = contacto.apellidos
- telefonoLabel.text = contacto.telefono
- emailLabel.text = contacto.email
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/AgendaBasica/AgendaBasica/ListadoTableViewController.swift b/AgendaBasica/AgendaBasica/ListadoTableViewController.swift
deleted file mode 100644
index 267df848..00000000
--- a/AgendaBasica/AgendaBasica/ListadoTableViewController.swift
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// ListadoTableViewController.swift
-// AgendaBasica
-//
-// Created by Carlos Butron on 30/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-
-class ListadoTableViewController: UITableViewController, NuevoContactoDelegate {
-
- var contactosArray = Array()
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
-
- for i in 1...50 {
- var contacto = Contacto()
-
- contacto.nombre = "Nombre\(i)"
- contacto.apellidos = "Apellidos\(i)"
- contacto.telefono = "Teléfono\(i)"
- contacto.email = "Email\(i)"
-
- contactosArray.append(contacto)
- }
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
- // MARK: - Table view data source
-
- override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
- return 1
- }
-
- override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return contactosArray.count
- }
-
-
- override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
-
- let contacto = contactosArray[indexPath.row]
- cell.textLabel.text = contacto.nombre + " " + contacto.apellidos
- cell.tag = indexPath.row
- println("Celda número: \(indexPath.row)")
- return cell
- }
-
-
- /*
- // Override to support conditional editing of the table view.
- override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
- // Return NO if you do not want the specified item to be editable.
- return true
- }
- */
-
- /*
- // Override to support editing the table view.
- override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
- if editingStyle == .Delete {
- // Delete the row from the data source
- tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
- } else if editingStyle == .Insert {
- // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
- }
- }
- */
-
- /*
- // Override to support rearranging the table view.
- override func tableView(tableView: UITableView, moveRowAtIndexPath fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath) {
-
- }
- */
-
- /*
- // Override to support conditional rearranging of the table view.
- override func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
- // Return NO if you do not want the item to be re-orderable.
- return true
- }
- */
-
-
- // MARK: - Navigation
-
-
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- if segue.identifier == "goToDetalleFromListado" {
- var detalleViewController = segue.destinationViewController as DetalleViewController
- var celda = sender as UITableViewCell
-
- detalleViewController.contacto = contactosArray[celda.tag]
- } else if segue.identifier == "goToNuevoContactoFromListado" {
- var navigationController = segue.destinationViewController as UINavigationController
- var nuevoContactoViewController = navigationController.viewControllers[0] as NuevoContactoViewController
- nuevoContactoViewController.delegate = self
-
- }
- }
-
- // MARK: - Delegate
-
- func nuevoContacto(contacto: Contacto) {
- contactosArray.append(contacto)
- tableView.reloadData()
-
- }
-
-
-}
diff --git a/AgendaBasica/AgendaBasica/NuevoContactoViewController.swift b/AgendaBasica/AgendaBasica/NuevoContactoViewController.swift
deleted file mode 100644
index dc8aab7a..00000000
--- a/AgendaBasica/AgendaBasica/NuevoContactoViewController.swift
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// NuevoContactoViewController.swift
-// AgendaBasica
-//
-// Created by Carlos Butron on 30/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-protocol NuevoContactoDelegate {
- func nuevoContacto(contacto: Contacto)
-}
-
-class NuevoContactoViewController: UIViewController {
-
- @IBOutlet weak var nombreTextField: UITextField!
- @IBOutlet weak var apellidosTextField: UITextField!
- @IBOutlet weak var telefonoTextField: UITextField!
- @IBOutlet weak var emailTextField: UITextField!
-
- var delegate: NuevoContactoDelegate?
-
- @IBAction func guardarPushButton(sender: AnyObject) {
-
- var contacto = Contacto()
-
- contacto.nombre = nombreTextField.text
- contacto.apellidos = apellidosTextField.text
- contacto.telefono = telefonoTextField.text
- contacto.email = emailTextField.text
-
- delegate?.nuevoContacto(contacto)
-
- dismissViewControllerAnimated(true, completion: nil)
-
- }
-
-
- @IBAction func cancelarPushButton(sender: AnyObject) {
-
- dismissViewControllerAnimated(true, completion: nil)
-
- }
-
-
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- // Do any additional setup after loading the view.
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/AgendaBasica/Contacto.swift b/AgendaBasica/Contacto.swift
deleted file mode 100644
index 038bf808..00000000
--- a/AgendaBasica/Contacto.swift
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Contacto.swift
-// AgendaBasica
-//
-// Created by Carlos Butron on 30/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import Foundation
-
-class Contacto {
-
- var nombre: String
- var apellidos: String
- var telefono: String
- var email: String
-
- init(){
- nombre = ""
- apellidos = ""
- telefono = ""
- email = ""
-
- }
-}
diff --git a/Airdrop/.DS_Store b/Airdrop/.DS_Store
new file mode 100644
index 00000000..6870c1f2
Binary files /dev/null and b/Airdrop/.DS_Store differ
diff --git a/Airdrop/Airdrop.xcodeproj/project.pbxproj b/Airdrop/Airdrop.xcodeproj/project.pbxproj
index b7164d09..982c2219 100644
--- a/Airdrop/Airdrop.xcodeproj/project.pbxproj
+++ b/Airdrop/Airdrop.xcodeproj/project.pbxproj
@@ -13,10 +13,10 @@
075FD3081A34AB1B00513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3071A34AB1B00513A3A /* Images.xcassets */; };
075FD30B1A34AB1B00513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3091A34AB1B00513A3A /* LaunchScreen.xib */; };
075FD3171A34AB1B00513A3A /* AirdropTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3161A34AB1B00513A3A /* AirdropTests.swift */; };
- 075FD3221A34B4C000513A3A /* ImagenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3201A34B4C000513A3A /* ImagenViewController.swift */; };
075FD3231A34B4C000513A3A /* URLViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3211A34B4C000513A3A /* URLViewController.swift */; };
- 075FD3251A34B4CB00513A3A /* imagen2.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3241A34B4CB00513A3A /* imagen2.png */; };
+ 075FD3251A34B4CB00513A3A /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3241A34B4CB00513A3A /* image.png */; };
075FD3271A34B54F00513A3A /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 075FD3261A34B54F00513A3A /* MediaPlayer.framework */; };
+ 077CF9EF1ADACA5100D20B9B /* ImageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9EE1ADACA5100D20B9B /* ImageViewController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -40,10 +40,10 @@
075FD3101A34AB1B00513A3A /* AirdropTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AirdropTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
075FD3151A34AB1B00513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD3161A34AB1B00513A3A /* AirdropTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirdropTests.swift; sourceTree = ""; };
- 075FD3201A34B4C000513A3A /* ImagenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImagenViewController.swift; sourceTree = ""; };
075FD3211A34B4C000513A3A /* URLViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URLViewController.swift; sourceTree = ""; };
- 075FD3241A34B4CB00513A3A /* imagen2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen2.png; sourceTree = ""; };
+ 075FD3241A34B4CB00513A3A /* image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image.png; sourceTree = ""; };
075FD3261A34B54F00513A3A /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
+ 077CF9EE1ADACA5100D20B9B /* ImageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageViewController.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -87,10 +87,10 @@
075FD2FD1A34AB1B00513A3A /* Airdrop */ = {
isa = PBXGroup;
children = (
- 075FD3241A34B4CB00513A3A /* imagen2.png */,
+ 075FD3241A34B4CB00513A3A /* image.png */,
075FD3001A34AB1B00513A3A /* AppDelegate.swift */,
075FD3021A34AB1B00513A3A /* ViewController.swift */,
- 075FD3201A34B4C000513A3A /* ImagenViewController.swift */,
+ 077CF9EE1ADACA5100D20B9B /* ImageViewController.swift */,
075FD3211A34B4C000513A3A /* URLViewController.swift */,
075FD3041A34AB1B00513A3A /* Main.storyboard */,
075FD3071A34AB1B00513A3A /* Images.xcassets */,
@@ -169,7 +169,9 @@
075FD2F31A34AB1B00513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD2FA1A34AB1B00513A3A = {
@@ -206,7 +208,7 @@
buildActionMask = 2147483647;
files = (
075FD3061A34AB1B00513A3A /* Main.storyboard in Resources */,
- 075FD3251A34B4CB00513A3A /* imagen2.png in Resources */,
+ 075FD3251A34B4CB00513A3A /* image.png in Resources */,
075FD30B1A34AB1B00513A3A /* LaunchScreen.xib in Resources */,
075FD3081A34AB1B00513A3A /* Images.xcassets in Resources */,
);
@@ -227,7 +229,7 @@
buildActionMask = 2147483647;
files = (
075FD3231A34B4C000513A3A /* URLViewController.swift in Sources */,
- 075FD3221A34B4C000513A3A /* ImagenViewController.swift in Sources */,
+ 077CF9EF1ADACA5100D20B9B /* ImageViewController.swift in Sources */,
075FD3031A34AB1B00513A3A /* ViewController.swift in Sources */,
075FD3011A34AB1B00513A3A /* AppDelegate.swift in Sources */,
);
@@ -291,6 +293,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -305,7 +308,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -341,7 +344,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -353,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Airdrop/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -363,7 +368,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Airdrop/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -382,6 +389,7 @@
);
INFOPLIST_FILE = AirdropTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Airdrop.app/Airdrop";
};
@@ -397,6 +405,7 @@
);
INFOPLIST_FILE = AirdropTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Airdrop.app/Airdrop";
};
@@ -421,6 +430,7 @@
075FD31C1A34AB1B00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD31D1A34AB1B00513A3A /* Build configuration list for PBXNativeTarget "AirdropTests" */ = {
isa = XCConfigurationList;
@@ -429,6 +439,7 @@
075FD31F1A34AB1B00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcshareddata/AgendaBasica.xccheckout b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcshareddata/Airdrop.xccheckout
similarity index 90%
rename from AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcshareddata/AgendaBasica.xccheckout
rename to Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcshareddata/Airdrop.xccheckout
index 7a636f81..d34a63f0 100644
--- a/AgendaBasica/AgendaBasica.xcodeproj/project.xcworkspace/xcshareddata/AgendaBasica.xccheckout
+++ b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcshareddata/Airdrop.xccheckout
@@ -5,16 +5,16 @@
IDESourceControlProjectFavoriteDictionaryKey
IDESourceControlProjectIdentifier
- 1E220960-772A-453B-9F5A-A8F1466C4236
+ 6021ED5D-52BB-458C-9BB9-E58E6A93A027
IDESourceControlProjectName
- AgendaBasica
+ Airdrop
IDESourceControlProjectOriginsDictionary
9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
https://github.com/CarlosButron/Swift.git
IDESourceControlProjectPath
- AgendaBasica/AgendaBasica.xcodeproj
+ Airdrop/Airdrop.xcodeproj
IDESourceControlProjectRelativeInstallPathDictionary
9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
diff --git a/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 5727ae6a..46b1a7a8 100644
Binary files a/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..b87ab6b3
Binary files /dev/null and b/Airdrop/Airdrop.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop 2.xcscheme b/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop 2.xcscheme
new file mode 100644
index 00000000..942a2945
--- /dev/null
+++ b/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop.xcscheme b/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop.xcscheme
index 35be9426..e88c5427 100644
--- a/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop.xcscheme
+++ b/Airdrop/Airdrop.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Airdrop.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:Airdrop.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ Airdrop 2.xcscheme
+
+ orderHint
+ 1
+
Airdrop.xcscheme
orderHint
diff --git a/Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Airdrop.xcscheme b/Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Airdrop.xcscheme
new file mode 100644
index 00000000..3eb6db85
--- /dev/null
+++ b/Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Airdrop.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
similarity index 81%
rename from CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
rename to Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
index b4ccfaf8..ba1982d8 100644
--- a/CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/Airdrop/Airdrop.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -4,7 +4,7 @@
SchemeUserState
- CoreImage.xcscheme
+ Airdrop.xcscheme
orderHint
0
@@ -12,12 +12,12 @@
SuppressBuildableAutocreation
- 075FD4981A34D3BA00513A3A
+ 075FD2FA1A34AB1B00513A3A
primary
- 075FD4AD1A34D3BB00513A3A
+ 075FD30F1A34AB1B00513A3A
primary
diff --git a/Airdrop/Airdrop/AppDelegate.swift b/Airdrop/Airdrop/AppDelegate.swift
index d1c1b769..0eba7d47 100644
--- a/Airdrop/Airdrop/AppDelegate.swift
+++ b/Airdrop/Airdrop/AppDelegate.swift
@@ -3,8 +3,17 @@
// Airdrop
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
+
import UIKit
diff --git a/Airdrop/Airdrop/Base.lproj/Main.storyboard b/Airdrop/Airdrop/Base.lproj/Main.storyboard
index 76422a8c..3f1feda9 100644
--- a/Airdrop/Airdrop/Base.lproj/Main.storyboard
+++ b/Airdrop/Airdrop/Base.lproj/Main.storyboard
@@ -1,7 +1,8 @@
-
+
-
+
+
@@ -18,11 +19,13 @@
+
+
+
-
+
@@ -59,7 +65,7 @@
-
+
@@ -68,11 +74,13 @@
-
+
+
+
@@ -118,6 +129,7 @@
+
@@ -131,11 +143,6 @@
-
+
-
-
-
-
-
diff --git a/Airdrop/Airdrop/ImagenViewController.swift b/Airdrop/Airdrop/ImageViewController.swift
similarity index 57%
rename from Airdrop/Airdrop/ImagenViewController.swift
rename to Airdrop/Airdrop/ImageViewController.swift
index fc236e83..0b17aa3d 100644
--- a/Airdrop/Airdrop/ImagenViewController.swift
+++ b/Airdrop/Airdrop/ImageViewController.swift
@@ -1,17 +1,25 @@
//
-// ImagenViewController.swift
+// ImageViewController.swift
// Airdrop
//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 12/04/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
import MediaPlayer
import MobileCoreServices
-class ImagenViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
-
+class ImageViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
+
@IBOutlet weak var image: UIImageView!
@IBAction func send(sender: UIButton) {
@@ -34,8 +42,8 @@ class ImagenViewController: UIViewController, UINavigationControllerDelegate, UI
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
- //para seleccionar solo los controles de camara y no de video
- imagePicker.mediaTypes = [kUTTypeImage]
+ //to select only camera controls, not video controls
+ imagePicker.mediaTypes = [kUTTypeImage as String]
imagePicker.showsCameraControls = true
//imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true, completion: nil)
@@ -43,21 +51,21 @@ class ImagenViewController: UIViewController, UINavigationControllerDelegate, UI
override func viewDidLoad() {
super.viewDidLoad()
-
+
// Do any additional setup after loading the view.
}
-
+
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
- func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]!){
+ func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]){
- let imagen = info[UIImagePickerControllerOriginalImage] as UIImage
+ let imagePickerc = info[UIImagePickerControllerOriginalImage] as! UIImage
- image.image = imagen
+ image.image = imagePickerc
self.dismissViewControllerAnimated(true, completion: nil)
}
@@ -66,25 +74,26 @@ class ImagenViewController: UIViewController, UINavigationControllerDelegate, UI
func image(image: UIImage, didFinishSavingWithError error: NSErrorPointer, contextInfo: UnsafePointer<()>){
if(error != nil){
- println("ERROR IMAGE \(error.debugDescription)")
+ print("ERROR IMAGE \(error.debugDescription)")
}
}
- func imagePickerControllerDidCancel(picker: UIImagePickerController!){
+ func imagePickerControllerDidCancel(picker: UIImagePickerController){
self.dismissViewControllerAnimated(true, completion: nil)
}
-
+
/*
// MARK: - Navigation
-
+
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
}
*/
-
+
}
+
diff --git a/Airdrop/Airdrop/Info.plist b/Airdrop/Airdrop/Info.plist
index bebd69a0..6905cc67 100644
--- a/Airdrop/Airdrop/Info.plist
+++ b/Airdrop/Airdrop/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Airdrop/Airdrop/URLViewController.swift b/Airdrop/Airdrop/URLViewController.swift
index 6feacbed..1233c05d 100644
--- a/Airdrop/Airdrop/URLViewController.swift
+++ b/Airdrop/Airdrop/URLViewController.swift
@@ -3,7 +3,15 @@
// Airdrop
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,18 +19,18 @@ import UIKit
class URLViewController: UIViewController, UIWebViewDelegate {
- @IBOutlet weak var miURL: UITextField!
+ @IBOutlet weak var myURL: UITextField!
@IBOutlet weak var webView: UIWebView!
@IBAction func send(sender: UIButton) {
- var url:NSURL = NSURL(string: miURL.text)!
+ let url:NSURL = NSURL(string: myURL.text!)!
let controller = UIActivityViewController(activityItems: [url], applicationActivities: nil)
self.presentViewController(controller, animated: true, completion: nil)
}
@IBAction func load(sender: UIButton) {
- var request = NSURLRequest(URL: NSURL(string: miURL.text)!)
+ let request = NSURLRequest(URL: NSURL(string: myURL.text!)!)
self.webView.loadRequest(request)
}
@@ -30,9 +38,9 @@ class URLViewController: UIViewController, UIWebViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
- miURL.text = "http://carlosbutron.es/"
+ myURL.text = "http://carlosbutron.es/"
webView.delegate = self
- var request = NSURLRequest(URL: NSURL(string: miURL.text)!)
+ let request = NSURLRequest(URL: NSURL(string: myURL.text!)!)
self.webView.loadRequest(request) // Do any additional setup after loading the view.
}
diff --git a/Airdrop/Airdrop/ViewController.swift b/Airdrop/Airdrop/ViewController.swift
index 28f679d9..d507c5a2 100644
--- a/Airdrop/Airdrop/ViewController.swift
+++ b/Airdrop/Airdrop/ViewController.swift
@@ -3,7 +3,15 @@
// Airdrop
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/Airdrop/Airdrop/imagen2.png b/Airdrop/Airdrop/image.png
similarity index 100%
rename from Airdrop/Airdrop/imagen2.png
rename to Airdrop/Airdrop/image.png
diff --git a/Airdrop/AirdropTests/Info.plist b/Airdrop/AirdropTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/Airdrop/AirdropTests/Info.plist
+++ b/Airdrop/AirdropTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/AnimationWithCollisionQuartzCore/.DS_Store b/AnimationWithCollisionQuartzCore/.DS_Store
new file mode 100644
index 00000000..1a60a3b0
Binary files /dev/null and b/AnimationWithCollisionQuartzCore/.DS_Store differ
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.pbxproj b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.pbxproj
index 8c136c71..9d46a31b 100644
--- a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.pbxproj
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.pbxproj
@@ -160,7 +160,9 @@
0770A7D01A2D5EAD00494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A7D71A2D5EAD00494953 = {
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = AnimationWithCollisionQuartzCore/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = AnimationWithCollisionQuartzCore/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = AnimationWithCollisionQuartzCoreTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AnimationWithCollisionQuartzCore.app/AnimationWithCollisionQuartzCore";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = AnimationWithCollisionQuartzCoreTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AnimationWithCollisionQuartzCore.app/AnimationWithCollisionQuartzCore";
};
@@ -409,6 +418,7 @@
0770A7F91A2D5EAD00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A7FA1A2D5EAD00494953 /* Build configuration list for PBXNativeTarget "AnimationWithCollisionQuartzCoreTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0770A7FC1A2D5EAD00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcshareddata/AnimationWithCollisionQuartzCore.xccheckout b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcshareddata/AnimationWithCollisionQuartzCore.xccheckout
new file mode 100644
index 00000000..5797fe48
--- /dev/null
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcshareddata/AnimationWithCollisionQuartzCore.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 72A1254A-8C87-4CDD-A8DC-52F8742F4FEE
+ IDESourceControlProjectName
+ AnimationWithCollisionQuartzCore
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index fb8dbbcb..aae1bcdc 100644
Binary files a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..98aa23d5
Binary files /dev/null and b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore 2.xcscheme b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore 2.xcscheme
new file mode 100644
index 00000000..855287a4
--- /dev/null
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme
index 70d8811d..5dabb74a 100644
--- a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:AnimationWithCollisionQuartzCore.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ AnimationWithCollisionQuartzCore 2.xcscheme
+
+ orderHint
+ 1
+
AnimationWithCollisionQuartzCore.xcscheme
orderHint
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme
new file mode 100644
index 00000000..cfef2249
--- /dev/null
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/AnimationWithCollisionQuartzCore.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..84700d70
--- /dev/null
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ AnimationWithCollisionQuartzCore.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A7D71A2D5EAD00494953
+
+ primary
+
+
+ 0770A7EC1A2D5EAD00494953
+
+ primary
+
+
+
+
+
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/AppDelegate.swift b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/AppDelegate.swift
index 4f01887f..d655ba59 100644
--- a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/AppDelegate.swift
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/AppDelegate.swift
@@ -3,7 +3,15 @@
// AnimationWithCollisionQuartzCore
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/Base.lproj/Main.storyboard b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/Base.lproj/Main.storyboard
index 56ef3615..327ea50d 100644
--- a/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/Base.lproj/Main.storyboard
+++ b/AnimationWithCollisionQuartzCore/AnimationWithCollisionQuartzCore/Base.lproj/Main.storyboard
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -17,8 +17,8 @@
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/Calendar/Calendar.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
similarity index 80%
rename from MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
rename to Calendar/Calendar.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
index d4dc86bb..85bad852 100644
--- a/MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/Calendar/Calendar.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -4,7 +4,7 @@
SchemeUserState
- MultiTarea.xcscheme
+ Calendar.xcscheme
orderHint
0
@@ -12,12 +12,12 @@
SuppressBuildableAutocreation
- 0770A7A91A2D5D5700494953
+ 075FD2911A34842E00513A3A
primary
- 0770A7BE1A2D5D5800494953
+ 075FD2A61A34842E00513A3A
primary
diff --git a/Calendar/Calendar/AppDelegate.swift b/Calendar/Calendar/AppDelegate.swift
index 0a8f7956..37cea6d5 100644
--- a/Calendar/Calendar/AppDelegate.swift
+++ b/Calendar/Calendar/AppDelegate.swift
@@ -3,7 +3,15 @@
// Calendar
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/Calendar/Calendar/Info.plist b/Calendar/Calendar/Info.plist
index bebd69a0..6905cc67 100644
--- a/Calendar/Calendar/Info.plist
+++ b/Calendar/Calendar/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Calendar/Calendar/ViewController.swift b/Calendar/Calendar/ViewController.swift
index ac7fbe65..552bd8e0 100644
--- a/Calendar/Calendar/ViewController.swift
+++ b/Calendar/Calendar/ViewController.swift
@@ -3,7 +3,15 @@
// Calendar
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -24,16 +32,17 @@ class ViewController: UIViewController, UITextFieldDelegate {
var date = datePicker.date
var name = textField.text
var localSource: EKSource
- var calendar = EKCalendar(eventStore: eventStore)
- eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted,error) in
+// var calendar = EKCalendar(eventStore: eventStore)
+ var calendar = EKCalendar(forEntityType: EKEntityType.Event, eventStore: eventStore)
+ eventStore.requestAccessToEntityType(EKEntityType.Event, completion: {(granted,error) in
if(granted == false){
- println("Acceso no Permitido")
+ print("Access Denied")
}
else{
- var auxiliar = self.eventStore.sources() as [EKSource]
+ var auxiliar = self.eventStore.sources
calendar.source = auxiliar[0]
- calendar.title = self.textField.text
- println(calendar.title)
+ calendar.title = self.textField.text!
+ print(calendar.title)
var error:NSError?
self.eventStore.saveCalendar(calendar, commit: true, error: &error)
}
@@ -42,36 +51,36 @@ class ViewController: UIViewController, UITextFieldDelegate {
@IBAction func saveEvent(sender: UIButton) {
- eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion: {(granted,error) in
+ eventStore.requestAccessToEntityType(EKEntityType.Event, completion: {(granted,error) in
if(granted == false){
- println("Acceso no Permitido")
+ print("Access Denied")
}
else{
- var arrayCalendars = self.eventStore.calendarsForEntityType(EKEntityTypeEvent)
+ var arrayCalendars = self.eventStore.calendarsForEntityType(EKEntityType.Event)
var theCalendar: EKCalendar!
for calendario in arrayCalendars{
if(calendario.title == self.eventCalendario.text){
- theCalendar = calendario as EKCalendar
- println(theCalendar.title)
+ theCalendar = calendario
+ print(theCalendar.title)
}
}
if(theCalendar != nil){
var event = EKEvent(eventStore: self.eventStore)
- event.title = self.titleEvent.text
+ event.title = self.titleEvent.text!
event.startDate = self.datePicker.date
event.endDate = self.datePicker.date.dateByAddingTimeInterval(3600)
event.calendar = theCalendar
var error:NSError?
- if(self.eventStore.saveEvent(event, span: EKSpanThisEvent, error: &error)){
- var alert = UIAlertController(title: "Calendario", message: "Creado evento \(event.title) en \(theCalendar.title)", preferredStyle: UIAlertControllerStyle.Alert)
- alert.addAction(UIAlertAction(title: "Aceptar", style: UIAlertActionStyle.Default, handler: nil))
+ if(self.eventStore.saveEvent(event, span: .ThisEvent, error: &error)){
+ var alert = UIAlertController(title: "Calendar", message: "Event created \(event.title) in \(theCalendar.title)", preferredStyle: UIAlertControllerStyle.Alert)
+ alert.addAction(UIAlertAction(title: "Accept", style: UIAlertActionStyle.Default, handler: nil))
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.presentViewController(alert, animated: true, completion: nil)
})
}
}
else{
- println("No hay ningún calendario con ese nombre")
+ print("No calendar with that name")
}
}
})
@@ -98,14 +107,14 @@ class ViewController: UIViewController, UITextFieldDelegate {
self.textField.resignFirstResponder()
}
- func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
+ func textFieldShouldReturn(textField: UITextField) -> Bool // called when 'return' key pressed. return NO to ignore.
{
textField.resignFirstResponder()
return true;
}
//called when users tap out of textfield
- override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
+ override func touchesBegan(touches: Set, withEvent event: UIEvent) {
self.view.endEditing(true)
}
diff --git a/Calendar/CalendarTests/Info.plist b/Calendar/CalendarTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/Calendar/CalendarTests/Info.plist
+++ b/Calendar/CalendarTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/ChatPeerToPeer/.DS_Store b/ChatPeerToPeer/.DS_Store
new file mode 100644
index 00000000..10d845b3
Binary files /dev/null and b/ChatPeerToPeer/.DS_Store differ
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.pbxproj b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.pbxproj
index 09a95a43..a58e1d37 100644
--- a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.pbxproj
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.pbxproj
@@ -156,7 +156,9 @@
075FD3291A34B69500513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD3301A34B69500513A3A = {
@@ -275,6 +277,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -289,7 +292,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -325,7 +328,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -337,7 +340,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ChatPeerToPeer/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -347,7 +352,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ChatPeerToPeer/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -366,6 +373,7 @@
);
INFOPLIST_FILE = ChatPeerToPeerTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ChatPeerToPeer.app/ChatPeerToPeer";
};
@@ -381,6 +389,7 @@
);
INFOPLIST_FILE = ChatPeerToPeerTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ChatPeerToPeer.app/ChatPeerToPeer";
};
@@ -405,6 +414,7 @@
075FD3521A34B69500513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD3531A34B69500513A3A /* Build configuration list for PBXNativeTarget "ChatPeerToPeerTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +423,7 @@
075FD3551A34B69500513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcshareddata/ChatPeerToPeer.xccheckout b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcshareddata/ChatPeerToPeer.xccheckout
new file mode 100644
index 00000000..ab8c18e8
--- /dev/null
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcshareddata/ChatPeerToPeer.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 7BE743DC-E3D6-4F6B-81EA-6D02748CC671
+ IDESourceControlProjectName
+ ChatPeerToPeer
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ ChatPeerToPeer/ChatPeerToPeer.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 36a2064a..14a65c33 100644
Binary files a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..e936cd12
Binary files /dev/null and b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer 2.xcscheme b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer 2.xcscheme
new file mode 100644
index 00000000..abb4892d
--- /dev/null
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme
index df812007..fec067c3 100644
--- a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:ChatPeerToPeer.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ ChatPeerToPeer 2.xcscheme
+
+ orderHint
+ 1
+
ChatPeerToPeer.xcscheme
orderHint
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme
new file mode 100644
index 00000000..a0765fa5
--- /dev/null
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/ChatPeerToPeer.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..220e3b06
--- /dev/null
+++ b/ChatPeerToPeer/ChatPeerToPeer.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ ChatPeerToPeer.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD3301A34B69500513A3A
+
+ primary
+
+
+ 075FD3451A34B69500513A3A
+
+ primary
+
+
+
+
+
diff --git a/ChatPeerToPeer/ChatPeerToPeer/AppDelegate.swift b/ChatPeerToPeer/ChatPeerToPeer/AppDelegate.swift
index d4fcbc58..22ee94ab 100644
--- a/ChatPeerToPeer/ChatPeerToPeer/AppDelegate.swift
+++ b/ChatPeerToPeer/ChatPeerToPeer/AppDelegate.swift
@@ -3,7 +3,15 @@
// ChatPeerToPeer
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/ChatPeerToPeer/ChatPeerToPeer/Info.plist b/ChatPeerToPeer/ChatPeerToPeer/Info.plist
index bebd69a0..6905cc67 100644
--- a/ChatPeerToPeer/ChatPeerToPeer/Info.plist
+++ b/ChatPeerToPeer/ChatPeerToPeer/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/ChatPeerToPeer/ChatPeerToPeer/ViewController.swift b/ChatPeerToPeer/ChatPeerToPeer/ViewController.swift
index 1e347b0e..2b091dd4 100644
--- a/ChatPeerToPeer/ChatPeerToPeer/ViewController.swift
+++ b/ChatPeerToPeer/ChatPeerToPeer/ViewController.swift
@@ -3,7 +3,15 @@
// ChatPeerToPeer
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -44,58 +52,63 @@ class ViewController: UIViewController, MCSessionDelegate, MCBrowserViewControl
// Dispose of any resources that can be recreated.
}
- func enviarMensaje(){
- var mensaje:NSString = self.sendText.text
+ func sendMessage(){
+ let message:NSString = self.sendText.text!
self.sendText.text = ""
- var data :NSData = mensaje.dataUsingEncoding(NSUTF8StringEncoding)!
+ let data :NSData = message.dataUsingEncoding(NSUTF8StringEncoding)!
var error:NSError?
- self.session.sendData(data, toPeers:
- self.session.connectedPeers, withMode: MCSessionSendDataMode.Unreliable, error: &error)
- self.recepcionMensaje(mensaje, peer: self.peerID)
+ do {
+ try self.session.sendData(data, toPeers:
+ self.session.connectedPeers, withMode: MCSessionSendDataMode.Unreliable)
+ } catch let error1 as NSError {
+ error = error1
+ }
+ NSLog("%@", error!)
+ self.messageReception(message, peer: self.peerID)
}
- func recepcionMensaje(mensaje:NSString, peer:MCPeerID){
+ func messageReception(message:NSString, peer:MCPeerID){
var finalText:NSString
if(peer == self.peerID){
- finalText = "\nYo: \(mensaje)"
+ finalText = "\nYo: \(message)"
}
else{
- finalText = "\n\(peer.displayName): \(mensaje)"
+ finalText = "\n\(peer.displayName): \(message)"
}
self.textBox.text =
- self.textBox.text.stringByAppendingString(finalText)
+ self.textBox.text.stringByAppendingString(finalText as String)
}
- func textFieldShouldReturn(textField: UITextField!) -> Bool{
+ func textFieldShouldReturn(textField: UITextField) -> Bool{
textField.resignFirstResponder()
- self.enviarMensaje()
+ self.sendMessage()
return true
}
- func session(session: MCSession!, peer peerID: MCPeerID!, didChangeState state: MCSessionState){
+ func session(session: MCSession, peer peerID: MCPeerID, didChangeState state: MCSessionState){
}
- func session(session: MCSession!, didReceiveData data: NSData!, fromPeer peerID: MCPeerID!){
- var mensaje = NSString(data: data, encoding:
+ func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID){
+ let message = NSString(data: data, encoding:
NSUTF8StringEncoding)
dispatch_async(dispatch_get_main_queue(),
- {self.recepcionMensaje(mensaje!, peer: peerID)})
+ {self.messageReception(message!, peer: peerID)})
}
- func session(session: MCSession!, didReceiveStream stream: NSInputStream!, withName streamName: String!, fromPeer peerID:MCPeerID!){
+ func session(session: MCSession, didReceiveStream stream: NSInputStream, withName streamName: String, fromPeer peerID:MCPeerID){
}
- func session(session: MCSession!, didStartReceivingResourceWithName resourceName: String!, fromPeer peerID: MCPeerID!, withProgress progress: NSProgress!){
+ func session(session: MCSession, didStartReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, withProgress progress: NSProgress){
}
- func session(session: MCSession!, didFinishReceivingResourceWithName resourceName: String!, fromPeer peerID: MCPeerID!, atURL localURL: NSURL!, withError error: NSError!){
+ func session(session: MCSession, didFinishReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, atURL localURL: NSURL, withError error: NSError?){
}
func browserViewControllerDidFinish(browserViewController:
- MCBrowserViewController!){
+ MCBrowserViewController){
self.dismissBrowserVC()
}
// Notifies delegate that the user taps the cancel button.
- func browserViewControllerWasCancelled(browserViewController: MCBrowserViewController!){
+ func browserViewControllerWasCancelled(browserViewController: MCBrowserViewController){
self.dismissBrowserVC()
}
func showBrowserVC(){
diff --git a/ChatPeerToPeer/ChatPeerToPeerTests/Info.plist b/ChatPeerToPeer/ChatPeerToPeerTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/ChatPeerToPeer/ChatPeerToPeerTests/Info.plist
+++ b/ChatPeerToPeer/ChatPeerToPeerTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreImage/CoreImage.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Classes-Structures.playground/playground.xcworkspace/contents.xcworkspacedata
similarity index 70%
rename from CoreImage/CoreImage.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to Classes-Structures.playground/playground.xcworkspace/contents.xcworkspacedata
index 966f18d0..919434a6 100644
--- a/CoreImage/CoreImage.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/Classes-Structures.playground/playground.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/Classes-Structures.playground/playground.xcworkspace/xcshareddata/Classes-Structures.xccheckout b/Classes-Structures.playground/playground.xcworkspace/xcshareddata/Classes-Structures.xccheckout
new file mode 100644
index 00000000..a8a25122
--- /dev/null
+++ b/Classes-Structures.playground/playground.xcworkspace/xcshareddata/Classes-Structures.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ CCB834FC-7F0F-4427-96C9-4B2D7D644260
+ IDESourceControlProjectName
+ Classes-Structures
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ Classes-Structures.playground
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..176c621a
Binary files /dev/null and b/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..47741739
Binary files /dev/null and b/Classes-Structures.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Classes-Structures.playground/section-1.swift b/Classes-Structures.playground/section-1.swift
index e2bc4734..e4066f73 100644
--- a/Classes-Structures.playground/section-1.swift
+++ b/Classes-Structures.playground/section-1.swift
@@ -1,6 +1,5 @@
-// Playground - noun: a place where people can play
+// Playground - noun: a place where people can play swift
-import UIKit
class Vehicle {
var wheelNumber: Int
@@ -32,15 +31,6 @@ class Bycicle: Vehicle {
let abycicle = Bycicle()
abycicle.description()
-struct Resolution {
- var width = 0
- var height = 0
- }
-class VideoMode {
- var resolution = Resolution()
- var interlaced = false
- var frameRate = 0.0
- var name: String?
- }
+
diff --git a/CollectionView/.DS_Store b/CollectionView/.DS_Store
new file mode 100644
index 00000000..4b68855b
Binary files /dev/null and b/CollectionView/.DS_Store differ
diff --git a/CollectionView/CollectionView.xcodeproj/project.pbxproj b/CollectionView/CollectionView.xcodeproj/project.pbxproj
index 73b70af4..0f1dcaee 100644
--- a/CollectionView/CollectionView.xcodeproj/project.pbxproj
+++ b/CollectionView/CollectionView.xcodeproj/project.pbxproj
@@ -13,15 +13,15 @@
0782818C1A2D4E7400759CE8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0782818B1A2D4E7400759CE8 /* Images.xcassets */; };
0782818F1A2D4E7400759CE8 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0782818D1A2D4E7400759CE8 /* LaunchScreen.xib */; };
0782819B1A2D4E7400759CE8 /* CollectionViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0782819A1A2D4E7400759CE8 /* CollectionViewTests.swift */; };
- 078281AD1A2D4EB000759CE8 /* imagen1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A41A2D4EB000759CE8 /* imagen1.jpg */; };
- 078281AE1A2D4EB000759CE8 /* imagen2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A51A2D4EB000759CE8 /* imagen2.jpg */; };
- 078281AF1A2D4EB000759CE8 /* imagen3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A61A2D4EB000759CE8 /* imagen3.jpg */; };
- 078281B01A2D4EB000759CE8 /* imagen4.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A71A2D4EB000759CE8 /* imagen4.jpg */; };
- 078281B11A2D4EB000759CE8 /* imagen5.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A81A2D4EB000759CE8 /* imagen5.jpg */; };
- 078281B21A2D4EB000759CE8 /* imagen6.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A91A2D4EB000759CE8 /* imagen6.jpg */; };
- 078281B31A2D4EB000759CE8 /* imagen7.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AA1A2D4EB000759CE8 /* imagen7.jpg */; };
- 078281B41A2D4EB000759CE8 /* imagen8.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AB1A2D4EB000759CE8 /* imagen8.jpg */; };
- 078281B51A2D4EB000759CE8 /* imagen9.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AC1A2D4EB000759CE8 /* imagen9.jpg */; };
+ 078281AD1A2D4EB000759CE8 /* image1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A41A2D4EB000759CE8 /* image1.jpg */; };
+ 078281AE1A2D4EB000759CE8 /* image2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A51A2D4EB000759CE8 /* image2.jpg */; };
+ 078281AF1A2D4EB000759CE8 /* image3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A61A2D4EB000759CE8 /* image3.jpg */; };
+ 078281B01A2D4EB000759CE8 /* image4.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A71A2D4EB000759CE8 /* image4.jpg */; };
+ 078281B11A2D4EB000759CE8 /* image5.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A81A2D4EB000759CE8 /* image5.jpg */; };
+ 078281B21A2D4EB000759CE8 /* image6.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281A91A2D4EB000759CE8 /* image6.jpg */; };
+ 078281B31A2D4EB000759CE8 /* image7.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AA1A2D4EB000759CE8 /* image7.jpg */; };
+ 078281B41A2D4EB000759CE8 /* image8.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AB1A2D4EB000759CE8 /* image8.jpg */; };
+ 078281B51A2D4EB000759CE8 /* image9.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 078281AC1A2D4EB000759CE8 /* image9.jpg */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -45,15 +45,15 @@
078281941A2D4E7400759CE8 /* CollectionViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CollectionViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
078281991A2D4E7400759CE8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0782819A1A2D4E7400759CE8 /* CollectionViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionViewTests.swift; sourceTree = ""; };
- 078281A41A2D4EB000759CE8 /* imagen1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen1.jpg; sourceTree = ""; };
- 078281A51A2D4EB000759CE8 /* imagen2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen2.jpg; sourceTree = ""; };
- 078281A61A2D4EB000759CE8 /* imagen3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen3.jpg; sourceTree = ""; };
- 078281A71A2D4EB000759CE8 /* imagen4.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen4.jpg; sourceTree = ""; };
- 078281A81A2D4EB000759CE8 /* imagen5.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen5.jpg; sourceTree = ""; };
- 078281A91A2D4EB000759CE8 /* imagen6.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen6.jpg; sourceTree = ""; };
- 078281AA1A2D4EB000759CE8 /* imagen7.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen7.jpg; sourceTree = ""; };
- 078281AB1A2D4EB000759CE8 /* imagen8.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen8.jpg; sourceTree = ""; };
- 078281AC1A2D4EB000759CE8 /* imagen9.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen9.jpg; sourceTree = ""; };
+ 078281A41A2D4EB000759CE8 /* image1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image1.jpg; sourceTree = ""; };
+ 078281A51A2D4EB000759CE8 /* image2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image2.jpg; sourceTree = ""; };
+ 078281A61A2D4EB000759CE8 /* image3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image3.jpg; sourceTree = ""; };
+ 078281A71A2D4EB000759CE8 /* image4.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image4.jpg; sourceTree = ""; };
+ 078281A81A2D4EB000759CE8 /* image5.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image5.jpg; sourceTree = ""; };
+ 078281A91A2D4EB000759CE8 /* image6.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image6.jpg; sourceTree = ""; };
+ 078281AA1A2D4EB000759CE8 /* image7.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image7.jpg; sourceTree = ""; };
+ 078281AB1A2D4EB000759CE8 /* image8.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image8.jpg; sourceTree = ""; };
+ 078281AC1A2D4EB000759CE8 /* image9.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image9.jpg; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -95,15 +95,15 @@
078281811A2D4E7400759CE8 /* CollectionView */ = {
isa = PBXGroup;
children = (
- 078281A41A2D4EB000759CE8 /* imagen1.jpg */,
- 078281A51A2D4EB000759CE8 /* imagen2.jpg */,
- 078281A61A2D4EB000759CE8 /* imagen3.jpg */,
- 078281A71A2D4EB000759CE8 /* imagen4.jpg */,
- 078281A81A2D4EB000759CE8 /* imagen5.jpg */,
- 078281A91A2D4EB000759CE8 /* imagen6.jpg */,
- 078281AA1A2D4EB000759CE8 /* imagen7.jpg */,
- 078281AB1A2D4EB000759CE8 /* imagen8.jpg */,
- 078281AC1A2D4EB000759CE8 /* imagen9.jpg */,
+ 078281A41A2D4EB000759CE8 /* image1.jpg */,
+ 078281A51A2D4EB000759CE8 /* image2.jpg */,
+ 078281A61A2D4EB000759CE8 /* image3.jpg */,
+ 078281A71A2D4EB000759CE8 /* image4.jpg */,
+ 078281A81A2D4EB000759CE8 /* image5.jpg */,
+ 078281A91A2D4EB000759CE8 /* image6.jpg */,
+ 078281AA1A2D4EB000759CE8 /* image7.jpg */,
+ 078281AB1A2D4EB000759CE8 /* image8.jpg */,
+ 078281AC1A2D4EB000759CE8 /* image9.jpg */,
078281841A2D4E7400759CE8 /* AppDelegate.swift */,
078281861A2D4E7400759CE8 /* ViewController.swift */,
078281881A2D4E7400759CE8 /* Main.storyboard */,
@@ -183,7 +183,9 @@
078281771A2D4E7400759CE8 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0782817E1A2D4E7400759CE8 = {
@@ -219,18 +221,18 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 078281B41A2D4EB000759CE8 /* imagen8.jpg in Resources */,
- 078281B11A2D4EB000759CE8 /* imagen5.jpg in Resources */,
- 078281AD1A2D4EB000759CE8 /* imagen1.jpg in Resources */,
+ 078281B41A2D4EB000759CE8 /* image8.jpg in Resources */,
+ 078281B11A2D4EB000759CE8 /* image5.jpg in Resources */,
+ 078281AD1A2D4EB000759CE8 /* image1.jpg in Resources */,
0782818A1A2D4E7400759CE8 /* Main.storyboard in Resources */,
- 078281B01A2D4EB000759CE8 /* imagen4.jpg in Resources */,
- 078281B31A2D4EB000759CE8 /* imagen7.jpg in Resources */,
- 078281AF1A2D4EB000759CE8 /* imagen3.jpg in Resources */,
- 078281B21A2D4EB000759CE8 /* imagen6.jpg in Resources */,
- 078281B51A2D4EB000759CE8 /* imagen9.jpg in Resources */,
+ 078281B01A2D4EB000759CE8 /* image4.jpg in Resources */,
+ 078281B31A2D4EB000759CE8 /* image7.jpg in Resources */,
+ 078281AF1A2D4EB000759CE8 /* image3.jpg in Resources */,
+ 078281B21A2D4EB000759CE8 /* image6.jpg in Resources */,
+ 078281B51A2D4EB000759CE8 /* image9.jpg in Resources */,
0782818F1A2D4E7400759CE8 /* LaunchScreen.xib in Resources */,
0782818C1A2D4E7400759CE8 /* Images.xcassets in Resources */,
- 078281AE1A2D4EB000759CE8 /* imagen2.jpg in Resources */,
+ 078281AE1A2D4EB000759CE8 /* image2.jpg in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -311,6 +313,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -325,7 +328,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -361,7 +364,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -373,7 +376,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CollectionView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -383,7 +388,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CollectionView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -402,6 +409,7 @@
);
INFOPLIST_FILE = CollectionViewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CollectionView.app/CollectionView";
};
@@ -417,6 +425,7 @@
);
INFOPLIST_FILE = CollectionViewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CollectionView.app/CollectionView";
};
@@ -441,6 +450,7 @@
078281A01A2D4E7400759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
078281A11A2D4E7400759CE8 /* Build configuration list for PBXNativeTarget "CollectionViewTests" */ = {
isa = XCConfigurationList;
@@ -449,6 +459,7 @@
078281A31A2D4E7400759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcshareddata/CollectionView.xccheckout b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcshareddata/CollectionView.xccheckout
new file mode 100644
index 00000000..d0e65be1
--- /dev/null
+++ b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcshareddata/CollectionView.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 117AF4A8-BE6A-4B72-BA7F-DC95FFA15A5B
+ IDESourceControlProjectName
+ CollectionView
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CollectionView/CollectionView.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 16abe34e..5bc399ef 100644
Binary files a/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..135a48e5
Binary files /dev/null and b/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView 2.xcscheme b/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView 2.xcscheme
new file mode 100644
index 00000000..59d12d14
--- /dev/null
+++ b/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView.xcscheme b/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView.xcscheme
index df623a44..2076b145 100644
--- a/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView.xcscheme
+++ b/CollectionView/CollectionView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CollectionView.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CollectionView.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CollectionView 2.xcscheme
+
+ orderHint
+ 1
+
CollectionView.xcscheme
orderHint
diff --git a/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CollectionView.xcscheme b/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CollectionView.xcscheme
new file mode 100644
index 00000000..9d6613f7
--- /dev/null
+++ b/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CollectionView.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..41206984
--- /dev/null
+++ b/CollectionView/CollectionView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CollectionView.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0782817E1A2D4E7400759CE8
+
+ primary
+
+
+ 078281931A2D4E7400759CE8
+
+ primary
+
+
+
+
+
diff --git a/CollectionView/CollectionView/AppDelegate.swift b/CollectionView/CollectionView/AppDelegate.swift
index 5bb3b1d4..80c1b070 100644
--- a/CollectionView/CollectionView/AppDelegate.swift
+++ b/CollectionView/CollectionView/AppDelegate.swift
@@ -3,7 +3,15 @@
// CollectionView
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/CollectionView/CollectionView/Base.lproj/Main.storyboard b/CollectionView/CollectionView/Base.lproj/Main.storyboard
index a97e41d6..8b6b949a 100644
--- a/CollectionView/CollectionView/Base.lproj/Main.storyboard
+++ b/CollectionView/CollectionView/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -63,7 +63,7 @@
-
+
diff --git a/CollectionView/CollectionView/Info.plist b/CollectionView/CollectionView/Info.plist
index bebd69a0..6905cc67 100644
--- a/CollectionView/CollectionView/Info.plist
+++ b/CollectionView/CollectionView/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CollectionView/CollectionView/ViewController.swift b/CollectionView/CollectionView/ViewController.swift
index a9db5d43..a1a113ef 100644
--- a/CollectionView/CollectionView/ViewController.swift
+++ b/CollectionView/CollectionView/ViewController.swift
@@ -3,7 +3,15 @@
// CollectionView
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,7 +19,7 @@ import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
- var items : NSArray = [UIImage(named:"imagen1.jpg")!,UIImage(named:"imagen2.jpg")!,UIImage(named:"imagen3.jpg")!,UIImage(named:"imagen4.jpg")!,UIImage(named:"imagen5.jpg")!,UIImage(named:"imagen6.jpg")!,UIImage(named:"imagen7.jpg")!,UIImage(named:"imagen8.jpg")!,UIImage(named:"imagen9.jpg")!]
+ var items : NSArray = [UIImage(named:"image1.jpg")!,UIImage(named:"image2.jpg")!,UIImage(named:"image3.jpg")!,UIImage(named:"image4.jpg")!,UIImage(named:"image5.jpg")!,UIImage(named:"image6.jpg")!,UIImage(named:"image7.jpg")!,UIImage(named:"image8.jpg")!,UIImage(named:"image9.jpg")!]
override func viewDidLoad() {
super.viewDidLoad()
@@ -37,10 +45,10 @@ class ViewController: UIViewController, UICollectionViewDelegate, UICollectionVi
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
- var identifier: NSString = "CollectionCell"
- var cell: UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier(identifier, forIndexPath: indexPath) as UICollectionViewCell
+ let identifier: String = "CollectionCell"
+ let cell: UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier(identifier, forIndexPath: indexPath)
- var imageView: UIImageView = cell.viewWithTag(1) as UIImageView
+ let imageView = cell.viewWithTag(1) as! UIImageView
imageView.image = items.objectAtIndex(indexPath.row%9) as? UIImage
return cell
}
diff --git a/CollectionView/CollectionView/imagen1.jpg b/CollectionView/CollectionView/image1.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen1.jpg
rename to CollectionView/CollectionView/image1.jpg
diff --git a/CollectionView/CollectionView/imagen2.jpg b/CollectionView/CollectionView/image2.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen2.jpg
rename to CollectionView/CollectionView/image2.jpg
diff --git a/CollectionView/CollectionView/imagen3.jpg b/CollectionView/CollectionView/image3.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen3.jpg
rename to CollectionView/CollectionView/image3.jpg
diff --git a/CollectionView/CollectionView/imagen4.jpg b/CollectionView/CollectionView/image4.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen4.jpg
rename to CollectionView/CollectionView/image4.jpg
diff --git a/CollectionView/CollectionView/imagen5.jpg b/CollectionView/CollectionView/image5.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen5.jpg
rename to CollectionView/CollectionView/image5.jpg
diff --git a/CollectionView/CollectionView/imagen6.jpg b/CollectionView/CollectionView/image6.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen6.jpg
rename to CollectionView/CollectionView/image6.jpg
diff --git a/CollectionView/CollectionView/imagen7.jpg b/CollectionView/CollectionView/image7.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen7.jpg
rename to CollectionView/CollectionView/image7.jpg
diff --git a/CollectionView/CollectionView/imagen8.jpg b/CollectionView/CollectionView/image8.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen8.jpg
rename to CollectionView/CollectionView/image8.jpg
diff --git a/CollectionView/CollectionView/imagen9.jpg b/CollectionView/CollectionView/image9.jpg
similarity index 100%
rename from CollectionView/CollectionView/imagen9.jpg
rename to CollectionView/CollectionView/image9.jpg
diff --git a/CollectionView/CollectionViewTests/Info.plist b/CollectionView/CollectionViewTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CollectionView/CollectionViewTests/Info.plist
+++ b/CollectionView/CollectionViewTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample1/.DS_Store b/CoreAnimationSample1/.DS_Store
new file mode 100644
index 00000000..7582fb84
Binary files /dev/null and b/CoreAnimationSample1/.DS_Store differ
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.pbxproj b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.pbxproj
index 35e3530e..8263bc0a 100644
--- a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.pbxproj
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.pbxproj
@@ -14,7 +14,7 @@
0770A8181A2D5FE400494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8161A2D5FE400494953 /* LaunchScreen.xib */; };
0770A8241A2D5FE400494953 /* CoreAnimationSample1Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A8231A2D5FE400494953 /* CoreAnimationSample1Tests.swift */; };
0770A82E1A2D5FFD00494953 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0770A82D1A2D5FFD00494953 /* QuartzCore.framework */; };
- 0770A8301A2D601800494953 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A82F1A2D601800494953 /* imagen1.png */; };
+ 0770A8301A2D601800494953 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A82F1A2D601800494953 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -39,7 +39,7 @@
0770A8221A2D5FE400494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0770A8231A2D5FE400494953 /* CoreAnimationSample1Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAnimationSample1Tests.swift; sourceTree = ""; };
0770A82D1A2D5FFD00494953 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- 0770A82F1A2D601800494953 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0770A82F1A2D601800494953 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -83,7 +83,7 @@
0770A80A1A2D5FE400494953 /* CoreAnimationSample1 */ = {
isa = PBXGroup;
children = (
- 0770A82F1A2D601800494953 /* imagen1.png */,
+ 0770A82F1A2D601800494953 /* image1.png */,
0770A80D1A2D5FE400494953 /* AppDelegate.swift */,
0770A80F1A2D5FE400494953 /* ViewController.swift */,
0770A8111A2D5FE400494953 /* Main.storyboard */,
@@ -163,7 +163,9 @@
0770A8001A2D5FE400494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A8071A2D5FE400494953 = {
@@ -199,7 +201,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A8301A2D601800494953 /* imagen1.png in Resources */,
+ 0770A8301A2D601800494953 /* image1.png in Resources */,
0770A8131A2D5FE400494953 /* Main.storyboard in Resources */,
0770A8181A2D5FE400494953 /* LaunchScreen.xib in Resources */,
0770A8151A2D5FE400494953 /* Images.xcassets in Resources */,
@@ -283,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -297,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -333,7 +336,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -345,7 +348,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -355,7 +360,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -374,6 +381,7 @@
);
INFOPLIST_FILE = CoreAnimationSample1Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample1.app/CoreAnimationSample1";
};
@@ -389,6 +397,7 @@
);
INFOPLIST_FILE = CoreAnimationSample1Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample1.app/CoreAnimationSample1";
};
@@ -413,6 +422,7 @@
0770A8291A2D5FE400494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A82A1A2D5FE400494953 /* Build configuration list for PBXNativeTarget "CoreAnimationSample1Tests" */ = {
isa = XCConfigurationList;
@@ -421,6 +431,7 @@
0770A82C1A2D5FE400494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample1.xccheckout b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample1.xccheckout
new file mode 100644
index 00000000..59e14f10
--- /dev/null
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample1.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 3724399F-69E2-4B0F-A924-BA05AC9EB3C0
+ IDESourceControlProjectName
+ CoreAnimationSample1
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreAnimationSample1/CoreAnimationSample1.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 3496d4e4..0bfacbff 100644
Binary files a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..f4537459
Binary files /dev/null and b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1 2.xcscheme b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1 2.xcscheme
new file mode 100644
index 00000000..8634a302
--- /dev/null
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme
index 7c004126..9bd432ce 100644
--- a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreAnimationSample1.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreAnimationSample1 2.xcscheme
+
+ orderHint
+ 1
+
CoreAnimationSample1.xcscheme
orderHint
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme
new file mode 100644
index 00000000..604cb419
--- /dev/null
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample1.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..952e2b04
--- /dev/null
+++ b/CoreAnimationSample1/CoreAnimationSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreAnimationSample1.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A8071A2D5FE400494953
+
+ primary
+
+
+ 0770A81C1A2D5FE400494953
+
+ primary
+
+
+
+
+
diff --git a/CoreAnimationSample1/CoreAnimationSample1/AppDelegate.swift b/CoreAnimationSample1/CoreAnimationSample1/AppDelegate.swift
index 891b4099..95ea3035 100644
--- a/CoreAnimationSample1/CoreAnimationSample1/AppDelegate.swift
+++ b/CoreAnimationSample1/CoreAnimationSample1/AppDelegate.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample1
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/CoreAnimationSample1/CoreAnimationSample1/Base.lproj/Main.storyboard b/CoreAnimationSample1/CoreAnimationSample1/Base.lproj/Main.storyboard
index afb6b7a4..946f233e 100644
--- a/CoreAnimationSample1/CoreAnimationSample1/Base.lproj/Main.storyboard
+++ b/CoreAnimationSample1/CoreAnimationSample1/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -16,23 +16,23 @@
-
+
-
+
@@ -41,7 +41,7 @@
-
+
diff --git a/CoreAnimationSample1/CoreAnimationSample1/Info.plist b/CoreAnimationSample1/CoreAnimationSample1/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreAnimationSample1/CoreAnimationSample1/Info.plist
+++ b/CoreAnimationSample1/CoreAnimationSample1/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample1/CoreAnimationSample1/ViewController.swift b/CoreAnimationSample1/CoreAnimationSample1/ViewController.swift
index fec457fe..329117cf 100644
--- a/CoreAnimationSample1/CoreAnimationSample1/ViewController.swift
+++ b/CoreAnimationSample1/CoreAnimationSample1/ViewController.swift
@@ -3,22 +3,30 @@
// CoreAnimationSample1
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var imagen: UIImageView!
- @IBAction func animar(sender: UIButton) {
+ @IBOutlet weak var image: UIImageView!
+ @IBAction func animate(sender: UIButton) {
- var animation:CABasicAnimation = CABasicAnimation(keyPath: "position")
- animation.fromValue = NSValue(CGPoint:CGPointMake(imagen.frame.midX, imagen.frame.midY))
- animation.toValue = NSValue(CGPoint:CGPointMake(imagen.frame.midX, 340))
+ let animation:CABasicAnimation = CABasicAnimation(keyPath: "position")
+ animation.fromValue = NSValue(CGPoint:CGPointMake(image.frame.midX, image.frame.midY))
+ animation.toValue = NSValue(CGPoint:CGPointMake(image.frame.midX, 340))
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
animation.duration = 1.0
- imagen.layer.addAnimation(animation, forKey: "position")
+ image.layer.addAnimation(animation, forKey: "position")
}
diff --git a/CoreAnimationSample1/CoreAnimationSample1/imagen1.png b/CoreAnimationSample1/CoreAnimationSample1/image1.png
similarity index 100%
rename from CoreAnimationSample1/CoreAnimationSample1/imagen1.png
rename to CoreAnimationSample1/CoreAnimationSample1/image1.png
diff --git a/CoreAnimationSample1/CoreAnimationSample1Tests/Info.plist b/CoreAnimationSample1/CoreAnimationSample1Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreAnimationSample1/CoreAnimationSample1Tests/Info.plist
+++ b/CoreAnimationSample1/CoreAnimationSample1Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample2/.DS_Store b/CoreAnimationSample2/.DS_Store
new file mode 100644
index 00000000..85634445
Binary files /dev/null and b/CoreAnimationSample2/.DS_Store differ
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.pbxproj b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.pbxproj
index e5687123..fe2a92bd 100644
--- a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.pbxproj
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0770A8471A2D607600494953 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8461A2D607600494953 /* Images.xcassets */; };
0770A84A1A2D607600494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8481A2D607600494953 /* LaunchScreen.xib */; };
0770A8561A2D607600494953 /* CoreAnimationSample2Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A8551A2D607600494953 /* CoreAnimationSample2Tests.swift */; };
- 0770A8601A2D60D100494953 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A85F1A2D60D100494953 /* imagen1.png */; };
+ 0770A8601A2D60D100494953 /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A85F1A2D60D100494953 /* image.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0770A84F1A2D607600494953 /* CoreAnimationSample2Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreAnimationSample2Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0770A8541A2D607600494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0770A8551A2D607600494953 /* CoreAnimationSample2Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAnimationSample2Tests.swift; sourceTree = ""; };
- 0770A85F1A2D60D100494953 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0770A85F1A2D60D100494953 /* image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0770A83C1A2D607600494953 /* CoreAnimationSample2 */ = {
isa = PBXGroup;
children = (
- 0770A85F1A2D60D100494953 /* imagen1.png */,
+ 0770A85F1A2D60D100494953 /* image.png */,
0770A83F1A2D607600494953 /* AppDelegate.swift */,
0770A8411A2D607600494953 /* ViewController.swift */,
0770A8431A2D607600494953 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0770A8321A2D607600494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A8391A2D607600494953 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A8601A2D60D100494953 /* imagen1.png in Resources */,
+ 0770A8601A2D60D100494953 /* image.png in Resources */,
0770A8451A2D607600494953 /* Main.storyboard in Resources */,
0770A84A1A2D607600494953 /* LaunchScreen.xib in Resources */,
0770A8471A2D607600494953 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = CoreAnimationSample2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample2.app/CoreAnimationSample2";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = CoreAnimationSample2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample2.app/CoreAnimationSample2";
};
@@ -409,6 +418,7 @@
0770A85B1A2D607600494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A85C1A2D607600494953 /* Build configuration list for PBXNativeTarget "CoreAnimationSample2Tests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0770A85E1A2D607600494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample2.xccheckout b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample2.xccheckout
new file mode 100644
index 00000000..3efd02ae
--- /dev/null
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample2.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 393C94E0-35E4-4DC5-A568-7913CA176647
+ IDESourceControlProjectName
+ CoreAnimationSample2
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreAnimationSample2/CoreAnimationSample2.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index ec751080..5e906f47 100644
Binary files a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..641d5657
Binary files /dev/null and b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2 2.xcscheme b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2 2.xcscheme
new file mode 100644
index 00000000..a098b4dc
--- /dev/null
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme
index ca36c421..9d65753f 100644
--- a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreAnimationSample2.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreAnimationSample2 2.xcscheme
+
+ orderHint
+ 1
+
CoreAnimationSample2.xcscheme
orderHint
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme
new file mode 100644
index 00000000..1b8f821d
--- /dev/null
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample2.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..8a340d45
--- /dev/null
+++ b/CoreAnimationSample2/CoreAnimationSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreAnimationSample2.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A8391A2D607600494953
+
+ primary
+
+
+ 0770A84E1A2D607600494953
+
+ primary
+
+
+
+
+
diff --git a/CoreAnimationSample2/CoreAnimationSample2/AppDelegate.swift b/CoreAnimationSample2/CoreAnimationSample2/AppDelegate.swift
index 5f6ab364..1649cd1c 100644
--- a/CoreAnimationSample2/CoreAnimationSample2/AppDelegate.swift
+++ b/CoreAnimationSample2/CoreAnimationSample2/AppDelegate.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample2
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/CoreAnimationSample2/CoreAnimationSample2/Base.lproj/Main.storyboard b/CoreAnimationSample2/CoreAnimationSample2/Base.lproj/Main.storyboard
index 6dda2366..3406786d 100644
--- a/CoreAnimationSample2/CoreAnimationSample2/Base.lproj/Main.storyboard
+++ b/CoreAnimationSample2/CoreAnimationSample2/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -17,22 +17,22 @@
-
+
-
+
@@ -41,7 +41,7 @@
-
+
diff --git a/CoreAnimationSample2/CoreAnimationSample2/Info.plist b/CoreAnimationSample2/CoreAnimationSample2/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreAnimationSample2/CoreAnimationSample2/Info.plist
+++ b/CoreAnimationSample2/CoreAnimationSample2/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample2/CoreAnimationSample2/ViewController.swift b/CoreAnimationSample2/CoreAnimationSample2/ViewController.swift
index 6913633c..2ff6a5b8 100644
--- a/CoreAnimationSample2/CoreAnimationSample2/ViewController.swift
+++ b/CoreAnimationSample2/CoreAnimationSample2/ViewController.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample2
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,55 +20,55 @@ class ViewController: UIViewController {
var position = true
- @IBOutlet weak var imagen: UIImageView!
- @IBAction func animar(sender: UIButton) {
+ @IBOutlet weak var image: UIImageView!
+ @IBAction func animate(sender: UIButton) {
- if (position){ //AMPLIACION 1
+ if (position){ //EXAMPLE2
- var animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
+ let animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
animation.toValue = NSValue(CGPoint:CGPointMake(160, 200))
- //AMPLIACION 1
+ //EXAMPLE2
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.toValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //EXAMPLE2
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
- imagen.layer.addAnimation(animation, forKey: "position")
+ image.layer.addAnimation(animation, forKey: "position")
- imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
position = false
}
else{
- var animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
+ let animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
animation.fromValue = NSValue(CGPoint:CGPointMake(160, 200))
- //AMPLIACION 1
+ //EXAMPLE2
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.fromValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //EXAMPLE2
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
- imagen.layer.addAnimation(animation, forKey: "position")
+ image.layer.addAnimation(animation, forKey: "position")
- imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
position = true
}
diff --git a/CoreAnimationSample2/CoreAnimationSample2/imagen1.png b/CoreAnimationSample2/CoreAnimationSample2/image.png
similarity index 100%
rename from CoreAnimationSample2/CoreAnimationSample2/imagen1.png
rename to CoreAnimationSample2/CoreAnimationSample2/image.png
diff --git a/CoreAnimationSample2/CoreAnimationSample2Tests/Info.plist b/CoreAnimationSample2/CoreAnimationSample2Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreAnimationSample2/CoreAnimationSample2Tests/Info.plist
+++ b/CoreAnimationSample2/CoreAnimationSample2Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample3/.DS_Store b/CoreAnimationSample3/.DS_Store
new file mode 100644
index 00000000..04c28abc
Binary files /dev/null and b/CoreAnimationSample3/.DS_Store differ
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.pbxproj b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.pbxproj
index 2a971ef4..eba93a64 100644
--- a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.pbxproj
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0770A8771A2D613A00494953 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8761A2D613A00494953 /* Images.xcassets */; };
0770A87A1A2D613A00494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8781A2D613A00494953 /* LaunchScreen.xib */; };
0770A8861A2D613A00494953 /* CoreAnimationSample3Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A8851A2D613A00494953 /* CoreAnimationSample3Tests.swift */; };
- 0770A8901A2D615E00494953 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A88F1A2D615E00494953 /* imagen1.png */; };
+ 0770A8901A2D615E00494953 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A88F1A2D615E00494953 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0770A87F1A2D613A00494953 /* CoreAnimationSample3Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreAnimationSample3Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0770A8841A2D613A00494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0770A8851A2D613A00494953 /* CoreAnimationSample3Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAnimationSample3Tests.swift; sourceTree = ""; };
- 0770A88F1A2D615E00494953 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0770A88F1A2D615E00494953 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0770A86C1A2D613A00494953 /* CoreAnimationSample3 */ = {
isa = PBXGroup;
children = (
- 0770A88F1A2D615E00494953 /* imagen1.png */,
+ 0770A88F1A2D615E00494953 /* image1.png */,
0770A86F1A2D613A00494953 /* AppDelegate.swift */,
0770A8711A2D613A00494953 /* ViewController.swift */,
0770A8731A2D613A00494953 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0770A8621A2D613A00494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A8691A2D613A00494953 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A8901A2D615E00494953 /* imagen1.png in Resources */,
+ 0770A8901A2D615E00494953 /* image1.png in Resources */,
0770A8751A2D613A00494953 /* Main.storyboard in Resources */,
0770A87A1A2D613A00494953 /* LaunchScreen.xib in Resources */,
0770A8771A2D613A00494953 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample3/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample3/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = CoreAnimationSample3Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample3.app/CoreAnimationSample3";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = CoreAnimationSample3Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample3.app/CoreAnimationSample3";
};
@@ -409,6 +418,7 @@
0770A88B1A2D613A00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A88C1A2D613A00494953 /* Build configuration list for PBXNativeTarget "CoreAnimationSample3Tests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0770A88E1A2D613A00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample3.xccheckout b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample3.xccheckout
new file mode 100644
index 00000000..e0c80150
--- /dev/null
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample3.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 3E316146-F65C-41C8-91C5-ED8265A1EC16
+ IDESourceControlProjectName
+ CoreAnimationSample3
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreAnimationSample3/CoreAnimationSample3.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 073c8c39..c0e188ae 100644
Binary files a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..cdc39646
Binary files /dev/null and b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3 2.xcscheme b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3 2.xcscheme
new file mode 100644
index 00000000..3f88fb23
--- /dev/null
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme
index bdd3ee19..4524d661 100644
--- a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreAnimationSample3.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreAnimationSample3 2.xcscheme
+
+ orderHint
+ 1
+
CoreAnimationSample3.xcscheme
orderHint
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme
new file mode 100644
index 00000000..47f91b41
--- /dev/null
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample3.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..7e61fb49
--- /dev/null
+++ b/CoreAnimationSample3/CoreAnimationSample3.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreAnimationSample3.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A8691A2D613A00494953
+
+ primary
+
+
+ 0770A87E1A2D613A00494953
+
+ primary
+
+
+
+
+
diff --git a/CoreAnimationSample3/CoreAnimationSample3/AppDelegate.swift b/CoreAnimationSample3/CoreAnimationSample3/AppDelegate.swift
index 97a29309..5f293ab9 100644
--- a/CoreAnimationSample3/CoreAnimationSample3/AppDelegate.swift
+++ b/CoreAnimationSample3/CoreAnimationSample3/AppDelegate.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample3
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/CoreAnimationSample3/CoreAnimationSample3/Base.lproj/Main.storyboard b/CoreAnimationSample3/CoreAnimationSample3/Base.lproj/Main.storyboard
index 3ed45a3a..7463a378 100644
--- a/CoreAnimationSample3/CoreAnimationSample3/Base.lproj/Main.storyboard
+++ b/CoreAnimationSample3/CoreAnimationSample3/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -16,23 +16,23 @@
-
+
-
+
@@ -41,7 +41,7 @@
-
+
diff --git a/CoreAnimationSample3/CoreAnimationSample3/Info.plist b/CoreAnimationSample3/CoreAnimationSample3/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreAnimationSample3/CoreAnimationSample3/Info.plist
+++ b/CoreAnimationSample3/CoreAnimationSample3/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample3/CoreAnimationSample3/ViewController.swift b/CoreAnimationSample3/CoreAnimationSample3/ViewController.swift
index 03fecbd9..4a5b5e75 100644
--- a/CoreAnimationSample3/CoreAnimationSample3/ViewController.swift
+++ b/CoreAnimationSample3/CoreAnimationSample3/ViewController.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample3
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,48 +20,46 @@ class ViewController: UIViewController {
var position = true
- @IBOutlet weak var imagen: UIImageView!
- @IBAction func animar(sender: UIButton) {
+ @IBOutlet weak var image: UIImageView!
+ @IBAction func animate(sender: UIButton) {
- if (position){ //AMPLIACION 1
+ if (position){ //SAMPLE2
- var animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
+ let animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
animation.toValue = NSValue(CGPoint:CGPointMake(160, 200))
- //AMPLIACION 1
+ //SAMPLE2
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.toValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //SAMPLE2
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
- //AMPLIACION 2
+ //SAMPLE3
UIView.animateWithDuration(5.0, animations:{
- //En este bloque establecemos los cambios de propiedades
- //que queremos animar. P ej.
- self.imagen.alpha = 0.0
- //Nuestra vista se irá desvaneciendo durante 5 segundos
+ //PROPERTIES CHANGES TO ANIMATE
+ self.image.alpha = 0.0
+ //alpha to zero in 5 seconds
}, completion: {(value: Bool) in
- //bloque en el que podemos especificar qué hacer cuando se
- //termine la animación
- self.imagen.alpha = 1.0
- self.imagen.layer.addAnimation(animation, forKey: "position")
+ //when finished animation do this..
+ self.image.alpha = 1.0
+ self.image.layer.addAnimation(animation, forKey: "position")
- self.imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ self.image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
})
@@ -65,24 +71,24 @@ class ViewController: UIViewController {
}
else{
- var animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
+ let animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
animation.fromValue = NSValue(CGPoint:CGPointMake(160, 200))
- //AMPLIACION 1
+ //SAMPLE2
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.fromValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //SAMPLE2
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
- imagen.layer.addAnimation(animation, forKey: "position")
+ image.layer.addAnimation(animation, forKey: "position")
- imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
position = true
}
diff --git a/CoreAnimationSample3/CoreAnimationSample3/imagen1.png b/CoreAnimationSample3/CoreAnimationSample3/image1.png
similarity index 100%
rename from CoreAnimationSample3/CoreAnimationSample3/imagen1.png
rename to CoreAnimationSample3/CoreAnimationSample3/image1.png
diff --git a/CoreAnimationSample3/CoreAnimationSample3Tests/Info.plist b/CoreAnimationSample3/CoreAnimationSample3Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreAnimationSample3/CoreAnimationSample3Tests/Info.plist
+++ b/CoreAnimationSample3/CoreAnimationSample3Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample4/.DS_Store b/CoreAnimationSample4/.DS_Store
new file mode 100644
index 00000000..41792c43
Binary files /dev/null and b/CoreAnimationSample4/.DS_Store differ
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.pbxproj b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.pbxproj
index da7338ff..3450bb10 100644
--- a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.pbxproj
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0770A8A71A2D619F00494953 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8A61A2D619F00494953 /* Images.xcassets */; };
0770A8AA1A2D619F00494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8A81A2D619F00494953 /* LaunchScreen.xib */; };
0770A8B61A2D619F00494953 /* CoreAnimationSample4Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A8B51A2D619F00494953 /* CoreAnimationSample4Tests.swift */; };
- 0770A8C01A2D61BB00494953 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8BF1A2D61BB00494953 /* imagen1.png */; };
+ 0770A8C01A2D61BB00494953 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0770A8BF1A2D61BB00494953 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0770A8AF1A2D619F00494953 /* CoreAnimationSample4Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreAnimationSample4Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0770A8B41A2D619F00494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0770A8B51A2D619F00494953 /* CoreAnimationSample4Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAnimationSample4Tests.swift; sourceTree = ""; };
- 0770A8BF1A2D61BB00494953 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0770A8BF1A2D61BB00494953 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0770A89C1A2D619F00494953 /* CoreAnimationSample4 */ = {
isa = PBXGroup;
children = (
- 0770A8BF1A2D61BB00494953 /* imagen1.png */,
+ 0770A8BF1A2D61BB00494953 /* image1.png */,
0770A89F1A2D619F00494953 /* AppDelegate.swift */,
0770A8A11A2D619F00494953 /* ViewController.swift */,
0770A8A31A2D619F00494953 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0770A8921A2D619F00494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A8991A2D619F00494953 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A8C01A2D61BB00494953 /* imagen1.png in Resources */,
+ 0770A8C01A2D61BB00494953 /* image1.png in Resources */,
0770A8A51A2D619F00494953 /* Main.storyboard in Resources */,
0770A8AA1A2D619F00494953 /* LaunchScreen.xib in Resources */,
0770A8A71A2D619F00494953 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample4/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreAnimationSample4/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = CoreAnimationSample4Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample4.app/CoreAnimationSample4";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = CoreAnimationSample4Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreAnimationSample4.app/CoreAnimationSample4";
};
@@ -409,6 +418,7 @@
0770A8BB1A2D619F00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A8BC1A2D619F00494953 /* Build configuration list for PBXNativeTarget "CoreAnimationSample4Tests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0770A8BE1A2D619F00494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample4.xccheckout b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample4.xccheckout
new file mode 100644
index 00000000..f4b399ed
--- /dev/null
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcshareddata/CoreAnimationSample4.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 78624530-A419-49EC-858A-C72F0E37E4FE
+ IDESourceControlProjectName
+ CoreAnimationSample4
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreAnimationSample4/CoreAnimationSample4.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 859a283f..b0b2b3d4 100644
Binary files a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..c2048bbc
Binary files /dev/null and b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4 2.xcscheme b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4 2.xcscheme
new file mode 100644
index 00000000..8b40b719
--- /dev/null
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme
index cf337d46..bfe79e1a 100644
--- a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreAnimationSample4.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreAnimationSample4 2.xcscheme
+
+ orderHint
+ 1
+
CoreAnimationSample4.xcscheme
orderHint
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme
new file mode 100644
index 00000000..adb0db58
--- /dev/null
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreAnimationSample4.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..f949078f
--- /dev/null
+++ b/CoreAnimationSample4/CoreAnimationSample4.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreAnimationSample4.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A8991A2D619F00494953
+
+ primary
+
+
+ 0770A8AE1A2D619F00494953
+
+ primary
+
+
+
+
+
diff --git a/CoreAnimationSample4/CoreAnimationSample4/AppDelegate.swift b/CoreAnimationSample4/CoreAnimationSample4/AppDelegate.swift
index ca7951d0..33667055 100644
--- a/CoreAnimationSample4/CoreAnimationSample4/AppDelegate.swift
+++ b/CoreAnimationSample4/CoreAnimationSample4/AppDelegate.swift
@@ -3,8 +3,16 @@
// CoreAnimationSample4
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/CoreAnimationSample4/CoreAnimationSample4/Base.lproj/Main.storyboard b/CoreAnimationSample4/CoreAnimationSample4/Base.lproj/Main.storyboard
index 9bf0c7a2..54ebb5ab 100644
--- a/CoreAnimationSample4/CoreAnimationSample4/Base.lproj/Main.storyboard
+++ b/CoreAnimationSample4/CoreAnimationSample4/Base.lproj/Main.storyboard
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -17,22 +17,22 @@
-
+
-
+
@@ -41,7 +41,7 @@
-
+
diff --git a/CoreAnimationSample4/CoreAnimationSample4/Info.plist b/CoreAnimationSample4/CoreAnimationSample4/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreAnimationSample4/CoreAnimationSample4/Info.plist
+++ b/CoreAnimationSample4/CoreAnimationSample4/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreAnimationSample4/CoreAnimationSample4/ViewController.swift b/CoreAnimationSample4/CoreAnimationSample4/ViewController.swift
index f085cee2..6bf53f31 100644
--- a/CoreAnimationSample4/CoreAnimationSample4/ViewController.swift
+++ b/CoreAnimationSample4/CoreAnimationSample4/ViewController.swift
@@ -3,7 +3,15 @@
// CoreAnimationSample4
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,63 +20,63 @@ class ViewController: UIViewController {
var position = true
- @IBOutlet weak var imagen: UIImageView!
- @IBAction func animar(sender: UIButton) {
+ @IBOutlet weak var image: UIImageView!
+ @IBAction func animate(sender: UIButton) {
- if (position){ //AMPLIACION 1
+ if (position){ //SAMPLE 2
- //AMPLIACION 3
+ //SAMPLE 3
- var subLayer : CALayer = self.imagen.layer
- var thePath : CGMutablePathRef = CGPathCreateMutable();
+ let subLayer : CALayer = self.image.layer
+ let thePath : CGMutablePathRef = CGPathCreateMutable();
CGPathMoveToPoint(thePath, nil, 160.0, 200.0);
CGPathAddCurveToPoint(thePath, nil, 83.0, 50.0, 100.0, 100.0, 160.0, 200.0);
//CGPathAddCurveToPoint(thePath, nil, 320.0, 500.0, 566.0, 500.0, 566.0, 74.0);
- var theAnimation: CAKeyframeAnimation = CAKeyframeAnimation(keyPath:"position")
+ let theAnimation: CAKeyframeAnimation = CAKeyframeAnimation(keyPath:"position")
theAnimation.path = thePath
theAnimation.duration = 5.0
theAnimation.fillMode = kCAFillModeForwards
theAnimation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.toValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //SAMPLE 2
resizeAnimation.duration = 5.0
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
subLayer.addAnimation(theAnimation, forKey: "position")
- imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
position = false
}
else{
- var animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
+ let animation:CABasicAnimation! = CABasicAnimation(keyPath:"position")
animation.fromValue = NSValue(CGPoint:CGPointMake(160, 200))
- //AMPLIACION 1
+ //SAMPLE 2
animation.fillMode = kCAFillModeForwards
animation.removedOnCompletion = false
- var resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
+ let resizeAnimation:CABasicAnimation = CABasicAnimation(keyPath:"bounds.size")
resizeAnimation.fromValue = NSValue(CGSize:CGSizeMake(240, 60))
- //AMPLIACION 1
+ //SAMPLE 2
resizeAnimation.fillMode = kCAFillModeForwards
resizeAnimation.removedOnCompletion = false
- imagen.layer.addAnimation(animation, forKey: "position")
+ image.layer.addAnimation(animation, forKey: "position")
- imagen.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
+ image.layer.addAnimation(resizeAnimation, forKey: "bounds.size")
position = true
}
diff --git a/CoreAnimationSample4/CoreAnimationSample4/imagen1.png b/CoreAnimationSample4/CoreAnimationSample4/image1.png
similarity index 100%
rename from CoreAnimationSample4/CoreAnimationSample4/imagen1.png
rename to CoreAnimationSample4/CoreAnimationSample4/image1.png
diff --git a/CoreAnimationSample4/CoreAnimationSample4Tests/Info.plist b/CoreAnimationSample4/CoreAnimationSample4Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreAnimationSample4/CoreAnimationSample4Tests/Info.plist
+++ b/CoreAnimationSample4/CoreAnimationSample4Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataSample1/.DS_Store b/CoreDataSample1/.DS_Store
new file mode 100644
index 00000000..90cffe6c
Binary files /dev/null and b/CoreDataSample1/.DS_Store differ
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/project.pbxproj b/CoreDataSample1/CoreDataSample1.xcodeproj/project.pbxproj
index 31117952..31b53346 100644
--- a/CoreDataSample1/CoreDataSample1.xcodeproj/project.pbxproj
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/project.pbxproj
@@ -195,7 +195,9 @@
07E35C7C1A2E2CA500CA606C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
07E35C831A2E2CA500CA606C = {
@@ -323,6 +325,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -337,7 +340,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -373,7 +376,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -385,7 +388,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -395,7 +400,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -414,6 +421,7 @@
);
INFOPLIST_FILE = CoreDataSample1Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataSample1.app/CoreDataSample1";
};
@@ -429,6 +437,7 @@
);
INFOPLIST_FILE = CoreDataSample1Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataSample1.app/CoreDataSample1";
};
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample1.xccheckout b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample1.xccheckout
new file mode 100644
index 00000000..31d255ff
--- /dev/null
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample1.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 1815F892-B709-400A-9EC0-5ED81C4961A1
+ IDESourceControlProjectName
+ CoreDataSample1
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreDataSample1/CoreDataSample1.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index ce9ce90b..9a9ebc37 100644
Binary files a/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..86c92d45
Binary files /dev/null and b/CoreDataSample1/CoreDataSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1 2.xcscheme b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1 2.xcscheme
new file mode 100644
index 00000000..2b430d2e
--- /dev/null
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1.xcscheme b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1.xcscheme
index 31444bb4..adf04ced 100644
--- a/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1.xcscheme
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample1.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreDataSample1.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreDataSample1 2.xcscheme
+
+ orderHint
+ 1
+
CoreDataSample1.xcscheme
orderHint
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample1.xcscheme b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample1.xcscheme
new file mode 100644
index 00000000..9109bf22
--- /dev/null
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample1.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..39f425c6
--- /dev/null
+++ b/CoreDataSample1/CoreDataSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreDataSample1.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35C831A2E2CA500CA606C
+
+ primary
+
+
+ 07E35C9B1A2E2CA500CA606C
+
+ primary
+
+
+
+
+
diff --git a/CoreDataSample1/CoreDataSample1/AppDelegate.swift b/CoreDataSample1/CoreDataSample1/AppDelegate.swift
index e7836ade..9b098ecb 100644
--- a/CoreDataSample1/CoreDataSample1/AppDelegate.swift
+++ b/CoreDataSample1/CoreDataSample1/AppDelegate.swift
@@ -3,7 +3,31 @@
// CoreDataSample1
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+//
+// AppDelegate.swift
+// CoreDataSample2
+//
+// Created by Carlos Butron on 02/12/14.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,101 +35,101 @@ import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
-
+
var window: UIWindow?
-
-
+
+
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
return true
}
-
+
func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
-
+
func applicationDidEnterBackground(application: 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) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
-
+
func applicationDidBecomeActive(application: 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) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
// Saves changes in the application's managed object context before the application terminates.
self.saveContext()
}
-
+
// MARK: - Core Data stack
-
+
lazy var applicationDocumentsDirectory: NSURL = {
- // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.CoreDataSample1" in the application's documents Application Support directory.
+ // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.tst" in the application's documents Application Support directory.
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
- return urls[urls.count-1] as NSURL
- }()
-
+ return urls[urls.count-1]
+ }()
+
lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("CoreDataSample1", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
- }()
-
- lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
- // The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
+ }()
+
+ lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
+ // The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
- var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
- let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CoreDataSample1.sqlite")
- var error: NSError? = nil
+ let coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
+ let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
var failureReason = "There was an error creating or loading the application's saved data."
- if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
- coordinator = nil
+ do {
+ try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
+ } catch {
// Report any error we got.
- let dict = NSMutableDictionary()
+ var dict = [String: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
- dict[NSUnderlyingErrorKey] = error
- error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
+
+ dict[NSUnderlyingErrorKey] = error as NSError
+ let wrappedError = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ NSLog("Unresolved error \(wrappedError), \(wrappedError.userInfo)")
abort()
}
return coordinator
- }()
-
- lazy var managedObjectContext: NSManagedObjectContext? = {
+ }()
+
+ lazy var managedObjectContext: NSManagedObjectContext = {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.) This property is optional since there are legitimate error conditions that could cause the creation of the context to fail.
let coordinator = self.persistentStoreCoordinator
- if coordinator == nil {
- return nil
- }
- var managedObjectContext = NSManagedObjectContext()
+ var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
- }()
-
+ }()
+
// MARK: - Core Data Saving support
-
+
func saveContext () {
- if let moc = self.managedObjectContext {
- var error: NSError? = nil
- if moc.hasChanges && !moc.save(&error) {
+ if managedObjectContext.hasChanges {
+ do {
+ try managedObjectContext.save()
+ } catch {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ let nserror = error as NSError
+ NSLog("Unresolved error \(nserror), \(nserror.userInfo)")
abort()
}
}
}
-
+
}
diff --git a/CoreDataSample1/CoreDataSample1/Base.lproj/Main.storyboard b/CoreDataSample1/CoreDataSample1/Base.lproj/Main.storyboard
index b24202ab..381d069a 100644
--- a/CoreDataSample1/CoreDataSample1/Base.lproj/Main.storyboard
+++ b/CoreDataSample1/CoreDataSample1/Base.lproj/Main.storyboard
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/CoreDataSample1/CoreDataSample1/CoreDataSample1.xcdatamodeld/CoreDataSample1.xcdatamodel/contents b/CoreDataSample1/CoreDataSample1/CoreDataSample1.xcdatamodeld/CoreDataSample1.xcdatamodel/contents
index 68e2a464..bf4dbb72 100644
--- a/CoreDataSample1/CoreDataSample1/CoreDataSample1.xcdatamodeld/CoreDataSample1.xcdatamodel/contents
+++ b/CoreDataSample1/CoreDataSample1/CoreDataSample1.xcdatamodeld/CoreDataSample1.xcdatamodel/contents
@@ -1,11 +1,11 @@
-
-
-
-
-
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/CoreDataSample1/CoreDataSample1/Info.plist b/CoreDataSample1/CoreDataSample1/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreDataSample1/CoreDataSample1/Info.plist
+++ b/CoreDataSample1/CoreDataSample1/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataSample1/CoreDataSample1/ViewController.swift b/CoreDataSample1/CoreDataSample1/ViewController.swift
index 939b212d..76cfb67d 100644
--- a/CoreDataSample1/CoreDataSample1/ViewController.swift
+++ b/CoreDataSample1/CoreDataSample1/ViewController.swift
@@ -3,7 +3,15 @@
// CoreDataSample1
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -17,34 +25,33 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
override func viewDidLoad() {
super.viewDidLoad()
- var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
- var context : NSManagedObjectContext = appDel.managedObjectContext!
+ let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
+ let context : NSManagedObjectContext = appDel.managedObjectContext
+
+ // INSERT
- //INSERT
- // var appDel:AppDelegate = UIApplication.sharedApplication().delegate as
- // AppDelegate
- // var context:NSManagedObjectContext = appDel.managedObjectContext!
- //
-// var celda = NSEntityDescription.insertNewObjectForEntityForName("Celda", inManagedObjectContext: context) as NSManagedObject
-// celda.setValue("Yoda Tux", forKey: "titulo")
-// celda.setValue("Science Fiction", forKey: "subtitulo")
-// celda.setValue("yodaTux.png", forKey: "imagen")
-// if(!context.save(nil)){
-// println("Error!")
-// }
+ let celda = NSEntityDescription.insertNewObjectForEntityForName("Cell", inManagedObjectContext: context)
+ celda.setValue("Yoda Tux", forKey: "title")
+ celda.setValue("Science Fiction", forKey: "subtitle")
+ celda.setValue("yodaTux.png", forKey: "image")
+
+ do {try context.save()}
+ catch {
+ print("Error!")
+ }
- var request = NSFetchRequest (entityName: "Celda")
+ let request = NSFetchRequest (entityName: "Cell")
request.returnsObjectsAsFaults = false
- results = context.executeFetchRequest(request, error: nil)
+ results = try? context.executeFetchRequest(request)
if (results!.count>0){
for res in results! {
- println(res)
+ print(res)
}
}
@@ -61,13 +68,13 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
+ let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
- var aux = results![indexPath.row] as NSManagedObject
+ let aux = results![indexPath.row] as! NSManagedObject
- cell.textLabel.text = aux.valueForKey("titulo") as? String
- cell.detailTextLabel?.text = aux.valueForKey("subtitulo") as? String
- cell.imageView.image = UIImage(named: aux.valueForKey("imagen") as String)
+ cell.textLabel!.text = aux.valueForKey("title") as? String
+ cell.detailTextLabel?.text = aux.valueForKey("subtitle") as? String
+ cell.imageView!.image = UIImage(named: aux.valueForKey("image") as! String)
return cell
}
@@ -76,7 +83,7 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
return results!.count
}
- func tableView(tableView: UITableView, titleForHeaderInSection section: Int)-> String {
+ func tableView(tableView: UITableView, titleForHeaderInSection section: Int)-> String? {
return "TuxMania"
}
diff --git a/CoreDataSample1/CoreDataSample1Tests/Info.plist b/CoreDataSample1/CoreDataSample1Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreDataSample1/CoreDataSample1Tests/Info.plist
+++ b/CoreDataSample1/CoreDataSample1Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataSample2/.DS_Store b/CoreDataSample2/.DS_Store
new file mode 100644
index 00000000..454c5208
Binary files /dev/null and b/CoreDataSample2/.DS_Store differ
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/project.pbxproj b/CoreDataSample2/CoreDataSample2.xcodeproj/project.pbxproj
index 7e417c0c..3cd20fa3 100644
--- a/CoreDataSample2/CoreDataSample2.xcodeproj/project.pbxproj
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/project.pbxproj
@@ -163,7 +163,9 @@
07E35CC01A2E334F00CA606C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
07E35CC71A2E334F00CA606C = {
@@ -283,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -297,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -333,7 +336,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -345,7 +348,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -355,7 +360,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -374,6 +381,7 @@
);
INFOPLIST_FILE = CoreDataSample2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataSample2.app/CoreDataSample2";
};
@@ -389,6 +397,7 @@
);
INFOPLIST_FILE = CoreDataSample2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataSample2.app/CoreDataSample2";
};
@@ -413,6 +422,7 @@
07E35CEC1A2E334F00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35CED1A2E334F00CA606C /* Build configuration list for PBXNativeTarget "CoreDataSample2Tests" */ = {
isa = XCConfigurationList;
@@ -421,6 +431,7 @@
07E35CEF1A2E334F00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample2.xccheckout b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample2.xccheckout
new file mode 100644
index 00000000..5b054822
--- /dev/null
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcshareddata/CoreDataSample2.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ C1B09E25-EA2E-46A8-B402-7B2025C2FCBE
+ IDESourceControlProjectName
+ CoreDataSample2
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreDataSample2/CoreDataSample2.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 1fee1376..378720af 100644
Binary files a/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a2d4c8d2
Binary files /dev/null and b/CoreDataSample2/CoreDataSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..6fcece27
--- /dev/null
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2 2.xcscheme b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2 2.xcscheme
new file mode 100644
index 00000000..bed1db8f
--- /dev/null
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2.xcscheme b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2.xcscheme
index 7f0ddb03..141c5de5 100644
--- a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2.xcscheme
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataSample2.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreDataSample2.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreDataSample2 2.xcscheme
+
+ orderHint
+ 1
+
CoreDataSample2.xcscheme
orderHint
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample2.xcscheme b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample2.xcscheme
new file mode 100644
index 00000000..9594efc7
--- /dev/null
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataSample2.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..f03f5f35
--- /dev/null
+++ b/CoreDataSample2/CoreDataSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreDataSample2.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35CC71A2E334F00CA606C
+
+ primary
+
+
+ 07E35CDF1A2E334F00CA606C
+
+ primary
+
+
+
+
+
diff --git a/CoreDataSample2/CoreDataSample2/AppDelegate.swift b/CoreDataSample2/CoreDataSample2/AppDelegate.swift
index 3247cd51..da64bee9 100644
--- a/CoreDataSample2/CoreDataSample2/AppDelegate.swift
+++ b/CoreDataSample2/CoreDataSample2/AppDelegate.swift
@@ -3,7 +3,31 @@
// CoreDataSample2
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+//
+// AppDelegate.swift
+// CoreDataSample2
+//
+// Created by Carlos Butron on 02/12/14.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,101 +35,101 @@ import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
-
+
var window: UIWindow?
-
-
+
+
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
return true
}
-
+
func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
-
+
func applicationDidEnterBackground(application: 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) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
-
+
func applicationDidBecomeActive(application: 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) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
// Saves changes in the application's managed object context before the application terminates.
self.saveContext()
}
-
+
// MARK: - Core Data stack
-
+
lazy var applicationDocumentsDirectory: NSURL = {
- // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.CoreDataSample2" in the application's documents Application Support directory.
+ // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.tst" in the application's documents Application Support directory.
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
- return urls[urls.count-1] as NSURL
- }()
-
+ return urls[urls.count-1]
+ }()
+
lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("CoreDataSample2", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
- }()
-
- lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
- // The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
+ }()
+
+ lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
+ // The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
- var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
- let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CoreDataSample2.sqlite")
- var error: NSError? = nil
+ let coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
+ let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
var failureReason = "There was an error creating or loading the application's saved data."
- if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
- coordinator = nil
+ do {
+ try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
+ } catch {
// Report any error we got.
- let dict = NSMutableDictionary()
+ var dict = [String: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
- dict[NSUnderlyingErrorKey] = error
- error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
+
+ dict[NSUnderlyingErrorKey] = error as NSError
+ let wrappedError = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ NSLog("Unresolved error \(wrappedError), \(wrappedError.userInfo)")
abort()
}
return coordinator
- }()
-
- lazy var managedObjectContext: NSManagedObjectContext? = {
+ }()
+
+ lazy var managedObjectContext: NSManagedObjectContext = {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.) This property is optional since there are legitimate error conditions that could cause the creation of the context to fail.
let coordinator = self.persistentStoreCoordinator
- if coordinator == nil {
- return nil
- }
- var managedObjectContext = NSManagedObjectContext()
+ var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
- }()
-
+ }()
+
// MARK: - Core Data Saving support
-
+
func saveContext () {
- if let moc = self.managedObjectContext {
- var error: NSError? = nil
- if moc.hasChanges && !moc.save(&error) {
+ if managedObjectContext.hasChanges {
+ do {
+ try managedObjectContext.save()
+ } catch {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ let nserror = error as NSError
+ NSLog("Unresolved error \(nserror), \(nserror.userInfo)")
abort()
}
}
}
-
+
}
diff --git a/CoreDataSample2/CoreDataSample2/Base.lproj/Main.storyboard b/CoreDataSample2/CoreDataSample2/Base.lproj/Main.storyboard
index a30d5b84..09773156 100644
--- a/CoreDataSample2/CoreDataSample2/Base.lproj/Main.storyboard
+++ b/CoreDataSample2/CoreDataSample2/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -16,14 +16,14 @@
-
diff --git a/CoreDataSample2/CoreDataSample2/CoreDataSample2.xcdatamodeld/CoreDataSample2.xcdatamodel/contents b/CoreDataSample2/CoreDataSample2/CoreDataSample2.xcdatamodeld/CoreDataSample2.xcdatamodel/contents
index 8f80a9bc..1f2e571d 100644
--- a/CoreDataSample2/CoreDataSample2/CoreDataSample2.xcdatamodeld/CoreDataSample2.xcdatamodel/contents
+++ b/CoreDataSample2/CoreDataSample2/CoreDataSample2.xcdatamodeld/CoreDataSample2.xcdatamodel/contents
@@ -1,10 +1,10 @@
-
-
-
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/CoreDataSample2/CoreDataSample2/Info.plist b/CoreDataSample2/CoreDataSample2/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreDataSample2/CoreDataSample2/Info.plist
+++ b/CoreDataSample2/CoreDataSample2/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataSample2/CoreDataSample2/ViewController.swift b/CoreDataSample2/CoreDataSample2/ViewController.swift
index f230245e..0456ecc6 100644
--- a/CoreDataSample2/CoreDataSample2/ViewController.swift
+++ b/CoreDataSample2/CoreDataSample2/ViewController.swift
@@ -3,7 +3,15 @@
// CoreDataSample2
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -13,43 +21,47 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
var results: NSArray?
- @IBOutlet weak var nombre: UITextField!
- @IBOutlet weak var apellido: UITextField!
- @IBOutlet weak var tabla: UITableView!
- @IBAction func guardar(sender: UIButton) {
-
- var appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
- var context: NSManagedObjectContext = appDel.managedObjectContext!
- var celda = NSEntityDescription.insertNewObjectForEntityForName("Formulario", inManagedObjectContext: context) as NSManagedObject
- celda.setValue(nombre.text, forKey: "nombre")
- celda.setValue(apellido.text, forKey: "apellido")
+ @IBOutlet weak var name: UITextField!
+ @IBOutlet weak var surname: UITextField!
+ @IBOutlet weak var table: UITableView!
+ @IBAction func save(sender: UIButton) {
- context.save(nil)
+ let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
+ let context: NSManagedObjectContext = appDel.managedObjectContext
+ let cell = NSEntityDescription.insertNewObjectForEntityForName("Form", inManagedObjectContext: context)
+ cell.setValue(name.text, forKey: "name")
+ cell.setValue(surname.text, forKey: "surname")
- if(!context.save(nil)){
- println("Error!")
+ // Save the context.
+ do {
+ try context.save()
+ } catch {
+ // Replace this implementation with code to handle the error appropriately.
+ // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
+ //print("Unresolved error \(error), \(error.userInfo)")
}
- self.loadTabla()
- self.tabla.reloadData()
+
+ self.loadTable()
+ self.table.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
- self.loadTabla() //Carga inicial
+ self.loadTable() //start load
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell : UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
- var aux = results![indexPath.row] as NSManagedObject
- cell.textLabel.text = aux.valueForKey("nombre") as NSString
- cell.detailTextLabel?.text = aux.valueForKey("apellido") as NSString
+ let cell : UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
+ let aux = results![indexPath.row] as! NSManagedObject
+ cell.textLabel!.text = aux.valueForKey("name") as? String
+ cell.detailTextLabel!.text = aux.valueForKey("surname") as? String
return cell
@@ -60,16 +72,16 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
}
- func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String {
- return "Contactos"
+ func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
+ return "Contacts"
}
- func loadTabla(){
- var appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
- var context:NSManagedObjectContext = appDel.managedObjectContext!
- var request = NSFetchRequest(entityName: "Formulario")
+ func loadTable(){
+ let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
+ let context:NSManagedObjectContext = appDel.managedObjectContext
+ let request = NSFetchRequest(entityName: "Form")
request.returnsObjectsAsFaults = false
- results = context.executeFetchRequest(request, error: nil)
+ results = try? context.executeFetchRequest(request)
}
diff --git a/CoreDataSample2/CoreDataSample2Tests/Info.plist b/CoreDataSample2/CoreDataSample2Tests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreDataSample2/CoreDataSample2Tests/Info.plist
+++ b/CoreDataSample2/CoreDataSample2Tests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataWithTableView/.DS_Store b/CoreDataWithTableView/.DS_Store
new file mode 100644
index 00000000..ccdfcbe9
Binary files /dev/null and b/CoreDataWithTableView/.DS_Store differ
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.pbxproj b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index 11957f1d..4697ff40
--- a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.pbxproj
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.pbxproj
@@ -174,7 +174,9 @@
075FD20E1A33918000513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD2151A33918000513A3A = {
@@ -299,6 +301,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -313,7 +316,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -349,7 +352,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -361,7 +364,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataWithTableView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -371,7 +376,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreDataWithTableView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -390,6 +397,7 @@
);
INFOPLIST_FILE = CoreDataWithTableViewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataWithTableView.app/CoreDataWithTableView";
};
@@ -405,6 +413,7 @@
);
INFOPLIST_FILE = CoreDataWithTableViewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreDataWithTableView.app/CoreDataWithTableView";
};
@@ -429,6 +438,7 @@
075FD23A1A33918000513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD23B1A33918000513A3A /* Build configuration list for PBXNativeTarget "CoreDataWithTableViewTests" */ = {
isa = XCConfigurationList;
@@ -437,6 +447,7 @@
075FD23D1A33918000513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcshareddata/CoreDataWithTableView.xccheckout b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcshareddata/CoreDataWithTableView.xccheckout
new file mode 100644
index 00000000..46534a9d
--- /dev/null
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcshareddata/CoreDataWithTableView.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ F330B264-9490-4720-A1C6-3D667EBC49C7
+ IDESourceControlProjectName
+ CoreDataWithTableView
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ CoreDataWithTableView/CoreDataWithTableView.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index b34dfd60..fc6011b1
Binary files a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..3cd48bbd
Binary files /dev/null and b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..7609d2ae
--- /dev/null
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView 2.xcscheme b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView 2.xcscheme
new file mode 100644
index 00000000..607fcc42
--- /dev/null
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme
old mode 100644
new mode 100755
index 27e4f438..24dfe3c4
--- a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreDataWithTableView.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreDataWithTableView 2.xcscheme
+
+ orderHint
+ 1
+
CoreDataWithTableView.xcscheme
orderHint
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme
new file mode 100644
index 00000000..dc797cbd
--- /dev/null
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreDataWithTableView.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..65213e32
--- /dev/null
+++ b/CoreDataWithTableView/CoreDataWithTableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreDataWithTableView.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD2151A33918000513A3A
+
+ primary
+
+
+ 075FD22D1A33918000513A3A
+
+ primary
+
+
+
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView/AppDelegate.swift b/CoreDataWithTableView/CoreDataWithTableView/AppDelegate.swift
old mode 100644
new mode 100755
index 67e2b1eb..2e1ab1d8
--- a/CoreDataWithTableView/CoreDataWithTableView/AppDelegate.swift
+++ b/CoreDataWithTableView/CoreDataWithTableView/AppDelegate.swift
@@ -3,7 +3,15 @@
// CoreDataWithTableView
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,101 +19,101 @@ import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
-
+
var window: UIWindow?
-
-
+
+
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
return true
}
-
+
func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
-
+
func applicationDidEnterBackground(application: 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) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
-
+
func applicationDidBecomeActive(application: 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) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
// Saves changes in the application's managed object context before the application terminates.
self.saveContext()
}
-
+
// MARK: - Core Data stack
-
+
lazy var applicationDocumentsDirectory: NSURL = {
- // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.CoreDataWithTableView" in the application's documents Application Support directory.
+ // The directory the application uses to store the Core Data store file. This code uses a directory named "es.carlosbutron.tst" in the application's documents Application Support directory.
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
- return urls[urls.count-1] as NSURL
- }()
-
+ return urls[urls.count-1]
+ }()
+
lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("CoreDataWithTableView", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
- }()
-
- lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
- // The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
+ }()
+
+ lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
+ // The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
- var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
- let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CoreDataWithTableView.sqlite")
- var error: NSError? = nil
+ let coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
+ let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
var failureReason = "There was an error creating or loading the application's saved data."
- if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
- coordinator = nil
+ do {
+ try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil)
+ } catch {
// Report any error we got.
- let dict = NSMutableDictionary()
+ var dict = [String: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
- dict[NSUnderlyingErrorKey] = error
- error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
+
+ dict[NSUnderlyingErrorKey] = error as NSError
+ let wrappedError = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ NSLog("Unresolved error \(wrappedError), \(wrappedError.userInfo)")
abort()
}
return coordinator
- }()
-
- lazy var managedObjectContext: NSManagedObjectContext? = {
+ }()
+
+ lazy var managedObjectContext: NSManagedObjectContext = {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.) This property is optional since there are legitimate error conditions that could cause the creation of the context to fail.
let coordinator = self.persistentStoreCoordinator
- if coordinator == nil {
- return nil
- }
- var managedObjectContext = NSManagedObjectContext()
+ var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
- }()
-
+ }()
+
// MARK: - Core Data Saving support
-
+
func saveContext () {
- if let moc = self.managedObjectContext {
- var error: NSError? = nil
- if moc.hasChanges && !moc.save(&error) {
+ if managedObjectContext.hasChanges {
+ do {
+ try managedObjectContext.save()
+ } catch {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
- NSLog("Unresolved error \(error), \(error!.userInfo)")
+ let nserror = error as NSError
+ NSLog("Unresolved error \(nserror), \(nserror.userInfo)")
abort()
}
}
}
-
+
}
diff --git a/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/LaunchScreen.xib b/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/Main.storyboard b/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
index 7d3649ef..4dc37884
--- a/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/Main.storyboard
+++ b/CoreDataWithTableView/CoreDataWithTableView/Base.lproj/Main.storyboard
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -51,8 +51,8 @@
-
-
+
+
diff --git a/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/.xccurrentversion b/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/.xccurrentversion
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/CoreDataWithTableView.xcdatamodel/contents b/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/CoreDataWithTableView.xcdatamodel/contents
index c8d047b4..b8bbad64 100644
--- a/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/CoreDataWithTableView.xcdatamodel/contents
+++ b/CoreDataWithTableView/CoreDataWithTableView/CoreDataWithTableView.xcdatamodeld/CoreDataWithTableView.xcdatamodel/contents
@@ -1,12 +1,12 @@
-
-
+
+
-
-
+
+
-
+
\ No newline at end of file
diff --git a/CoreDataWithTableView/CoreDataWithTableView/Images.xcassets/AppIcon.appiconset/Contents.json b/CoreDataWithTableView/CoreDataWithTableView/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/Info.plist b/CoreDataWithTableView/CoreDataWithTableView/Info.plist
old mode 100644
new mode 100755
index bebd69a0..6905cc67
--- a/CoreDataWithTableView/CoreDataWithTableView/Info.plist
+++ b/CoreDataWithTableView/CoreDataWithTableView/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreDataWithTableView/CoreDataWithTableView/MyTableViewCell.swift b/CoreDataWithTableView/CoreDataWithTableView/MyTableViewCell.swift
old mode 100644
new mode 100755
index 51c94787..425b5a93
--- a/CoreDataWithTableView/CoreDataWithTableView/MyTableViewCell.swift
+++ b/CoreDataWithTableView/CoreDataWithTableView/MyTableViewCell.swift
@@ -3,17 +3,25 @@
// CoreDataWithTableView
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class MyTableViewCell: UITableViewCell {
- @IBOutlet weak var titulo: UILabel!
+ @IBOutlet weak var title: UILabel!
@IBOutlet weak var director: UILabel!
@IBOutlet weak var year: UILabel!
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var myImage: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
diff --git a/CoreDataWithTableView/CoreDataWithTableView/ViewController.swift b/CoreDataWithTableView/CoreDataWithTableView/ViewController.swift
old mode 100644
new mode 100755
index ad3dd87e..b38dc165
--- a/CoreDataWithTableView/CoreDataWithTableView/ViewController.swift
+++ b/CoreDataWithTableView/CoreDataWithTableView/ViewController.swift
@@ -3,7 +3,15 @@
// CoreDataWithTableView
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -20,22 +28,24 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
override func viewDidLoad() {
super.viewDidLoad()
- appDel = UIApplication.sharedApplication().delegate as AppDelegate
- context = appDel.managedObjectContext!
+ appDel = UIApplication.sharedApplication().delegate as! AppDelegate
+ context = appDel.managedObjectContext
+
+ //Code to add a movie
+ let movie = NSEntityDescription.insertNewObjectForEntityForName("Movie", inManagedObjectContext: context)
+ movie.setValue("El Hobbit: Un viaje inesperado", forKey: "title")
+ movie.setValue("2013", forKey: "year")
+ movie.setValue("Peter Jackson", forKey: "director")
+ movie.setValue("hobbit.jpg", forKey: "image")
- //Codigo para añadir una pelicula
-// var pelicula = NSEntityDescription.insertNewObjectForEntityForName("Pelicula", inManagedObjectContext: context) as NSManagedObject
-// pelicula.setValue("El Hobbit: Un viaje inesperado", forKey: "titulo")
-// pelicula.setValue("2013", forKey: "year")
-// pelicula.setValue("Peter Jackson", forKey: "director")
-// pelicula.setValue("hobbit.jpg", forKey: "imagen")
-// if(!context.save(nil)){
-// println("Error!")
-// }
+ do {try context.save()}
+ catch {
+ print("Error!")
+ }
- loadTabla()
+ loadTable()
}
@@ -47,10 +57,10 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
}
- func loadTabla(){
- var request = NSFetchRequest(entityName: "Pelicula")
+ func loadTable(){
+ let request = NSFetchRequest(entityName: "Movie")
request.returnsObjectsAsFaults = false
- results = context.executeFetchRequest(request, error: nil)!
+ results = try! context.executeFetchRequest(request)
}
@@ -62,13 +72,13 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell: MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("MyTableViewCell") as MyTableViewCell
+ let cell: MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("MyTableViewCell") as! MyTableViewCell
- var aux = results[indexPath.row] as NSManagedObject
- cell.titulo.text = aux.valueForKey("titulo") as? String
+ let aux = results[indexPath.row] as! NSManagedObject
+ cell.title.text = aux.valueForKey("title") as? String
cell.director.text = aux.valueForKey("director") as? String
cell.year.text = aux.valueForKey("year") as? String
- cell.imagen.image = UIImage(named:aux.valueForKey("imagen") as String)
+ cell.myImage.image = UIImage(named:aux.valueForKey("image") as! String)
return cell
diff --git a/CoreDataWithTableView/CoreDataWithTableView/alien.jpg b/CoreDataWithTableView/CoreDataWithTableView/alien.jpg
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/godzilla.jpg b/CoreDataWithTableView/CoreDataWithTableView/godzilla.jpg
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/hobbit.jpg b/CoreDataWithTableView/CoreDataWithTableView/hobbit.jpg
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableView/jpark.jpg b/CoreDataWithTableView/CoreDataWithTableView/jpark.jpg
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableViewTests/CoreDataWithTableViewTests.swift b/CoreDataWithTableView/CoreDataWithTableViewTests/CoreDataWithTableViewTests.swift
old mode 100644
new mode 100755
diff --git a/CoreDataWithTableView/CoreDataWithTableViewTests/Info.plist b/CoreDataWithTableView/CoreDataWithTableViewTests/Info.plist
old mode 100644
new mode 100755
index 9462fbcd..ba72822e
--- a/CoreDataWithTableView/CoreDataWithTableViewTests/Info.plist
+++ b/CoreDataWithTableView/CoreDataWithTableViewTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreImage sample/CoreImage sample.xcodeproj/project.pbxproj b/CoreImage sample/CoreImage sample.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..1f6684c6
--- /dev/null
+++ b/CoreImage sample/CoreImage sample.xcodeproj/project.pbxproj
@@ -0,0 +1,512 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 077FC24D1BB469E200425068 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077FC24C1BB469E200425068 /* AppDelegate.swift */; };
+ 077FC24F1BB469E200425068 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077FC24E1BB469E200425068 /* ViewController.swift */; };
+ 077FC2521BB469E200425068 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 077FC2501BB469E200425068 /* Main.storyboard */; };
+ 077FC2541BB469E200425068 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077FC2531BB469E200425068 /* Assets.xcassets */; };
+ 077FC2571BB469E200425068 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 077FC2551BB469E200425068 /* LaunchScreen.storyboard */; };
+ 077FC2621BB469E200425068 /* CoreImage_sampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077FC2611BB469E200425068 /* CoreImage_sampleTests.swift */; };
+ 077FC26D1BB469E200425068 /* CoreImage_sampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077FC26C1BB469E200425068 /* CoreImage_sampleUITests.swift */; };
+ 077FC27B1BB469EE00425068 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 077FC27A1BB469EE00425068 /* CoreImage.framework */; };
+ 077FC27D1BB46AF500425068 /* image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 077FC27C1BB46AF500425068 /* image.jpg */; settings = {ASSET_TAGS = (); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 077FC25E1BB469E200425068 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 077FC2411BB469E200425068 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 077FC2481BB469E200425068;
+ remoteInfo = "CoreImage sample";
+ };
+ 077FC2691BB469E200425068 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 077FC2411BB469E200425068 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 077FC2481BB469E200425068;
+ remoteInfo = "CoreImage sample";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 077FC2491BB469E200425068 /* CoreImage sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CoreImage sample.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 077FC24C1BB469E200425068 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 077FC24E1BB469E200425068 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 077FC2511BB469E200425068 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 077FC2531BB469E200425068 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 077FC2561BB469E200425068 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 077FC2581BB469E200425068 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 077FC25D1BB469E200425068 /* CoreImage sampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CoreImage sampleTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 077FC2611BB469E200425068 /* CoreImage_sampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreImage_sampleTests.swift; sourceTree = ""; };
+ 077FC2631BB469E200425068 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 077FC2681BB469E200425068 /* CoreImage sampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CoreImage sampleUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 077FC26C1BB469E200425068 /* CoreImage_sampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreImage_sampleUITests.swift; sourceTree = ""; };
+ 077FC26E1BB469E200425068 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 077FC27A1BB469EE00425068 /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; };
+ 077FC27C1BB46AF500425068 /* image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image.jpg; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 077FC2461BB469E200425068 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC27B1BB469EE00425068 /* CoreImage.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC25A1BB469E200425068 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC2651BB469E200425068 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 077FC2401BB469E200425068 = {
+ isa = PBXGroup;
+ children = (
+ 077FC27A1BB469EE00425068 /* CoreImage.framework */,
+ 077FC24B1BB469E200425068 /* CoreImage sample */,
+ 077FC2601BB469E200425068 /* CoreImage sampleTests */,
+ 077FC26B1BB469E200425068 /* CoreImage sampleUITests */,
+ 077FC24A1BB469E200425068 /* Products */,
+ );
+ sourceTree = "";
+ };
+ 077FC24A1BB469E200425068 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 077FC2491BB469E200425068 /* CoreImage sample.app */,
+ 077FC25D1BB469E200425068 /* CoreImage sampleTests.xctest */,
+ 077FC2681BB469E200425068 /* CoreImage sampleUITests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 077FC24B1BB469E200425068 /* CoreImage sample */ = {
+ isa = PBXGroup;
+ children = (
+ 077FC27C1BB46AF500425068 /* image.jpg */,
+ 077FC24C1BB469E200425068 /* AppDelegate.swift */,
+ 077FC24E1BB469E200425068 /* ViewController.swift */,
+ 077FC2501BB469E200425068 /* Main.storyboard */,
+ 077FC2531BB469E200425068 /* Assets.xcassets */,
+ 077FC2551BB469E200425068 /* LaunchScreen.storyboard */,
+ 077FC2581BB469E200425068 /* Info.plist */,
+ );
+ path = "CoreImage sample";
+ sourceTree = "";
+ };
+ 077FC2601BB469E200425068 /* CoreImage sampleTests */ = {
+ isa = PBXGroup;
+ children = (
+ 077FC2611BB469E200425068 /* CoreImage_sampleTests.swift */,
+ 077FC2631BB469E200425068 /* Info.plist */,
+ );
+ path = "CoreImage sampleTests";
+ sourceTree = "";
+ };
+ 077FC26B1BB469E200425068 /* CoreImage sampleUITests */ = {
+ isa = PBXGroup;
+ children = (
+ 077FC26C1BB469E200425068 /* CoreImage_sampleUITests.swift */,
+ 077FC26E1BB469E200425068 /* Info.plist */,
+ );
+ path = "CoreImage sampleUITests";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 077FC2481BB469E200425068 /* CoreImage sample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 077FC2711BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sample" */;
+ buildPhases = (
+ 077FC2451BB469E200425068 /* Sources */,
+ 077FC2461BB469E200425068 /* Frameworks */,
+ 077FC2471BB469E200425068 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "CoreImage sample";
+ productName = "CoreImage sample";
+ productReference = 077FC2491BB469E200425068 /* CoreImage sample.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 077FC25C1BB469E200425068 /* CoreImage sampleTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 077FC2741BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sampleTests" */;
+ buildPhases = (
+ 077FC2591BB469E200425068 /* Sources */,
+ 077FC25A1BB469E200425068 /* Frameworks */,
+ 077FC25B1BB469E200425068 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 077FC25F1BB469E200425068 /* PBXTargetDependency */,
+ );
+ name = "CoreImage sampleTests";
+ productName = "CoreImage sampleTests";
+ productReference = 077FC25D1BB469E200425068 /* CoreImage sampleTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 077FC2671BB469E200425068 /* CoreImage sampleUITests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 077FC2771BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sampleUITests" */;
+ buildPhases = (
+ 077FC2641BB469E200425068 /* Sources */,
+ 077FC2651BB469E200425068 /* Frameworks */,
+ 077FC2661BB469E200425068 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 077FC26A1BB469E200425068 /* PBXTargetDependency */,
+ );
+ name = "CoreImage sampleUITests";
+ productName = "CoreImage sampleUITests";
+ productReference = 077FC2681BB469E200425068 /* CoreImage sampleUITests.xctest */;
+ productType = "com.apple.product-type.bundle.ui-testing";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 077FC2411BB469E200425068 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0700;
+ ORGANIZATIONNAME = "Carlos Butron";
+ TargetAttributes = {
+ 077FC2481BB469E200425068 = {
+ CreatedOnToolsVersion = 7.0;
+ };
+ 077FC25C1BB469E200425068 = {
+ CreatedOnToolsVersion = 7.0;
+ TestTargetID = 077FC2481BB469E200425068;
+ };
+ 077FC2671BB469E200425068 = {
+ CreatedOnToolsVersion = 7.0;
+ TestTargetID = 077FC2481BB469E200425068;
+ };
+ };
+ };
+ buildConfigurationList = 077FC2441BB469E200425068 /* Build configuration list for PBXProject "CoreImage sample" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 077FC2401BB469E200425068;
+ productRefGroup = 077FC24A1BB469E200425068 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 077FC2481BB469E200425068 /* CoreImage sample */,
+ 077FC25C1BB469E200425068 /* CoreImage sampleTests */,
+ 077FC2671BB469E200425068 /* CoreImage sampleUITests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 077FC2471BB469E200425068 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC2571BB469E200425068 /* LaunchScreen.storyboard in Resources */,
+ 077FC2541BB469E200425068 /* Assets.xcassets in Resources */,
+ 077FC2521BB469E200425068 /* Main.storyboard in Resources */,
+ 077FC27D1BB46AF500425068 /* image.jpg in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC25B1BB469E200425068 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC2661BB469E200425068 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 077FC2451BB469E200425068 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC24F1BB469E200425068 /* ViewController.swift in Sources */,
+ 077FC24D1BB469E200425068 /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC2591BB469E200425068 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC2621BB469E200425068 /* CoreImage_sampleTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 077FC2641BB469E200425068 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC26D1BB469E200425068 /* CoreImage_sampleUITests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 077FC25F1BB469E200425068 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 077FC2481BB469E200425068 /* CoreImage sample */;
+ targetProxy = 077FC25E1BB469E200425068 /* PBXContainerItemProxy */;
+ };
+ 077FC26A1BB469E200425068 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 077FC2481BB469E200425068 /* CoreImage sample */;
+ targetProxy = 077FC2691BB469E200425068 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 077FC2501BB469E200425068 /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 077FC2511BB469E200425068 /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 077FC2551BB469E200425068 /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 077FC2561BB469E200425068 /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 077FC26F1BB469E200425068 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ };
+ name = Debug;
+ };
+ 077FC2701BB469E200425068 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 077FC2721BB469E200425068 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "CoreImage sample/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sample";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 077FC2731BB469E200425068 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = "CoreImage sample/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sample";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 077FC2751BB469E200425068 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ INFOPLIST_FILE = "CoreImage sampleTests/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sampleTests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImage sample.app/CoreImage sample";
+ };
+ name = Debug;
+ };
+ 077FC2761BB469E200425068 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ INFOPLIST_FILE = "CoreImage sampleTests/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sampleTests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImage sample.app/CoreImage sample";
+ };
+ name = Release;
+ };
+ 077FC2781BB469E200425068 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "CoreImage sampleUITests/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sampleUITests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_TARGET_NAME = "CoreImage sample";
+ USES_XCTRUNNER = YES;
+ };
+ name = Debug;
+ };
+ 077FC2791BB469E200425068 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ INFOPLIST_FILE = "CoreImage sampleUITests/Info.plist";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.CoreImage-sampleUITests";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_TARGET_NAME = "CoreImage sample";
+ USES_XCTRUNNER = YES;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 077FC2441BB469E200425068 /* Build configuration list for PBXProject "CoreImage sample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 077FC26F1BB469E200425068 /* Debug */,
+ 077FC2701BB469E200425068 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 077FC2711BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 077FC2721BB469E200425068 /* Debug */,
+ 077FC2731BB469E200425068 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ 077FC2741BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sampleTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 077FC2751BB469E200425068 /* Debug */,
+ 077FC2761BB469E200425068 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ 077FC2771BB469E200425068 /* Build configuration list for PBXNativeTarget "CoreImage sampleUITests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 077FC2781BB469E200425068 /* Debug */,
+ 077FC2791BB469E200425068 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 077FC2411BB469E200425068 /* Project object */;
+}
diff --git a/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..0cd54d5d
--- /dev/null
+++ b/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..75117aa0
Binary files /dev/null and b/CoreImage sample/CoreImage sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage sample.xcscheme b/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage sample.xcscheme
new file mode 100644
index 00000000..34298d14
--- /dev/null
+++ b/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage sample.xcscheme
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..0777386d
--- /dev/null
+++ b/CoreImage sample/CoreImage sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ SchemeUserState
+
+ CoreImage sample.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 077FC2481BB469E200425068
+
+ primary
+
+
+ 077FC25C1BB469E200425068
+
+ primary
+
+
+ 077FC2671BB469E200425068
+
+ primary
+
+
+
+
+
diff --git a/AgendaBasica/AgendaBasica/AppDelegate.swift b/CoreImage sample/CoreImage sample/AppDelegate.swift
similarity index 94%
rename from AgendaBasica/AgendaBasica/AppDelegate.swift
rename to CoreImage sample/CoreImage sample/AppDelegate.swift
index 72e8d451..a88b6a5e 100644
--- a/AgendaBasica/AgendaBasica/AppDelegate.swift
+++ b/CoreImage sample/CoreImage sample/AppDelegate.swift
@@ -1,9 +1,9 @@
//
// AppDelegate.swift
-// AgendaBasica
+// CoreImage sample
//
-// Created by Carlos Butron on 30/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 24/09/15.
+// Copyright © 2015 Carlos Butron. All rights reserved.
//
import UIKit
diff --git a/CoreImage/CoreImage/Images.xcassets/AppIcon.appiconset/Contents.json b/CoreImage sample/CoreImage sample/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from CoreImage/CoreImage/Images.xcassets/AppIcon.appiconset/Contents.json
rename to CoreImage sample/CoreImage sample/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/CoreImage sample/CoreImage sample/Base.lproj/LaunchScreen.storyboard b/CoreImage sample/CoreImage sample/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 00000000..2e721e18
--- /dev/null
+++ b/CoreImage sample/CoreImage sample/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreImage/CoreImage/Base.lproj/Main.storyboard b/CoreImage sample/CoreImage sample/Base.lproj/Main.storyboard
similarity index 77%
rename from CoreImage/CoreImage/Base.lproj/Main.storyboard
rename to CoreImage sample/CoreImage sample/Base.lproj/Main.storyboard
index 4062f671..58b450f9 100644
--- a/CoreImage/CoreImage/Base.lproj/Main.storyboard
+++ b/CoreImage sample/CoreImage sample/Base.lproj/Main.storyboard
@@ -1,102 +1,106 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
diff --git a/MultiTarea/MultiTarea/Info.plist b/CoreImage sample/CoreImage sample/Info.plist
similarity index 94%
rename from MultiTarea/MultiTarea/Info.plist
rename to CoreImage sample/CoreImage sample/Info.plist
index bebd69a0..6905cc67 100644
--- a/MultiTarea/MultiTarea/Info.plist
+++ b/CoreImage sample/CoreImage sample/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreImage sample/CoreImage sample/ViewController.swift b/CoreImage sample/CoreImage sample/ViewController.swift
new file mode 100644
index 00000000..2b125b30
--- /dev/null
+++ b/CoreImage sample/CoreImage sample/ViewController.swift
@@ -0,0 +1,133 @@
+//
+// ViewController.swift
+// CoreImage sample
+//
+// Created by Carlos Butron on 24/09/15.
+// Copyright © 2015 Carlos Butron. All rights reserved.
+//
+
+import UIKit
+import CoreImage
+
+class ViewController: UIViewController {
+
+
+ //SLIDER TO FIRST AND SECOND FILTER
+ //when you do slider value change
+ //then push in filter button "sepia" or "vignette" to apply it
+
+ var sliderValue: Float = 0.0
+
+ @IBOutlet weak var myImage: UIImageView!
+
+ @IBAction func sepia(sender: UIButton) {
+ applyfilter(1);
+ }
+
+ @IBAction func vignette(sender: UIButton) {
+ applyfilter(2);
+ }
+
+
+ @IBAction func invert(sender: UIButton) {
+ applyfilter(3);
+ }
+
+ @IBAction func photo(sender: UIButton) {
+ applyfilter(4);
+ }
+
+ @IBAction func perspective(sender: UIButton) {
+ applyfilter(5);
+ }
+
+ @IBAction func gaussian(sender: UIButton) {
+ applyfilter(6);
+ }
+
+ @IBAction func slider(sender: UISlider) {
+
+ sliderValue = sender.value
+ }
+
+ 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.
+ }
+
+
+ func applyfilter(numberFilter: Int) {
+
+ let filePath : NSString = NSBundle.mainBundle().pathForResource("image", ofType: "jpg")!
+ let fileUrl : NSURL = NSURL (fileURLWithPath: filePath as String)
+ let inputImage : CIImage = CIImage (contentsOfURL: fileUrl)!
+
+ switch numberFilter {
+ case 1:
+ let filter = CIFilter(name: "CISepiaTone")
+ //var filter : CIFilter = CIFilter (name: "CISepiaTone")
+ filter!.setValue(inputImage, forKey: kCIInputImageKey)
+ filter!.setValue(sliderValue, forKey: "InputIntensity")
+ let outputImage : CIImage = filter!.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ case 2:
+ let filter : CIFilter = CIFilter (name: "CIVignette")!
+ filter.setValue(inputImage, forKey: kCIInputImageKey)
+ filter.setValue(sliderValue, forKey: "InputRadius")
+ filter.setValue(sliderValue, forKey: "InputIntensity")
+ let outputImage : CIImage = filter.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ case 3:
+ let filter : CIFilter = CIFilter (name: "CIColorInvert")!
+ filter.setValue(inputImage, forKey: kCIInputImageKey)
+ let outputImage : CIImage = filter.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ case 4:
+ let filter : CIFilter = CIFilter (name: "CIPhotoEffectMono")!
+ filter.setValue(inputImage, forKey: kCIInputImageKey)
+
+ let outputImage : CIImage = filter.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ case 5:
+ let filter : CIFilter = CIFilter (name: "CIPerspectiveTransform")!
+ filter.setValue(inputImage, forKey: kCIInputImageKey)
+
+ let outputImage : CIImage = filter.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ case 6:
+ let filter : CIFilter = CIFilter (name: "CIGaussianBlur")!
+ filter.setValue(inputImage, forKey: kCIInputImageKey)
+
+ let outputImage : CIImage = filter.valueForKey(kCIOutputImageKey) as! CIImage
+ let img : UIImage = UIImage (CIImage: outputImage)
+ myImage.image = img
+ default:
+ print("test")
+
+ }
+
+
+
+
+
+
+
+ }
+
+
+
+
+}
+
diff --git a/CoreImage/CoreImage/imagen.jpg b/CoreImage sample/CoreImage sample/image.jpg
similarity index 100%
rename from CoreImage/CoreImage/imagen.jpg
rename to CoreImage sample/CoreImage sample/image.jpg
diff --git a/CoreImage sample/CoreImage sampleTests/CoreImage_sampleTests.swift b/CoreImage sample/CoreImage sampleTests/CoreImage_sampleTests.swift
new file mode 100644
index 00000000..15f11588
--- /dev/null
+++ b/CoreImage sample/CoreImage sampleTests/CoreImage_sampleTests.swift
@@ -0,0 +1,36 @@
+//
+// CoreImage_sampleTests.swift
+// CoreImage sampleTests
+//
+// Created by Carlos Butron on 24/09/15.
+// Copyright © 2015 Carlos Butron. All rights reserved.
+//
+
+import XCTest
+@testable import CoreImage_sample
+
+class CoreImage_sampleTests: XCTestCase {
+
+ override func setUp() {
+ super.setUp()
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+ }
+
+ override func tearDown() {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ super.tearDown()
+ }
+
+ func testExample() {
+ // This is an example of a functional test case.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ }
+
+ func testPerformanceExample() {
+ // This is an example of a performance test case.
+ self.measureBlock {
+ // Put the code you want to measure the time of here.
+ }
+ }
+
+}
diff --git a/CoreImage/CoreImageTests/Info.plist b/CoreImage sample/CoreImage sampleTests/Info.plist
similarity index 90%
rename from CoreImage/CoreImageTests/Info.plist
rename to CoreImage sample/CoreImage sampleTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreImage/CoreImageTests/Info.plist
+++ b/CoreImage sample/CoreImage sampleTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreImage sample/CoreImage sampleUITests/CoreImage_sampleUITests.swift b/CoreImage sample/CoreImage sampleUITests/CoreImage_sampleUITests.swift
new file mode 100644
index 00000000..26e8cfad
--- /dev/null
+++ b/CoreImage sample/CoreImage sampleUITests/CoreImage_sampleUITests.swift
@@ -0,0 +1,36 @@
+//
+// CoreImage_sampleUITests.swift
+// CoreImage sampleUITests
+//
+// Created by Carlos Butron on 24/09/15.
+// Copyright © 2015 Carlos Butron. All rights reserved.
+//
+
+import XCTest
+
+class CoreImage_sampleUITests: XCTestCase {
+
+ override func setUp() {
+ super.setUp()
+
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+
+ // In UI tests it is usually best to stop immediately when a failure occurs.
+ continueAfterFailure = false
+ // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
+ XCUIApplication().launch()
+
+ // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
+ }
+
+ override func tearDown() {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ super.tearDown()
+ }
+
+ func testExample() {
+ // Use recording to get started writing UI tests.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ }
+
+}
diff --git a/CoreImage sample/CoreImage sampleUITests/Info.plist b/CoreImage sample/CoreImage sampleUITests/Info.plist
new file mode 100644
index 00000000..ba72822e
--- /dev/null
+++ b/CoreImage sample/CoreImage sampleUITests/Info.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/CoreImage/CoreImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreImage/CoreImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index 4971f59b..00000000
Binary files a/CoreImage/CoreImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/CoreImage/CoreImage/ViewController.swift b/CoreImage/CoreImage/ViewController.swift
deleted file mode 100644
index 6dd97796..00000000
--- a/CoreImage/CoreImage/ViewController.swift
+++ /dev/null
@@ -1,133 +0,0 @@
-//
-// ViewController.swift
-// CoreImage
-//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-import CoreImage
-
-
-class ViewController: UIViewController {
-
-
- //SLIDER APLICADA A LOS DOS PRIMEROS FILTROS
- //el funcionamiento es el siguiente: al cambiar el slider cambia el valor
- //una vez cambiado hay que volver a pulsar sobre el botón del filtro "sepia" o "vignette" para que se aplique
-
- var sliderValue: Float = 0.0
-
- @IBOutlet weak var imagen: UIImageView!
-
- @IBAction func sepia(sender: UIButton) {
- applyfilter(1);
- }
-
- @IBAction func vignette(sender: UIButton) {
- applyfilter(2);
- }
-
-
- @IBAction func invert(sender: UIButton) {
- applyfilter(3);
- }
-
- @IBAction func photo(sender: UIButton) {
- applyfilter(4);
- }
-
- @IBAction func perspective(sender: UIButton) {
- applyfilter(5);
- }
-
- @IBAction func gaussian(sender: UIButton) {
- applyfilter(6);
- }
-
- @IBAction func slider(sender: UISlider) {
-
- sliderValue = sender.value
- }
-
- 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.
- }
-
-
- func applyfilter(numberFilter: Int) {
-
- let filePath : NSString = NSBundle.mainBundle().pathForResource("imagen", ofType: "jpg")!
- let fileUrl : NSURL = NSURL (fileURLWithPath: filePath)!
- let inputImage : CIImage = CIImage (contentsOfURL: fileUrl)
-
- switch numberFilter {
- case 1:
- var filtro : CIFilter = CIFilter (name: "CISepiaTone")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
- //filtro.setValue(1.0, forKey: "InputIntensity")
- filtro.setValue(sliderValue, forKey: "InputIntensity")
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- case 2:
- var filtro : CIFilter = CIFilter (name: "CIVignette")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
- filtro.setValue(sliderValue, forKey: "InputRadius")
- filtro.setValue(sliderValue, forKey: "InputIntensity")
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- case 3:
- var filtro : CIFilter = CIFilter (name: "CIColorInvert")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- case 4:
- var filtro : CIFilter = CIFilter (name: "CIPhotoEffectMono")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
-
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- case 5:
- var filtro : CIFilter = CIFilter (name: "CIPerspectiveTransform")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
-
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- case 6:
- var filtro : CIFilter = CIFilter (name: "CIGaussianBlur")
- filtro.setValue(inputImage, forKey: kCIInputImageKey)
-
- let outputImage : CIImage = filtro.valueForKey(kCIOutputImageKey) as CIImage
- var img : UIImage = UIImage (CIImage: outputImage)!
- imagen.image = img
- default:
- println("test")
-
- }
-
-
-
-
-
-
-
- }
-
-
-
-
-}
diff --git a/CoreImageCIDetector/.DS_Store b/CoreImageCIDetector/.DS_Store
new file mode 100644
index 00000000..c928aeff
Binary files /dev/null and b/CoreImageCIDetector/.DS_Store differ
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.pbxproj b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.pbxproj
index 407ac474..989cfef7 100644
--- a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.pbxproj
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.pbxproj
@@ -159,7 +159,9 @@
075FD4611A34D2E800513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD4681A34D2E800513A3A = {
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreImageCIDetector/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = CoreImageCIDetector/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = CoreImageCIDetectorTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImageCIDetector.app/CoreImageCIDetector";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = CoreImageCIDetectorTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImageCIDetector.app/CoreImageCIDetector";
};
@@ -409,6 +418,7 @@
075FD48A1A34D2E900513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD48B1A34D2E900513A3A /* Build configuration list for PBXNativeTarget "CoreImageCIDetectorTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
075FD48D1A34D2E900513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcshareddata/CoreImageCIDetector.xccheckout b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcshareddata/CoreImageCIDetector.xccheckout
new file mode 100644
index 00000000..167824d9
--- /dev/null
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcshareddata/CoreImageCIDetector.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ A15A31D0-7CEC-4B9F-95C3-52B2F7BC5EEA
+ IDESourceControlProjectName
+ CoreImageCIDetector
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreImageCIDetector/CoreImageCIDetector.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 218b6215..e39578e9 100644
Binary files a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..643bb0f5
Binary files /dev/null and b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..b35e253b
--- /dev/null
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector 2.xcscheme b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector 2.xcscheme
new file mode 100644
index 00000000..6f9c6292
--- /dev/null
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme
index 9049e8f7..07e34dcd 100644
--- a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:CoreImageCIDetector.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ CoreImageCIDetector 2.xcscheme
+
+ orderHint
+ 1
+
CoreImageCIDetector.xcscheme
orderHint
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme
new file mode 100644
index 00000000..4de9408f
--- /dev/null
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreImageCIDetector.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..5ddb5543
--- /dev/null
+++ b/CoreImageCIDetector/CoreImageCIDetector.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreImageCIDetector.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD4681A34D2E800513A3A
+
+ primary
+
+
+ 075FD47D1A34D2E900513A3A
+
+ primary
+
+
+
+
+
diff --git a/CoreImageCIDetector/CoreImageCIDetector/AppDelegate.swift b/CoreImageCIDetector/CoreImageCIDetector/AppDelegate.swift
index cb5caf4f..ad4b3e0a 100644
--- a/CoreImageCIDetector/CoreImageCIDetector/AppDelegate.swift
+++ b/CoreImageCIDetector/CoreImageCIDetector/AppDelegate.swift
@@ -3,7 +3,15 @@
// CoreImageCIDetector
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/CoreImageCIDetector/CoreImageCIDetector/Info.plist b/CoreImageCIDetector/CoreImageCIDetector/Info.plist
index bebd69a0..6905cc67 100644
--- a/CoreImageCIDetector/CoreImageCIDetector/Info.plist
+++ b/CoreImageCIDetector/CoreImageCIDetector/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreImageCIDetector/CoreImageCIDetector/ViewController.swift b/CoreImageCIDetector/CoreImageCIDetector/ViewController.swift
index 81ede89d..d2833133 100644
--- a/CoreImageCIDetector/CoreImageCIDetector/ViewController.swift
+++ b/CoreImageCIDetector/CoreImageCIDetector/ViewController.swift
@@ -3,7 +3,15 @@
// CoreImageCIDetector
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -16,36 +24,36 @@ class ViewController: UIViewController {
override func viewDidLoad() {
filePath = NSBundle.mainBundle().pathForResource("emotions", ofType: "jpg")!
- fileNameAndPath = NSURL.fileURLWithPath(filePath)!
- image = CIImage(contentsOfURL:fileNameAndPath)
- var context = CIContext(options: nil)
- var options = NSDictionary(object: CIDetectorAccuracyHigh, forKey: CIDetectorAccuracy)
- var detector = CIDetector(ofType: CIDetectorTypeFace, context: context, options: options)
- var features: NSArray = detector.featuresInImage(image, options: [CIDetectorSmile:true,CIDetectorEyeBlink:true])
- var imageView = UIImageView(image: UIImage(named: "emotions.jpg"))
+ fileNameAndPath = NSURL.fileURLWithPath(filePath as String)
+ image = CIImage(contentsOfURL:fileNameAndPath)!
+ let context = CIContext(options: nil)
+ let options = NSDictionary(object: CIDetectorAccuracyHigh, forKey: CIDetectorAccuracy)
+ let detector = CIDetector(ofType: CIDetectorTypeFace, context: context, options: options as? [String : AnyObject] )
+ let features: NSArray = detector.featuresInImage(image, options: [CIDetectorSmile:true,CIDetectorEyeBlink:true])
+ let imageView = UIImageView(image: UIImage(named: "emotions.jpg"))
self.view.addSubview(imageView)
- //Vista auxiliar que luego invertiremos.
- var vistAux = UIView(frame: imageView.frame)
+ //auxiliar view to invert.
+ let vistAux = UIView(frame: imageView.frame)
for faceFeature in features {
- //Detección
- var smile = faceFeature.hasSmile
- var rightEyeBlinking = faceFeature.rightEyeClosed
- var leftEyeBlinking = faceFeature.leftEyeClosed
+ //Detection
+ let smile = faceFeature.hasSmile
+ let rightEyeBlinking = faceFeature.rightEyeClosed
+ let leftEyeBlinking = faceFeature.leftEyeClosed
- //Localizar la cara
+ //Face location
let faceRect = faceFeature.bounds
- var faceView = UIView(frame: faceRect)
+ let faceView = UIView(frame: faceRect)
faceView.layer.borderWidth = 2
faceView.layer.borderColor = UIColor.redColor().CGColor
- var faceWidth:CGFloat = faceRect.size.width
- var faceHeight:CGFloat = faceRect.size.height
+ let faceWidth:CGFloat = faceRect.size.width
+ let faceHeight:CGFloat = faceRect.size.height
vistAux.addSubview(faceView)
- //Localizar sonrisa
+ //Smile location
if (smile==true) {
- var smileView = UIView(frame: CGRectMake(faceFeature.mouthPosition.x-faceWidth*0.18, faceFeature.mouthPosition.y-faceHeight*0.1, faceWidth*0.4, faceHeight*0.2))
+ let smileView = UIView(frame: CGRectMake(faceFeature.mouthPosition.x-faceWidth*0.18, faceFeature.mouthPosition.y-faceHeight*0.1, faceWidth*0.4, faceHeight*0.2))
smileView.layer.cornerRadius = faceWidth*0.1
smileView.layer.borderWidth = 2
smileView.layer.borderColor = UIColor.greenColor().CGColor
@@ -54,9 +62,9 @@ class ViewController: UIViewController {
vistAux.addSubview(smileView)
}
- //Localizar ojo derecho
+ //Right eye location
- var rightEyeView = UIView(frame: CGRectMake(faceFeature.rightEyePosition.x-faceWidth*0.2, faceFeature.rightEyePosition.y-faceWidth*0.2, faceWidth*0.4, faceWidth*0.4))
+ let rightEyeView = UIView(frame: CGRectMake(faceFeature.rightEyePosition.x-faceWidth*0.2, faceFeature.rightEyePosition.y-faceWidth*0.2, faceWidth*0.4, faceWidth*0.4))
rightEyeView.layer.cornerRadius = faceWidth*0.2
rightEyeView.layer.borderWidth = 2
rightEyeView.layer.borderColor = UIColor.redColor().CGColor
@@ -69,9 +77,9 @@ class ViewController: UIViewController {
vistAux.addSubview(rightEyeView)
- //Localizar ojo izquierdo
+ //Left eye location
- var leftEyeView = UIView(frame: CGRectMake(faceFeature.leftEyePosition.x-faceWidth*0.2, faceFeature.leftEyePosition.y-faceWidth*0.2, faceWidth*0.4, faceWidth*0.4))
+ let leftEyeView = UIView(frame: CGRectMake(faceFeature.leftEyePosition.x-faceWidth*0.2, faceFeature.leftEyePosition.y-faceWidth*0.2, faceWidth*0.4, faceWidth*0.4))
leftEyeView.layer.cornerRadius = faceWidth*0.2
leftEyeView.layer.borderWidth = 2
leftEyeView.layer.borderColor = UIColor.blueColor().CGColor
@@ -90,7 +98,7 @@ class ViewController: UIViewController {
self.view.addSubview(vistAux)
- //Invertimos el Eje de Coordenadas
+ //Invert coords
vistAux.transform = CGAffineTransformMakeScale(1, -1)
super.viewDidLoad()
diff --git a/CoreImageCIDetector/CoreImageCIDetectorTests/Info.plist b/CoreImageCIDetector/CoreImageCIDetectorTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/CoreImageCIDetector/CoreImageCIDetectorTests/Info.plist
+++ b/CoreImageCIDetector/CoreImageCIDetectorTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/CoreLocation/.DS_Store b/CoreLocation/.DS_Store
new file mode 100644
index 00000000..2b98a060
Binary files /dev/null and b/CoreLocation/.DS_Store differ
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/project.pbxproj b/CoreLocation/CoreLocation sample.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..c3cd581a
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/project.pbxproj
@@ -0,0 +1,446 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 077FC23F1BB468CF00425068 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0783DB3D1A43B174002C4A7D /* CoreLocation.framework */; };
+ 0783DB1C1A43B145002C4A7D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0783DB1B1A43B145002C4A7D /* AppDelegate.swift */; };
+ 0783DB1E1A43B145002C4A7D /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0783DB1D1A43B145002C4A7D /* ViewController.swift */; };
+ 0783DB211A43B145002C4A7D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0783DB1F1A43B145002C4A7D /* Main.storyboard */; };
+ 0783DB231A43B145002C4A7D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0783DB221A43B145002C4A7D /* Images.xcassets */; };
+ 0783DB261A43B145002C4A7D /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0783DB241A43B145002C4A7D /* LaunchScreen.xib */; };
+ 0783DB321A43B145002C4A7D /* CoreLocationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0783DB311A43B145002C4A7D /* CoreLocationTests.swift */; };
+ 0783DB3C1A43B169002C4A7D /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0783DB3B1A43B169002C4A7D /* MapKit.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 0783DB2C1A43B145002C4A7D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 0783DB0E1A43B145002C4A7D /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0783DB151A43B145002C4A7D;
+ remoteInfo = CoreLocation;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 0783DB161A43B145002C4A7D /* CoreLocation sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CoreLocation sample.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0783DB1A1A43B145002C4A7D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 0783DB1B1A43B145002C4A7D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 0783DB1D1A43B145002C4A7D /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 0783DB201A43B145002C4A7D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 0783DB221A43B145002C4A7D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ 0783DB251A43B145002C4A7D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
+ 0783DB2B1A43B145002C4A7D /* CoreLocation sample.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CoreLocation sample.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0783DB301A43B145002C4A7D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 0783DB311A43B145002C4A7D /* CoreLocationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreLocationTests.swift; sourceTree = ""; };
+ 0783DB3B1A43B169002C4A7D /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
+ 0783DB3D1A43B174002C4A7D /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 0783DB131A43B145002C4A7D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 077FC23F1BB468CF00425068 /* CoreLocation.framework in Frameworks */,
+ 0783DB3C1A43B169002C4A7D /* MapKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0783DB281A43B145002C4A7D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 0783DB0D1A43B145002C4A7D = {
+ isa = PBXGroup;
+ children = (
+ 0783DB3D1A43B174002C4A7D /* CoreLocation.framework */,
+ 0783DB3B1A43B169002C4A7D /* MapKit.framework */,
+ 0783DB181A43B145002C4A7D /* CoreLocation */,
+ 0783DB2E1A43B145002C4A7D /* CoreLocationTests */,
+ 0783DB171A43B145002C4A7D /* Products */,
+ );
+ sourceTree = "";
+ };
+ 0783DB171A43B145002C4A7D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 0783DB161A43B145002C4A7D /* CoreLocation sample.app */,
+ 0783DB2B1A43B145002C4A7D /* CoreLocation sample.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 0783DB181A43B145002C4A7D /* CoreLocation */ = {
+ isa = PBXGroup;
+ children = (
+ 0783DB1B1A43B145002C4A7D /* AppDelegate.swift */,
+ 0783DB1D1A43B145002C4A7D /* ViewController.swift */,
+ 0783DB1F1A43B145002C4A7D /* Main.storyboard */,
+ 0783DB221A43B145002C4A7D /* Images.xcassets */,
+ 0783DB241A43B145002C4A7D /* LaunchScreen.xib */,
+ 0783DB191A43B145002C4A7D /* Supporting Files */,
+ );
+ path = CoreLocation;
+ sourceTree = "";
+ };
+ 0783DB191A43B145002C4A7D /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 0783DB1A1A43B145002C4A7D /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 0783DB2E1A43B145002C4A7D /* CoreLocationTests */ = {
+ isa = PBXGroup;
+ children = (
+ 0783DB311A43B145002C4A7D /* CoreLocationTests.swift */,
+ 0783DB2F1A43B145002C4A7D /* Supporting Files */,
+ );
+ path = CoreLocationTests;
+ sourceTree = "";
+ };
+ 0783DB2F1A43B145002C4A7D /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 0783DB301A43B145002C4A7D /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 0783DB151A43B145002C4A7D /* CoreLocation sample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0783DB351A43B146002C4A7D /* Build configuration list for PBXNativeTarget "CoreLocation sample" */;
+ buildPhases = (
+ 0783DB121A43B145002C4A7D /* Sources */,
+ 0783DB131A43B145002C4A7D /* Frameworks */,
+ 0783DB141A43B145002C4A7D /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "CoreLocation sample";
+ productName = CoreLocation;
+ productReference = 0783DB161A43B145002C4A7D /* CoreLocation sample.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 0783DB2A1A43B145002C4A7D /* CoreLocation sampleTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 0783DB381A43B146002C4A7D /* Build configuration list for PBXNativeTarget "CoreLocation sampleTests" */;
+ buildPhases = (
+ 0783DB271A43B145002C4A7D /* Sources */,
+ 0783DB281A43B145002C4A7D /* Frameworks */,
+ 0783DB291A43B145002C4A7D /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 0783DB2D1A43B145002C4A7D /* PBXTargetDependency */,
+ );
+ name = "CoreLocation sampleTests";
+ productName = CoreLocationTests;
+ productReference = 0783DB2B1A43B145002C4A7D /* CoreLocation sample.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 0783DB0E1A43B145002C4A7D /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
+ ORGANIZATIONNAME = "Carlos Butron";
+ TargetAttributes = {
+ 0783DB151A43B145002C4A7D = {
+ CreatedOnToolsVersion = 6.2;
+ SystemCapabilities = {
+ com.apple.Maps.iOS = {
+ enabled = 1;
+ };
+ };
+ };
+ 0783DB2A1A43B145002C4A7D = {
+ CreatedOnToolsVersion = 6.2;
+ TestTargetID = 0783DB151A43B145002C4A7D;
+ };
+ };
+ };
+ buildConfigurationList = 0783DB111A43B145002C4A7D /* Build configuration list for PBXProject "CoreLocation sample" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 0783DB0D1A43B145002C4A7D;
+ productRefGroup = 0783DB171A43B145002C4A7D /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 0783DB151A43B145002C4A7D /* CoreLocation sample */,
+ 0783DB2A1A43B145002C4A7D /* CoreLocation sampleTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 0783DB141A43B145002C4A7D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0783DB211A43B145002C4A7D /* Main.storyboard in Resources */,
+ 0783DB261A43B145002C4A7D /* LaunchScreen.xib in Resources */,
+ 0783DB231A43B145002C4A7D /* Images.xcassets in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0783DB291A43B145002C4A7D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 0783DB121A43B145002C4A7D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0783DB1E1A43B145002C4A7D /* ViewController.swift in Sources */,
+ 0783DB1C1A43B145002C4A7D /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 0783DB271A43B145002C4A7D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0783DB321A43B145002C4A7D /* CoreLocationTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 0783DB2D1A43B145002C4A7D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 0783DB151A43B145002C4A7D /* CoreLocation sample */;
+ targetProxy = 0783DB2C1A43B145002C4A7D /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 0783DB1F1A43B145002C4A7D /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 0783DB201A43B145002C4A7D /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 0783DB241A43B145002C4A7D /* LaunchScreen.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 0783DB251A43B145002C4A7D /* Base */,
+ );
+ name = LaunchScreen.xib;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 0783DB331A43B146002C4A7D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ };
+ name = Debug;
+ };
+ 0783DB341A43B146002C4A7D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 0783DB361A43B146002C4A7D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = CoreLocation/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "CoreLocation sample";
+ };
+ name = Debug;
+ };
+ 0783DB371A43B146002C4A7D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = CoreLocation/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "CoreLocation sample";
+ };
+ name = Release;
+ };
+ 0783DB391A43B146002C4A7D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = CoreLocationTests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "CoreLocation sample";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreLocation sample.app/CoreLocation sample";
+ };
+ name = Debug;
+ };
+ 0783DB3A1A43B146002C4A7D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = CoreLocationTests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "CoreLocation sample";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreLocation sample.app/CoreLocation sample";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 0783DB111A43B145002C4A7D /* Build configuration list for PBXProject "CoreLocation sample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0783DB331A43B146002C4A7D /* Debug */,
+ 0783DB341A43B146002C4A7D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 0783DB351A43B146002C4A7D /* Build configuration list for PBXNativeTarget "CoreLocation sample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0783DB361A43B146002C4A7D /* Debug */,
+ 0783DB371A43B146002C4A7D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 0783DB381A43B146002C4A7D /* Build configuration list for PBXNativeTarget "CoreLocation sampleTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 0783DB391A43B146002C4A7D /* Debug */,
+ 0783DB3A1A43B146002C4A7D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 0783DB0E1A43B145002C4A7D /* Project object */;
+}
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..98ad2255
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcshareddata/CoreLocation.xccheckout b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcshareddata/CoreLocation.xccheckout
new file mode 100644
index 00000000..715f1d1d
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcshareddata/CoreLocation.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ D4280674-8839-4610-AA85-BD55B9E35ADD
+ IDESourceControlProjectName
+ CoreLocation
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ CoreLocation/CoreLocation.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..20b94048
Binary files /dev/null and b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..b0987f14
Binary files /dev/null and b/CoreLocation/CoreLocation sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation 2.xcscheme b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation 2.xcscheme
new file mode 100644
index 00000000..1f4079f4
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation sample.xcscheme b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation sample.xcscheme
new file mode 100644
index 00000000..1f4079f4
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation sample.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation.xcscheme b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation.xcscheme
new file mode 100644
index 00000000..66a71437
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreLocation.xcscheme
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..97f66b70
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,37 @@
+
+
+
+
+ SchemeUserState
+
+ CoreLocation 2.xcscheme
+
+ orderHint
+ 1
+
+ CoreLocation sample.xcscheme
+
+ orderHint
+ 2
+
+ CoreLocation.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0783DB151A43B145002C4A7D
+
+ primary
+
+
+ 0783DB2A1A43B145002C4A7D
+
+ primary
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreLocation.xcscheme b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreLocation.xcscheme
new file mode 100644
index 00000000..b7492324
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/CoreLocation.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..a24747b6
--- /dev/null
+++ b/CoreLocation/CoreLocation sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ CoreLocation.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0783DB151A43B145002C4A7D
+
+ primary
+
+
+ 0783DB2A1A43B145002C4A7D
+
+ primary
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation/AppDelegate.swift b/CoreLocation/CoreLocation/AppDelegate.swift
new file mode 100644
index 00000000..e1bf5f7f
--- /dev/null
+++ b/CoreLocation/CoreLocation/AppDelegate.swift
@@ -0,0 +1,54 @@
+//
+// AppDelegate.swift
+// CoreLocation
+//
+// Created by Carlos Butron on 19/12/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+
+ func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
+ // Override point for customization after application launch.
+ return true
+ }
+
+ func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ }
+
+ func applicationDidEnterBackground(application: 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) {
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+ }
+
+ func applicationDidBecomeActive(application: 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) {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+ }
+
+
+}
+
diff --git a/CoreLocation/CoreLocation/Base.lproj/LaunchScreen.xib b/CoreLocation/CoreLocation/Base.lproj/LaunchScreen.xib
new file mode 100644
index 00000000..3307ac71
--- /dev/null
+++ b/CoreLocation/CoreLocation/Base.lproj/LaunchScreen.xib
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CoreLocation/CoreLocation/Base.lproj/Main.storyboard b/CoreLocation/CoreLocation/Base.lproj/Main.storyboard
new file mode 100644
index 00000000..690b951d
--- /dev/null
+++ b/CoreLocation/CoreLocation/Base.lproj/Main.storyboard
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MultiTarea/MultiTarea/Images.xcassets/AppIcon.appiconset/Contents.json b/CoreLocation/CoreLocation/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from MultiTarea/MultiTarea/Images.xcassets/AppIcon.appiconset/Contents.json
rename to CoreLocation/CoreLocation/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/CoreLocation/CoreLocation/Info.plist b/CoreLocation/CoreLocation/Info.plist
new file mode 100644
index 00000000..69cb2d4f
--- /dev/null
+++ b/CoreLocation/CoreLocation/Info.plist
@@ -0,0 +1,42 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ NSLocationAlwaysUsageDescription
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/CoreLocation/CoreLocation/ViewController.swift b/CoreLocation/CoreLocation/ViewController.swift
new file mode 100644
index 00000000..73e172cd
--- /dev/null
+++ b/CoreLocation/CoreLocation/ViewController.swift
@@ -0,0 +1,176 @@
+//
+// ViewController.swift
+// CoreLocation
+//
+// Created by Carlos Butron on 19/12/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+import CoreLocation
+import MapKit
+
+
+class ViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate {
+
+ @IBOutlet weak var myMap: MKMapView!
+ let locationManager: CLLocationManager = CLLocationManager()
+ var myLatitude: CLLocationDegrees!
+ var myLongitude: CLLocationDegrees!
+ var finalLatitude: CLLocationDegrees!
+ var finalLongitude: CLLocationDegrees!
+ var distance: CLLocationDistance!
+
+
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ locationManager.delegate = self
+ locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
+ locationManager.requestAlwaysAuthorization()
+ locationManager.startUpdatingLocation()
+
+
+ let tap = UITapGestureRecognizer(target: self, action: "action:")
+
+ myMap.addGestureRecognizer(tap)
+
+
+ }
+
+ func action(gestureRecognizer:UIGestureRecognizer) {
+ let touchPoint = gestureRecognizer.locationInView(self.myMap)
+ let newCoord:CLLocationCoordinate2D = myMap.convertPoint(touchPoint, toCoordinateFromView: self.myMap)
+
+ let getLat: CLLocationDegrees = newCoord.latitude
+ let getLon: CLLocationDegrees = newCoord.longitude
+
+ //Convert to points to CLLocation. In this way we can measure distanceFromLocation
+ let newCoord2: CLLocation = CLLocation(latitude: getLat, longitude: getLon)
+
+ let newCoord3: CLLocation = CLLocation(latitude: myLatitude, longitude: myLongitude)
+
+ finalLatitude = newCoord2.coordinate.latitude
+ finalLongitude = newCoord2.coordinate.longitude
+ print("Original Latitude: \(myLatitude)")
+ print("Original Longitude: \(myLongitude)")
+ print("Final Latitude: \(finalLatitude)")
+ print("Final Longitude: \(finalLongitude)")
+
+
+
+ //distance between our position and the new point created
+ let distance = newCoord2.distanceFromLocation(newCoord3)
+ print("Distance between two points: \(distance)")
+
+
+ let newAnnotation = MKPointAnnotation()
+ newAnnotation.coordinate = newCoord
+ newAnnotation.title = "My target"
+ newAnnotation.subtitle = ""
+ myMap.addAnnotation(newAnnotation)
+
+ }
+
+
+ func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
+ CLGeocoder().reverseGeocodeLocation(manager.location!, completionHandler: {(placemarks, error)->Void in
+
+ if (error != nil) {
+ print("Reverse geocoder failed with error" + error!.localizedDescription)
+ return
+ }
+
+ if placemarks!.count > 0 {
+ let pm = placemarks![0] as CLPlacemark
+ self.displayLocationInfo(pm)
+ } else {
+ print("Problem with the data received from geocoder")
+ }
+ })
+ }
+
+ func displayLocationInfo(placemark: CLPlacemark?) {
+ if let containsPlacemark = placemark {
+ //stop updating location to save battery life
+ locationManager.stopUpdatingLocation()
+
+ //get data from placemark
+ let locality = (containsPlacemark.locality != nil) ? containsPlacemark.locality : ""
+ let postalCode = (containsPlacemark.postalCode != nil) ? containsPlacemark.postalCode : ""
+ let administrativeArea = (containsPlacemark.administrativeArea != nil) ? containsPlacemark.administrativeArea : ""
+ let country = (containsPlacemark.country != nil) ? containsPlacemark.country : ""
+ myLongitude = (containsPlacemark.location!.coordinate.longitude)
+ myLatitude = (containsPlacemark.location!.coordinate.latitude)
+
+
+ // testing show data
+ print("Locality: \(locality)")
+ print("PostalCode: \(postalCode)")
+ print("Area: \(administrativeArea)")
+ print("Country: \(country)")
+ print(myLatitude)
+ print(myLongitude)
+
+ //update map with my location
+ let theSpan:MKCoordinateSpan = MKCoordinateSpanMake(0.1 , 0.1)
+ let location:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: myLatitude, longitude: myLongitude)
+ let theRegion:MKCoordinateRegion = MKCoordinateRegionMake(location, theSpan)
+
+ myMap.setRegion(theRegion, animated: true)
+
+ }
+
+ }
+
+ func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
+ print("Error while updating location " + error.localizedDescription)
+ }
+
+ //distance between two points
+
+ func degreesToRadians(degrees: Double) -> Double { return degrees * M_PI / 180.0 }
+ func radiansToDegrees(radians: Double) -> Double { return radians * 180.0 / M_PI }
+
+ func getBearingBetweenTwoPoints1(point1 : CLLocation, point2 : CLLocation) -> Double {
+
+ let lat1 = degreesToRadians(point1.coordinate.latitude)
+ let lon1 = degreesToRadians(point1.coordinate.longitude)
+
+ let lat2 = degreesToRadians(point2.coordinate.latitude);
+ let lon2 = degreesToRadians(point2.coordinate.longitude);
+
+ print("Start latitude: \(point1.coordinate.latitude)")
+ print("Start longitude: \(point1.coordinate.longitude)")
+ print("Final latitude: \(point2.coordinate.latitude)")
+ print("Final longitude: \(point2.coordinate.longitude)")
+
+ let dLon = lon2 - lon1;
+
+ let y = sin(dLon) * cos(lat2);
+ let x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dLon);
+ let radiansBearing = atan2(y, x);
+
+ return radiansToDegrees(radiansBearing)
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+}
+
+
+
+
+
diff --git a/AgendaBasica/AgendaBasicaTests/AgendaBasicaTests.swift b/CoreLocation/CoreLocationTests/CoreLocationTests.swift
similarity index 85%
rename from AgendaBasica/AgendaBasicaTests/AgendaBasicaTests.swift
rename to CoreLocation/CoreLocationTests/CoreLocationTests.swift
index 95c89f72..095fe7b5 100644
--- a/AgendaBasica/AgendaBasicaTests/AgendaBasicaTests.swift
+++ b/CoreLocation/CoreLocationTests/CoreLocationTests.swift
@@ -1,15 +1,15 @@
//
-// AgendaBasicaTests.swift
-// AgendaBasicaTests
+// CoreLocationTests.swift
+// CoreLocationTests
//
-// Created by Carlos Butron on 30/11/14.
+// Created by Carlos Butron on 19/12/14.
// Copyright (c) 2014 Carlos Butron. All rights reserved.
//
import UIKit
import XCTest
-class AgendaBasicaTests: XCTestCase {
+class CoreLocationTests: XCTestCase {
override func setUp() {
super.setUp()
diff --git a/CoreLocation/CoreLocationTests/Info.plist b/CoreLocation/CoreLocationTests/Info.plist
new file mode 100644
index 00000000..ae326a35
--- /dev/null
+++ b/CoreLocation/CoreLocationTests/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ NSLocationAlwaysUsageDescription
+
+
+
diff --git a/DelegateWithNavigator/.DS_Store b/DelegateWithNavigator/.DS_Store
new file mode 100644
index 00000000..744e4e68
Binary files /dev/null and b/DelegateWithNavigator/.DS_Store differ
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.pbxproj b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.pbxproj
index a9934222..7d210e1b 100644
--- a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.pbxproj
+++ b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0770A7871A2D5BE700494953 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0770A7861A2D5BE700494953 /* Images.xcassets */; };
0770A78A1A2D5BE700494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A7881A2D5BE700494953 /* LaunchScreen.xib */; };
0770A7961A2D5BE700494953 /* DelegateWithNavigatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A7951A2D5BE700494953 /* DelegateWithNavigatorTests.swift */; };
- 0770A7A01A2D5BF000494953 /* SegundoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A79F1A2D5BF000494953 /* SegundoViewController.swift */; };
+ 077CF9F11ADAE30100D20B9B /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9F01ADAE30100D20B9B /* SecondViewController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0770A78F1A2D5BE700494953 /* DelegateWithNavigatorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DelegateWithNavigatorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0770A7941A2D5BE700494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0770A7951A2D5BE700494953 /* DelegateWithNavigatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelegateWithNavigatorTests.swift; sourceTree = ""; };
- 0770A79F1A2D5BF000494953 /* SegundoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SegundoViewController.swift; sourceTree = ""; };
+ 077CF9F01ADAE30100D20B9B /* SecondViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecondViewController.swift; path = ../SecondViewController.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -81,7 +81,7 @@
children = (
0770A77F1A2D5BE700494953 /* AppDelegate.swift */,
0770A7811A2D5BE700494953 /* ViewController.swift */,
- 0770A79F1A2D5BF000494953 /* SegundoViewController.swift */,
+ 077CF9F01ADAE30100D20B9B /* SecondViewController.swift */,
0770A7831A2D5BE700494953 /* Main.storyboard */,
0770A7861A2D5BE700494953 /* Images.xcassets */,
0770A7881A2D5BE700494953 /* LaunchScreen.xib */,
@@ -159,7 +159,9 @@
0770A7721A2D5BE700494953 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0770A7791A2D5BE700494953 = {
@@ -215,9 +217,9 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 077CF9F11ADAE30100D20B9B /* SecondViewController.swift in Sources */,
0770A7821A2D5BE700494953 /* ViewController.swift in Sources */,
0770A7801A2D5BE700494953 /* AppDelegate.swift in Sources */,
- 0770A7A01A2D5BF000494953 /* SegundoViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = DelegateWithNavigator/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = DelegateWithNavigator/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = DelegateWithNavigatorTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DelegateWithNavigator.app/DelegateWithNavigator";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = DelegateWithNavigatorTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DelegateWithNavigator.app/DelegateWithNavigator";
};
@@ -409,6 +418,7 @@
0770A79B1A2D5BE700494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0770A79C1A2D5BE700494953 /* Build configuration list for PBXNativeTarget "DelegateWithNavigatorTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0770A79E1A2D5BE700494953 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 0768abd5..00ebe1ee 100644
Binary files a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..10de5c87
Binary files /dev/null and b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator 2.xcscheme b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator 2.xcscheme
new file mode 100644
index 00000000..5441c465
--- /dev/null
+++ b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme
index 99351047..1fee1fc2 100644
--- a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme
+++ b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:DelegateWithNavigator.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ DelegateWithNavigator 2.xcscheme
+
+ orderHint
+ 1
+
DelegateWithNavigator.xcscheme
orderHint
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme
new file mode 100644
index 00000000..8ebeb1d2
--- /dev/null
+++ b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/DelegateWithNavigator.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..ad0b00ba
--- /dev/null
+++ b/DelegateWithNavigator/DelegateWithNavigator.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ DelegateWithNavigator.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0770A7791A2D5BE700494953
+
+ primary
+
+
+ 0770A78E1A2D5BE700494953
+
+ primary
+
+
+
+
+
diff --git a/DelegateWithNavigator/DelegateWithNavigator/AppDelegate.swift b/DelegateWithNavigator/DelegateWithNavigator/AppDelegate.swift
index 802dc085..b7a05f98 100644
--- a/DelegateWithNavigator/DelegateWithNavigator/AppDelegate.swift
+++ b/DelegateWithNavigator/DelegateWithNavigator/AppDelegate.swift
@@ -3,7 +3,15 @@
// DelegateWithNavigator
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/DelegateWithNavigator/DelegateWithNavigator/Base.lproj/Main.storyboard b/DelegateWithNavigator/DelegateWithNavigator/Base.lproj/Main.storyboard
index 593ea973..205e85cc 100644
--- a/DelegateWithNavigator/DelegateWithNavigator/Base.lproj/Main.storyboard
+++ b/DelegateWithNavigator/DelegateWithNavigator/Base.lproj/Main.storyboard
@@ -1,7 +1,8 @@
-
+
-
+
+
@@ -38,13 +39,13 @@
-
+
-
-
+
+
-
+
@@ -53,17 +54,17 @@
-
+
-
+
-
+
@@ -78,13 +79,13 @@
-
+
-
+
-
+
@@ -92,7 +93,7 @@
-
+
@@ -100,9 +101,4 @@
-
-
-
-
-
diff --git a/DelegateWithNavigator/DelegateWithNavigator/Info.plist b/DelegateWithNavigator/DelegateWithNavigator/Info.plist
index bebd69a0..6905cc67 100644
--- a/DelegateWithNavigator/DelegateWithNavigator/Info.plist
+++ b/DelegateWithNavigator/DelegateWithNavigator/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/DelegateWithNavigator/DelegateWithNavigator/SegundoViewController.swift b/DelegateWithNavigator/DelegateWithNavigator/SegundoViewController.swift
deleted file mode 100644
index 7826d918..00000000
--- a/DelegateWithNavigator/DelegateWithNavigator/SegundoViewController.swift
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// SegundoViewController.swift
-// DelegateWithNavigator
-//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-protocol miDelegate {
- func escribirDatoEnLabel(dato:NSString)
-}
-
-class SegundoViewController: UIViewController {
-
- var datos: NSString = ""
- var delegate: miDelegate?
-
- @IBOutlet weak var labelSegundo: UILabel!
-
- @IBAction func botonSegundo(sender: AnyObject) {
- self.delegate?.escribirDatoEnLabel("¡Lo logré!")
- self.navigationController?.popViewControllerAnimated(true)
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- // Do any additional setup after loading the view.
- labelSegundo.text = datos
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/DelegateWithNavigator/DelegateWithNavigator/ViewController.swift b/DelegateWithNavigator/DelegateWithNavigator/ViewController.swift
index fb4f70c0..eb3d7353 100644
--- a/DelegateWithNavigator/DelegateWithNavigator/ViewController.swift
+++ b/DelegateWithNavigator/DelegateWithNavigator/ViewController.swift
@@ -3,25 +3,33 @@
// DelegateWithNavigator
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
-class ViewController: UIViewController, miDelegate {
+class ViewController: UIViewController, myDelegate {
- @IBOutlet weak var labelPrincipal: UILabel!
+ @IBOutlet weak var principalLabel: UILabel!
- @IBAction func botonPrincipal(sender: UIButton) {
+ @IBAction func mainButton(sender: UIButton) {
- //Obtenemos la instancia de la clase destino a través del Storyboard
+ //we got it the final instance in storyboard
- var segundoController: SegundoViewController = self.storyboard?.instantiateViewControllerWithIdentifier("SegundoViewController") as SegundoViewController
- segundoController.datos = "Texto cogido del Padre"
- //Le decimos quien es su delegado
- segundoController.delegate = self
- //Hacemos el push para que navegue
- self.navigationController?.pushViewController(segundoController,
+ let secondController: SecondViewController = self.storyboard?.instantiateViewControllerWithIdentifier("SecondViewController") as! SecondViewController
+ secondController.data = "Text from superclass"
+ //who is it delegate
+ secondController.delegate = self
+ //we do push to navigate
+ self.navigationController?.pushViewController(secondController,
animated: true)
}
@@ -35,8 +43,8 @@ class ViewController: UIViewController, miDelegate {
// Dispose of any resources that can be recreated.
}
- func escribirDatoEnLabel(dato:NSString){
- self.labelPrincipal.text = dato
+ func writeDateInLabel(data:NSString){
+ self.principalLabel.text = data as String
}
diff --git a/DelegateWithNavigator/DelegateWithNavigatorTests/Info.plist b/DelegateWithNavigator/DelegateWithNavigatorTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/DelegateWithNavigator/DelegateWithNavigatorTests/Info.plist
+++ b/DelegateWithNavigator/DelegateWithNavigatorTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/DelegateWithNavigator/SecondViewController.swift b/DelegateWithNavigator/SecondViewController.swift
new file mode 100644
index 00000000..67fcfdbd
--- /dev/null
+++ b/DelegateWithNavigator/SecondViewController.swift
@@ -0,0 +1,58 @@
+//
+// SegundoViewController.swift
+// DelegateWithNavigator
+//
+// Created by Carlos Butron on 02/12/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+protocol myDelegate {
+ func writeDateInLabel(date:NSString)
+}
+
+class SecondViewController: UIViewController {
+
+ var data: NSString = ""
+ var delegate: myDelegate?
+
+ @IBOutlet weak var secondLabel: UILabel!
+
+ @IBAction func secondButton(sender: AnyObject) {
+ self.delegate?.writeDateInLabel("I got it!")
+ self.navigationController?.popViewControllerAnimated(true)
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ secondLabel.text = data as String
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/EventKitUI/.DS_Store b/EventKitUI/.DS_Store
new file mode 100644
index 00000000..e421e4b0
Binary files /dev/null and b/EventKitUI/.DS_Store differ
diff --git a/EventKitUI/EventKitUI.xcodeproj/project.pbxproj b/EventKitUI/EventKitUI sample.xcodeproj/project.pbxproj
similarity index 86%
rename from EventKitUI/EventKitUI.xcodeproj/project.pbxproj
rename to EventKitUI/EventKitUI sample.xcodeproj/project.pbxproj
index 82417447..067f20ad 100644
--- a/EventKitUI/EventKitUI.xcodeproj/project.pbxproj
+++ b/EventKitUI/EventKitUI sample.xcodeproj/project.pbxproj
@@ -27,14 +27,14 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 07E35B6A1A2DF63400CA606C /* EventKitUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EventKitUI.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 07E35B6A1A2DF63400CA606C /* EventKitUI sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "EventKitUI sample.app"; sourceTree = BUILT_PRODUCTS_DIR; };
07E35B6E1A2DF63400CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35B6F1A2DF63400CA606C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
07E35B711A2DF63400CA606C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
07E35B741A2DF63400CA606C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
07E35B761A2DF63400CA606C /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
07E35B791A2DF63400CA606C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 07E35B7F1A2DF63400CA606C /* EventKitUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EventKitUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 07E35B7F1A2DF63400CA606C /* EventKitUI sample.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "EventKitUI sample.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
07E35B841A2DF63400CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35B851A2DF63400CA606C /* EventKitUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventKitUITests.swift; sourceTree = ""; };
07E35B8F1A2DF64F00CA606C /* EventKitUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EventKitUI.framework; path = System/Library/Frameworks/EventKitUI.framework; sourceTree = SDKROOT; };
@@ -72,8 +72,8 @@
07E35B6B1A2DF63400CA606C /* Products */ = {
isa = PBXGroup;
children = (
- 07E35B6A1A2DF63400CA606C /* EventKitUI.app */,
- 07E35B7F1A2DF63400CA606C /* EventKitUITests.xctest */,
+ 07E35B6A1A2DF63400CA606C /* EventKitUI sample.app */,
+ 07E35B7F1A2DF63400CA606C /* EventKitUI sample.xctest */,
);
name = Products;
sourceTree = "";
@@ -119,9 +119,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 07E35B691A2DF63400CA606C /* EventKitUI */ = {
+ 07E35B691A2DF63400CA606C /* EventKitUI sample */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 07E35B891A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI" */;
+ buildConfigurationList = 07E35B891A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI sample" */;
buildPhases = (
07E35B661A2DF63400CA606C /* Sources */,
07E35B671A2DF63400CA606C /* Frameworks */,
@@ -131,14 +131,14 @@
);
dependencies = (
);
- name = EventKitUI;
+ name = "EventKitUI sample";
productName = EventKitUI;
- productReference = 07E35B6A1A2DF63400CA606C /* EventKitUI.app */;
+ productReference = 07E35B6A1A2DF63400CA606C /* EventKitUI sample.app */;
productType = "com.apple.product-type.application";
};
- 07E35B7E1A2DF63400CA606C /* EventKitUITests */ = {
+ 07E35B7E1A2DF63400CA606C /* EventKitUI sampleTests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 07E35B8C1A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUITests" */;
+ buildConfigurationList = 07E35B8C1A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI sampleTests" */;
buildPhases = (
07E35B7B1A2DF63400CA606C /* Sources */,
07E35B7C1A2DF63400CA606C /* Frameworks */,
@@ -149,9 +149,9 @@
dependencies = (
07E35B811A2DF63400CA606C /* PBXTargetDependency */,
);
- name = EventKitUITests;
+ name = "EventKitUI sampleTests";
productName = EventKitUITests;
- productReference = 07E35B7F1A2DF63400CA606C /* EventKitUITests.xctest */;
+ productReference = 07E35B7F1A2DF63400CA606C /* EventKitUI sample.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
@@ -160,7 +160,9 @@
07E35B621A2DF63400CA606C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
07E35B691A2DF63400CA606C = {
@@ -172,7 +174,7 @@
};
};
};
- buildConfigurationList = 07E35B651A2DF63400CA606C /* Build configuration list for PBXProject "EventKitUI" */;
+ buildConfigurationList = 07E35B651A2DF63400CA606C /* Build configuration list for PBXProject "EventKitUI sample" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@@ -185,8 +187,8 @@
projectDirPath = "";
projectRoot = "";
targets = (
- 07E35B691A2DF63400CA606C /* EventKitUI */,
- 07E35B7E1A2DF63400CA606C /* EventKitUITests */,
+ 07E35B691A2DF63400CA606C /* EventKitUI sample */,
+ 07E35B7E1A2DF63400CA606C /* EventKitUI sampleTests */,
);
};
/* End PBXProject section */
@@ -234,7 +236,7 @@
/* Begin PBXTargetDependency section */
07E35B811A2DF63400CA606C /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 07E35B691A2DF63400CA606C /* EventKitUI */;
+ target = 07E35B691A2DF63400CA606C /* EventKitUI sample */;
targetProxy = 07E35B801A2DF63400CA606C /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -341,8 +344,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = EventKitUI/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "EventKitUI sample";
};
name = Debug;
};
@@ -351,8 +356,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = EventKitUI/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "EventKitUI sample";
};
name = Release;
};
@@ -370,8 +377,9 @@
);
INFOPLIST_FILE = EventKitUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EventKitUI.app/EventKitUI";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "EventKitUI sample";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EventKitUI sample.app/EventKitUI sample";
};
name = Debug;
};
@@ -385,15 +393,16 @@
);
INFOPLIST_FILE = EventKitUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EventKitUI.app/EventKitUI";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "EventKitUI sample";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/EventKitUI sample.app/EventKitUI sample";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 07E35B651A2DF63400CA606C /* Build configuration list for PBXProject "EventKitUI" */ = {
+ 07E35B651A2DF63400CA606C /* Build configuration list for PBXProject "EventKitUI sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
07E35B871A2DF63400CA606C /* Debug */,
@@ -402,21 +411,23 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 07E35B891A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI" */ = {
+ 07E35B891A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI sample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
07E35B8A1A2DF63400CA606C /* Debug */,
07E35B8B1A2DF63400CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
- 07E35B8C1A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUITests" */ = {
+ 07E35B8C1A2DF63400CA606C /* Build configuration list for PBXNativeTarget "EventKitUI sampleTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
07E35B8D1A2DF63400CA606C /* Debug */,
07E35B8E1A2DF63400CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..360466d7
--- /dev/null
+++ b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcshareddata/EventKitUI.xccheckout b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcshareddata/EventKitUI.xccheckout
new file mode 100644
index 00000000..15498937
--- /dev/null
+++ b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcshareddata/EventKitUI.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ B4EF0436-02FC-45BD-9C45-FF4A6A90B0FD
+ IDESourceControlProjectName
+ EventKitUI
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ EventKitUI/EventKitUI.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..032fb94e
Binary files /dev/null and b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..cbd1b47d
Binary files /dev/null and b/EventKitUI/EventKitUI sample.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI 2.xcscheme b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI 2.xcscheme
new file mode 100644
index 00000000..5e5f26f2
--- /dev/null
+++ b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme
new file mode 100644
index 00000000..c78797ee
--- /dev/null
+++ b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..77d2bc5d
--- /dev/null
+++ b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ SchemeUserState
+
+ EventKitUI 2.xcscheme
+
+ orderHint
+ 1
+
+ EventKitUI.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35B691A2DF63400CA606C
+
+ primary
+
+
+ 07E35B7E1A2DF63400CA606C
+
+ primary
+
+
+
+
+
diff --git a/EventKitUI/EventKitUI.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/EventKitUI.xcscheme
similarity index 96%
rename from EventKitUI/EventKitUI.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme
rename to EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/EventKitUI.xcscheme
index e41343f2..8cf9bdbe 100644
--- a/EventKitUI/EventKitUI.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/EventKitUI.xcscheme
+++ b/EventKitUI/EventKitUI sample.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/EventKitUI.xcscheme
@@ -1,6 +1,6 @@
-
+
-
+
-
+
-
+
@@ -14,13 +14,13 @@
-
+
-
+
-
+
diff --git a/EventKitUI/EventKitUI/Base.lproj/Main.storyboard b/EventKitUI/EventKitUI/Base.lproj/Main.storyboard
index ebbf38f6..477304dd 100644
--- a/EventKitUI/EventKitUI/Base.lproj/Main.storyboard
+++ b/EventKitUI/EventKitUI/Base.lproj/Main.storyboard
@@ -1,60 +1,8 @@
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/EventKitUI/EventKitUI/Info.plist b/EventKitUI/EventKitUI/Info.plist
index bebd69a0..6905cc67 100644
--- a/EventKitUI/EventKitUI/Info.plist
+++ b/EventKitUI/EventKitUI/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/EventKitUI/EventKitUI/ViewController.swift b/EventKitUI/EventKitUI/ViewController.swift
index 4fde1067..fdcc09e4 100644
--- a/EventKitUI/EventKitUI/ViewController.swift
+++ b/EventKitUI/EventKitUI/ViewController.swift
@@ -3,7 +3,15 @@
// EventKitUI
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -13,78 +21,82 @@ class ViewController: UIViewController, EKEventEditViewDelegate {
var store = EKEventStore()
- @IBAction func calendario(sender: UIButton) {
+ @IBAction func calendar(sender: UIButton) {
- store.requestAccessToEntityType(EKEntityTypeEvent, completion: { (granted, error) -> Void in
+ store.requestAccessToEntityType(EKEntityType.Event, completion: { (granted, error) -> Void in
if (granted) {
- println("Acceso concedido")
+ print("Access granted")
- var controller = EKEventEditViewController()
+ let controller = EKEventEditViewController()
controller.eventStore = self.store
controller.editViewDelegate = self
self.presentViewController(controller, animated: true, completion: nil)
}else{
- println("Acceso denegado")
+ print("Access denied")
}
})
}
- @IBAction func eliminaEventos(sender: UIButton) { //CODIGO DE AMPLIACION 1
- //Obtenemos el calendario
- var calendario = NSCalendar.currentCalendar()
- //Obtenemos las fechas de principio y fin
- let haceUnDiaComponents = NSDateComponents()
- haceUnDiaComponents.day = -1
- let haceUnDia : NSDate = calendario.dateByAddingComponents(haceUnDiaComponents, toDate: NSDate(), options: NSCalendarOptions(0))!
- let pasadoUnAnyoComponents = NSDateComponents()
- pasadoUnAnyoComponents.year = 1
- let pasadoUnAnyo : NSDate = calendario.dateByAddingComponents(pasadoUnAnyoComponents, toDate: NSDate(), options: NSCalendarOptions(0))!
- //Creamos el predicado a partir de las fechas
- let predicado : NSPredicate = self.store.predicateForEventsWithStartDate(haceUnDia, endDate: pasadoUnAnyo, calendars: nil)
- //Obtenemos los eventos asociados
- let eventos : NSArray = self.store.eventsMatchingPredicate(predicado)
+ @IBAction func deleteEvents(sender: UIButton) {
+ //get calendar
+ let calendar = NSCalendar.currentCalendar()
+ //get start and end date
+ let aDayBeforeComponents = NSDateComponents()
+ aDayBeforeComponents.day = -1
+ let aDayBefore : NSDate = calendar.dateByAddingComponents(aDayBeforeComponents, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
+ let yearAfterComponents = NSDateComponents()
+ yearAfterComponents.year = 1
+ let yearAfter : NSDate = calendar.dateByAddingComponents(yearAfterComponents, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
+ //create predicate
+ let predicate : NSPredicate = self.store.predicateForEventsWithStartDate(aDayBefore, endDate: yearAfter, calendars: nil)
+ //get related events
+ let events : NSArray = self.store.eventsMatchingPredicate(predicate)
- //RECORREMOS TODOS LOS EVENTOS DEL INTERVALO DE FECHA SELECCIONADO Y LOS ELIMINAMOS
- for i in eventos{
- self.store.removeEvent(i as EKEvent, span: EKSpanThisEvent, commit: true, error: nil)
+ ////loop all events in events and delete it
+ for i in events{
+ do {
+ try self.store.removeEvent(i as! EKEvent, span: .ThisEvent, commit: true)
+ } catch _ {
+ }
//println(i)
}
}
- @IBAction func ponerAlarma(sender: UIButton) { //CODIGO DE AMPLIACION 2
-
- //Obtenemos el calendario
- var calendario = NSCalendar.currentCalendar()
- //Obtenemos las fechas de principio y fin
- let haceUnDiaComponents = NSDateComponents()
- haceUnDiaComponents.day = -1
- let haceUnDia : NSDate = calendario.dateByAddingComponents(haceUnDiaComponents, toDate: NSDate(), options: NSCalendarOptions(0))!
- let pasadoUnAnyoComponents = NSDateComponents()
- pasadoUnAnyoComponents.year = 1
- let pasadoUnAnyo : NSDate = calendario.dateByAddingComponents(pasadoUnAnyoComponents, toDate: NSDate(), options: NSCalendarOptions(0))!
- //Creamos el predicado a partir de las fechas
- let predicado : NSPredicate = self.store.predicateForEventsWithStartDate(haceUnDia, endDate: pasadoUnAnyo, calendars: nil)
- //Obtenemos los eventos asociados
- let eventos : NSArray = self.store.eventsMatchingPredicate(predicado)
+ @IBAction func setAlarm(sender: UIButton) {
+ //get calendar
+ let calendar = NSCalendar.currentCalendar()
+ //get start and end date
+ let aDayBeforeComponents = NSDateComponents()
+ aDayBeforeComponents.day = -1
+ let aDayBefore : NSDate = calendar.dateByAddingComponents(aDayBeforeComponents, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
+ let yearAfterComponents = NSDateComponents()
+ yearAfterComponents.year = 1
+ let yearAfter : NSDate = calendar.dateByAddingComponents(yearAfterComponents, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
+ //create predicate
+ let predicate : NSPredicate = self.store.predicateForEventsWithStartDate(aDayBefore, endDate: yearAfter, calendars: nil)
+ //get related events
+ let events : NSArray = self.store.eventsMatchingPredicate(predicate)
- //RECORREMOS TODOS LOS EVENTOS DEL INTERVALO DE FECHA SELECCIONADO Y AÑADIMOS ALARMA
- for i in eventos{
- let eventWithAlarm = i as EKEvent
+ //loop all events in events and add alarm to all
+ for i in events{
+ let eventWithAlarm = i as! EKEvent
let alarm = EKAlarm(relativeOffset: -2.0)
eventWithAlarm.addAlarm(alarm)
- self.store.saveEvent(eventWithAlarm, span: EKSpanThisEvent, error: nil)
- //println(i)
+ do {
+ try self.store.saveEvent(eventWithAlarm, span: .ThisEvent)
+ } catch _ {
+ }
}
}
@@ -102,7 +114,7 @@ class ViewController: UIViewController, EKEventEditViewDelegate {
//
// }
- func eventEditViewController(controller: EKEventEditViewController!, didCompleteWithAction action: EKEventEditViewAction) {
+ func eventEditViewController(controller: EKEventEditViewController, didCompleteWithAction action: EKEventEditViewAction) {
self.dismissViewControllerAnimated(true, completion: nil)
}
diff --git a/EventKitUI/EventKitUITests/Info.plist b/EventKitUI/EventKitUITests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/EventKitUI/EventKitUITests/Info.plist
+++ b/EventKitUI/EventKitUITests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureDoubleTap/.DS_Store b/GestureDoubleTap/.DS_Store
new file mode 100644
index 00000000..93db0dc1
Binary files /dev/null and b/GestureDoubleTap/.DS_Store differ
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.pbxproj b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.pbxproj
index c9d9b806..56628017 100644
--- a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.pbxproj
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0787D9821A2CD23000F22957 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9811A2CD23000F22957 /* Images.xcassets */; };
0787D9851A2CD23000F22957 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9831A2CD23000F22957 /* LaunchScreen.xib */; };
0787D9911A2CD23000F22957 /* GestureDoubleTabTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787D9901A2CD23000F22957 /* GestureDoubleTabTests.swift */; };
- 0787D99B1A2CD27600F22957 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787D99A1A2CD27600F22957 /* imagen1.png */; };
+ 0787D99B1A2CD27600F22957 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787D99A1A2CD27600F22957 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0787D98A1A2CD23000F22957 /* GestureDoubleTabTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GestureDoubleTabTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0787D98F1A2CD23000F22957 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0787D9901A2CD23000F22957 /* GestureDoubleTabTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GestureDoubleTabTests.swift; sourceTree = ""; };
- 0787D99A1A2CD27600F22957 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0787D99A1A2CD27600F22957 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0787D9771A2CD23000F22957 /* GestureDoubleTab */ = {
isa = PBXGroup;
children = (
- 0787D99A1A2CD27600F22957 /* imagen1.png */,
+ 0787D99A1A2CD27600F22957 /* image1.png */,
0787D97A1A2CD23000F22957 /* AppDelegate.swift */,
0787D97C1A2CD23000F22957 /* ViewController.swift */,
0787D97E1A2CD23000F22957 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0787D96D1A2CD23000F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787D9741A2CD23000F22957 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0787D99B1A2CD27600F22957 /* imagen1.png in Resources */,
+ 0787D99B1A2CD27600F22957 /* image1.png in Resources */,
0787D9801A2CD23000F22957 /* Main.storyboard in Resources */,
0787D9851A2CD23000F22957 /* LaunchScreen.xib in Resources */,
0787D9821A2CD23000F22957 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GestureDoubleTab/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GestureDoubleTab/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = GestureDoubleTabTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GestureDoubleTab.app/GestureDoubleTab";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = GestureDoubleTabTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GestureDoubleTab.app/GestureDoubleTab";
};
@@ -409,6 +418,7 @@
0787D9961A2CD23000F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0787D9971A2CD23000F22957 /* Build configuration list for PBXNativeTarget "GestureDoubleTabTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0787D9991A2CD23000F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcshareddata/GestureDoubleTab.xccheckout b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcshareddata/GestureDoubleTab.xccheckout
new file mode 100644
index 00000000..168cbbcc
--- /dev/null
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcshareddata/GestureDoubleTab.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 7305FE1F-D722-42C3-A70A-B2DC64A9BABA
+ IDESourceControlProjectName
+ GestureDoubleTab
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GestureDoubleTap/GestureDoubleTab.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index dacc0cda..848ded30 100644
Binary files a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..ace77d46
Binary files /dev/null and b/GestureDoubleTap/GestureDoubleTab.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab 2.xcscheme b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab 2.xcscheme
new file mode 100644
index 00000000..75dfec15
--- /dev/null
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme
index 44a260ac..66b82b6b 100644
--- a/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:GestureDoubleTab.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ GestureDoubleTab 2.xcscheme
+
+ orderHint
+ 1
+
GestureDoubleTab.xcscheme
orderHint
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme
new file mode 100644
index 00000000..d914dbeb
--- /dev/null
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureDoubleTab.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..e782cb83
--- /dev/null
+++ b/GestureDoubleTap/GestureDoubleTab.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ GestureDoubleTab.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787D9741A2CD23000F22957
+
+ primary
+
+
+ 0787D9891A2CD23000F22957
+
+ primary
+
+
+
+
+
diff --git a/GestureDoubleTap/GestureDoubleTab/AppDelegate.swift b/GestureDoubleTap/GestureDoubleTab/AppDelegate.swift
index ad259e84..996ede99 100644
--- a/GestureDoubleTap/GestureDoubleTab/AppDelegate.swift
+++ b/GestureDoubleTap/GestureDoubleTab/AppDelegate.swift
@@ -3,7 +3,15 @@
// GestureDoubleTab
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GestureDoubleTap/GestureDoubleTab/Base.lproj/Main.storyboard b/GestureDoubleTap/GestureDoubleTab/Base.lproj/Main.storyboard
index 0c7bad35..618b8fab 100644
--- a/GestureDoubleTap/GestureDoubleTab/Base.lproj/Main.storyboard
+++ b/GestureDoubleTap/GestureDoubleTab/Base.lproj/Main.storyboard
@@ -1,7 +1,7 @@
-
+
-
+
@@ -17,13 +17,9 @@
-
+
-
-
-
-
@@ -35,7 +31,7 @@
-
+
@@ -44,7 +40,7 @@
-
+
diff --git a/GestureDoubleTap/GestureDoubleTab/Info.plist b/GestureDoubleTap/GestureDoubleTab/Info.plist
index bebd69a0..6905cc67 100644
--- a/GestureDoubleTap/GestureDoubleTab/Info.plist
+++ b/GestureDoubleTap/GestureDoubleTab/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureDoubleTap/GestureDoubleTab/ViewController.swift b/GestureDoubleTap/GestureDoubleTab/ViewController.swift
index 3066862e..6f13f536 100644
--- a/GestureDoubleTap/GestureDoubleTab/ViewController.swift
+++ b/GestureDoubleTap/GestureDoubleTab/ViewController.swift
@@ -3,14 +3,22 @@
// GestureDoubleTab
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var image: UIImageView!
override func didReceiveMemoryWarning() {
@@ -26,10 +34,10 @@ class ViewController: UIViewController {
sender.view?.contentMode = UIViewContentMode.ScaleAspectFit
} }
override func viewDidLoad() {
- var tapGesture = UITapGestureRecognizer(target: self, action:
+ let tapGesture = UITapGestureRecognizer(target: self, action:
"handleTap:")
tapGesture.numberOfTapsRequired = 2;
- imagen.addGestureRecognizer(tapGesture)
+ image.addGestureRecognizer(tapGesture)
// Do any additional setup after loading the view, typically from a nib.
}
diff --git a/GestureDoubleTap/GestureDoubleTab/imagen1.png b/GestureDoubleTap/GestureDoubleTab/image1.png
similarity index 100%
rename from GestureDoubleTap/GestureDoubleTab/imagen1.png
rename to GestureDoubleTap/GestureDoubleTab/image1.png
diff --git a/GestureDoubleTap/GestureDoubleTabTests/Info.plist b/GestureDoubleTap/GestureDoubleTabTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GestureDoubleTap/GestureDoubleTabTests/Info.plist
+++ b/GestureDoubleTap/GestureDoubleTabTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureLongPress/.DS_Store b/GestureLongPress/.DS_Store
new file mode 100644
index 00000000..26f7ed03
Binary files /dev/null and b/GestureLongPress/.DS_Store differ
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/project.pbxproj b/GestureLongPress/GestureLongPress.xcodeproj/project.pbxproj
index 781f68b5..d8b9b396 100644
--- a/GestureLongPress/GestureLongPress.xcodeproj/project.pbxproj
+++ b/GestureLongPress/GestureLongPress.xcodeproj/project.pbxproj
@@ -159,7 +159,9 @@
0787DA2F1A2CD8E500F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787DA361A2CD8E500F22957 = {
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GestureLongPress/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GestureLongPress/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = GestureLongPressTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GestureLongPress.app/GestureLongPress";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = GestureLongPressTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GestureLongPress.app/GestureLongPress";
};
@@ -409,6 +418,7 @@
0787DA581A2CD8E500F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0787DA591A2CD8E500F22957 /* Build configuration list for PBXNativeTarget "GestureLongPressTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0787DA5B1A2CD8E500F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcshareddata/GestureLongPress.xccheckout b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcshareddata/GestureLongPress.xccheckout
new file mode 100644
index 00000000..246e0795
--- /dev/null
+++ b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcshareddata/GestureLongPress.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ FEB71A57-D00E-4E8E-A795-335F64B96757
+ IDESourceControlProjectName
+ GestureLongPress
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GestureLongPress/GestureLongPress.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 22b1709b..56bf9626 100644
Binary files a/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..539b5c3d
Binary files /dev/null and b/GestureLongPress/GestureLongPress.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress 2.xcscheme b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress 2.xcscheme
new file mode 100644
index 00000000..40e3e25c
--- /dev/null
+++ b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress.xcscheme b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress.xcscheme
index 71ea6d9f..c96b6724 100644
--- a/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress.xcscheme
+++ b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GestureLongPress.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:GestureLongPress.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ GestureLongPress 2.xcscheme
+
+ orderHint
+ 1
+
GestureLongPress.xcscheme
orderHint
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureLongPress.xcscheme b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureLongPress.xcscheme
new file mode 100644
index 00000000..e3c7247c
--- /dev/null
+++ b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GestureLongPress.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..e2579691
--- /dev/null
+++ b/GestureLongPress/GestureLongPress.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ GestureLongPress.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787DA361A2CD8E500F22957
+
+ primary
+
+
+ 0787DA4B1A2CD8E500F22957
+
+ primary
+
+
+
+
+
diff --git a/GestureLongPress/GestureLongPress/AppDelegate.swift b/GestureLongPress/GestureLongPress/AppDelegate.swift
index 0e90bd76..3a9cf205 100644
--- a/GestureLongPress/GestureLongPress/AppDelegate.swift
+++ b/GestureLongPress/GestureLongPress/AppDelegate.swift
@@ -3,7 +3,15 @@
// GestureLongPress
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GestureLongPress/GestureLongPress/Base.lproj/Main.storyboard b/GestureLongPress/GestureLongPress/Base.lproj/Main.storyboard
index 67ed0f9b..b9e904f9 100644
--- a/GestureLongPress/GestureLongPress/Base.lproj/Main.storyboard
+++ b/GestureLongPress/GestureLongPress/Base.lproj/Main.storyboard
@@ -1,15 +1,14 @@
-
+
-
-
+
-
+
@@ -21,8 +20,6 @@
-
-
diff --git a/GestureLongPress/GestureLongPress/Info.plist b/GestureLongPress/GestureLongPress/Info.plist
index bebd69a0..6905cc67 100644
--- a/GestureLongPress/GestureLongPress/Info.plist
+++ b/GestureLongPress/GestureLongPress/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureLongPress/GestureLongPress/ViewController.swift b/GestureLongPress/GestureLongPress/ViewController.swift
index d2fe269b..00b91cdf 100644
--- a/GestureLongPress/GestureLongPress/ViewController.swift
+++ b/GestureLongPress/GestureLongPress/ViewController.swift
@@ -3,7 +3,15 @@
// GestureLongPress
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,7 +22,7 @@ class ViewController: UIViewController {
override func viewDidLoad() {
- var longPressGesture = UILongPressGestureRecognizer(target: self, action: "action:")
+ let longPressGesture = UILongPressGestureRecognizer(target: self, action: "action:")
longPressGesture.minimumPressDuration = 2.0;
@@ -35,13 +43,11 @@ class ViewController: UIViewController {
if (gestureRecognizer.state == UIGestureRecognizerState.Began){
- var myAlertView = UIAlertView()
-
- myAlertView.title = "Alerta"
- myAlertView.message = "Gesto Long Press"
- myAlertView.addButtonWithTitle("ok")
+ let alertController = UIAlertController(title: "Alert", message: "Long Press gesture", preferredStyle: .Alert)
+ let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in }
+ alertController.addAction(OKAction)
+ self.presentViewController(alertController, animated: true) { }
- myAlertView.show()
}
diff --git a/GestureLongPress/GestureLongPressTests/Info.plist b/GestureLongPress/GestureLongPressTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GestureLongPress/GestureLongPressTests/Info.plist
+++ b/GestureLongPress/GestureLongPressTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GesturePinch/.DS_Store b/GesturePinch/.DS_Store
new file mode 100644
index 00000000..9f44da0e
Binary files /dev/null and b/GesturePinch/.DS_Store differ
diff --git a/GesturePinch/PinchGesture.xcodeproj/project.pbxproj b/GesturePinch/PinchGesture.xcodeproj/project.pbxproj
index ec3911a8..b1e90b61 100644
--- a/GesturePinch/PinchGesture.xcodeproj/project.pbxproj
+++ b/GesturePinch/PinchGesture.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0787D9B21A2CD3D100F22957 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9B11A2CD3D100F22957 /* Images.xcassets */; };
0787D9B51A2CD3D100F22957 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9B31A2CD3D100F22957 /* LaunchScreen.xib */; };
0787D9C11A2CD3D100F22957 /* PinchGestureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787D9C01A2CD3D100F22957 /* PinchGestureTests.swift */; };
- 0787D9CB1A2CD3F800F22957 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9CA1A2CD3F700F22957 /* imagen1.png */; };
+ 0787D9CB1A2CD3F800F22957 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9CA1A2CD3F700F22957 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0787D9BA1A2CD3D100F22957 /* PinchGestureTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PinchGestureTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0787D9BF1A2CD3D100F22957 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0787D9C01A2CD3D100F22957 /* PinchGestureTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinchGestureTests.swift; sourceTree = ""; };
- 0787D9CA1A2CD3F700F22957 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0787D9CA1A2CD3F700F22957 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0787D9A71A2CD3D100F22957 /* PinchGesture */ = {
isa = PBXGroup;
children = (
- 0787D9CA1A2CD3F700F22957 /* imagen1.png */,
+ 0787D9CA1A2CD3F700F22957 /* image1.png */,
0787D9AA1A2CD3D100F22957 /* AppDelegate.swift */,
0787D9AC1A2CD3D100F22957 /* ViewController.swift */,
0787D9AE1A2CD3D100F22957 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0787D99D1A2CD3D100F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787D9A41A2CD3D100F22957 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0787D9CB1A2CD3F800F22957 /* imagen1.png in Resources */,
+ 0787D9CB1A2CD3F800F22957 /* image1.png in Resources */,
0787D9B01A2CD3D100F22957 /* Main.storyboard in Resources */,
0787D9B51A2CD3D100F22957 /* LaunchScreen.xib in Resources */,
0787D9B21A2CD3D100F22957 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = PinchGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = PinchGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = PinchGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PinchGesture.app/PinchGesture";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = PinchGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PinchGesture.app/PinchGesture";
};
@@ -409,6 +418,7 @@
0787D9C61A2CD3D100F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0787D9C71A2CD3D100F22957 /* Build configuration list for PBXNativeTarget "PinchGestureTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +427,7 @@
0787D9C91A2CD3D100F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcshareddata/PinchGesture.xccheckout b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcshareddata/PinchGesture.xccheckout
new file mode 100644
index 00000000..d5549a86
--- /dev/null
+++ b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcshareddata/PinchGesture.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 819DE178-EB1A-423A-810D-63D2C4C3AC75
+ IDESourceControlProjectName
+ PinchGesture
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GesturePinch/PinchGesture.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index c7fa3501..a9a1b6c9 100644
Binary files a/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..747253c1
Binary files /dev/null and b/GesturePinch/PinchGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture 2.xcscheme b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture 2.xcscheme
new file mode 100644
index 00000000..85587d97
--- /dev/null
+++ b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture.xcscheme b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture.xcscheme
index efe69b43..d876d66b 100644
--- a/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture.xcscheme
+++ b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/PinchGesture.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:PinchGesture.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ PinchGesture 2.xcscheme
+
+ orderHint
+ 1
+
PinchGesture.xcscheme
orderHint
diff --git a/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PinchGesture.xcscheme b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PinchGesture.xcscheme
new file mode 100644
index 00000000..273dc7e0
--- /dev/null
+++ b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PinchGesture.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..174e1f1f
--- /dev/null
+++ b/GesturePinch/PinchGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ PinchGesture.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787D9A41A2CD3D100F22957
+
+ primary
+
+
+ 0787D9B91A2CD3D100F22957
+
+ primary
+
+
+
+
+
diff --git a/GesturePinch/PinchGesture/AppDelegate.swift b/GesturePinch/PinchGesture/AppDelegate.swift
index 3c8049d6..ede5a464 100644
--- a/GesturePinch/PinchGesture/AppDelegate.swift
+++ b/GesturePinch/PinchGesture/AppDelegate.swift
@@ -3,7 +3,15 @@
// PinchGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GesturePinch/PinchGesture/Base.lproj/Main.storyboard b/GesturePinch/PinchGesture/Base.lproj/Main.storyboard
index 8b54abef..93bdeacd 100644
--- a/GesturePinch/PinchGesture/Base.lproj/Main.storyboard
+++ b/GesturePinch/PinchGesture/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -16,7 +16,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -40,7 +40,7 @@
-
+
diff --git a/GesturePinch/PinchGesture/Info.plist b/GesturePinch/PinchGesture/Info.plist
index bebd69a0..6905cc67 100644
--- a/GesturePinch/PinchGesture/Info.plist
+++ b/GesturePinch/PinchGesture/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GesturePinch/PinchGesture/ViewController.swift b/GesturePinch/PinchGesture/ViewController.swift
index 481bf8aa..1a07ec35 100644
--- a/GesturePinch/PinchGesture/ViewController.swift
+++ b/GesturePinch/PinchGesture/ViewController.swift
@@ -3,7 +3,15 @@
// PinchGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -13,13 +21,13 @@ import UIKit
class ViewController: UIViewController {
var lastScaleFactor:CGFloat = 1
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var image: UIImageView!
override func viewDidLoad() {
let pinchGesture:UIPinchGestureRecognizer =
UIPinchGestureRecognizer(target: self, action: "pinchGesture:")
- imagen.addGestureRecognizer(pinchGesture)
+ image.addGestureRecognizer(pinchGesture)
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@@ -31,7 +39,7 @@ class ViewController: UIViewController {
@IBAction func pinchGesture(sender : UIPinchGestureRecognizer) {
- var factor = sender.scale
+ let factor = sender.scale
if (factor > 1) {
//aumentamos el zoom
sender.view?.transform = CGAffineTransformMakeScale(
diff --git a/GesturePinch/PinchGesture/imagen1.png b/GesturePinch/PinchGesture/image1.png
similarity index 100%
rename from GesturePinch/PinchGesture/imagen1.png
rename to GesturePinch/PinchGesture/image1.png
diff --git a/GesturePinch/PinchGestureTests/Info.plist b/GesturePinch/PinchGestureTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GesturePinch/PinchGestureTests/Info.plist
+++ b/GesturePinch/PinchGestureTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureRotate/.DS_Store b/GestureRotate/.DS_Store
new file mode 100644
index 00000000..18ccc602
Binary files /dev/null and b/GestureRotate/.DS_Store differ
diff --git a/GestureRotate/RotateGesture.xcodeproj/project.pbxproj b/GestureRotate/RotateGesture.xcodeproj/project.pbxproj
index bde48c9f..6e432f7d 100644
--- a/GestureRotate/RotateGesture.xcodeproj/project.pbxproj
+++ b/GestureRotate/RotateGesture.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0787D9E21A2CD50400F22957 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9E11A2CD50400F22957 /* Images.xcassets */; };
0787D9E51A2CD50400F22957 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0787D9E31A2CD50400F22957 /* LaunchScreen.xib */; };
0787D9F11A2CD50400F22957 /* RotateGestureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787D9F01A2CD50400F22957 /* RotateGestureTests.swift */; };
- 0787DA2D1A2CD6BF00F22957 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA2C1A2CD6BF00F22957 /* imagen1.png */; };
+ 0787DA2D1A2CD6BF00F22957 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA2C1A2CD6BF00F22957 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
0787D9EA1A2CD50400F22957 /* RotateGestureTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RotateGestureTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0787D9EF1A2CD50400F22957 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0787D9F01A2CD50400F22957 /* RotateGestureTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RotateGestureTests.swift; sourceTree = ""; };
- 0787DA2C1A2CD6BF00F22957 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0787DA2C1A2CD6BF00F22957 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
0787D9D71A2CD50400F22957 /* RotateGesture */ = {
isa = PBXGroup;
children = (
- 0787DA2C1A2CD6BF00F22957 /* imagen1.png */,
+ 0787DA2C1A2CD6BF00F22957 /* image1.png */,
0787D9DA1A2CD50400F22957 /* AppDelegate.swift */,
0787D9DC1A2CD50400F22957 /* ViewController.swift */,
0787D9DE1A2CD50400F22957 /* Main.storyboard */,
@@ -159,7 +159,9 @@
0787D9CD1A2CD50400F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787D9D41A2CD50400F22957 = {
@@ -195,7 +197,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0787DA2D1A2CD6BF00F22957 /* imagen1.png in Resources */,
+ 0787DA2D1A2CD6BF00F22957 /* image1.png in Resources */,
0787D9E01A2CD50400F22957 /* Main.storyboard in Resources */,
0787D9E51A2CD50400F22957 /* LaunchScreen.xib in Resources */,
0787D9E21A2CD50400F22957 /* Images.xcassets in Resources */,
@@ -279,6 +281,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -293,7 +296,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -329,7 +332,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -341,7 +344,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = RotateGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -351,7 +356,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = RotateGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -370,6 +377,7 @@
);
INFOPLIST_FILE = RotateGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RotateGesture.app/RotateGesture";
};
@@ -385,6 +393,7 @@
);
INFOPLIST_FILE = RotateGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RotateGesture.app/RotateGesture";
};
diff --git a/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcshareddata/RotateGesture.xccheckout b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcshareddata/RotateGesture.xccheckout
new file mode 100644
index 00000000..7669645e
--- /dev/null
+++ b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcshareddata/RotateGesture.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ C01C2FB1-46D7-4BE8-BDA3-9670E95DA01B
+ IDESourceControlProjectName
+ RotateGesture
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GestureRotate/RotateGesture.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index d4c17d42..92f33d33 100644
Binary files a/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..d7a980f4
Binary files /dev/null and b/GestureRotate/RotateGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture 2.xcscheme b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture 2.xcscheme
new file mode 100644
index 00000000..e2bd9468
--- /dev/null
+++ b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture.xcscheme b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture.xcscheme
index fdf4c23d..b8dbf74d 100644
--- a/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture.xcscheme
+++ b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/RotateGesture.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:RotateGesture.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ RotateGesture 2.xcscheme
+
+ orderHint
+ 1
+
RotateGesture.xcscheme
orderHint
diff --git a/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/RotateGesture.xcscheme b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/RotateGesture.xcscheme
new file mode 100644
index 00000000..e5736c64
--- /dev/null
+++ b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/RotateGesture.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..d1fcabac
--- /dev/null
+++ b/GestureRotate/RotateGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ RotateGesture.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787D9D41A2CD50400F22957
+
+ primary
+
+
+ 0787D9E91A2CD50400F22957
+
+ primary
+
+
+
+
+
diff --git a/GestureRotate/RotateGesture/AppDelegate.swift b/GestureRotate/RotateGesture/AppDelegate.swift
index 0e0cf755..f3d33159 100644
--- a/GestureRotate/RotateGesture/AppDelegate.swift
+++ b/GestureRotate/RotateGesture/AppDelegate.swift
@@ -3,7 +3,15 @@
// RotateGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GestureRotate/RotateGesture/Base.lproj/Main.storyboard b/GestureRotate/RotateGesture/Base.lproj/Main.storyboard
index 46234c92..f252c994 100644
--- a/GestureRotate/RotateGesture/Base.lproj/Main.storyboard
+++ b/GestureRotate/RotateGesture/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -9,7 +9,7 @@
-
+
@@ -18,7 +18,7 @@
-
+
@@ -33,7 +33,7 @@
-
+
@@ -42,7 +42,7 @@
-
+
diff --git a/GestureRotate/RotateGesture/Info.plist b/GestureRotate/RotateGesture/Info.plist
index bebd69a0..6905cc67 100644
--- a/GestureRotate/RotateGesture/Info.plist
+++ b/GestureRotate/RotateGesture/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureRotate/RotateGesture/ViewController.swift b/GestureRotate/RotateGesture/ViewController.swift
index cec78865..4d5ab7a0 100644
--- a/GestureRotate/RotateGesture/ViewController.swift
+++ b/GestureRotate/RotateGesture/ViewController.swift
@@ -3,7 +3,15 @@
// RotateGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -13,12 +21,12 @@ class ViewController: UIViewController {
var netRotation:CGFloat = 0
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var image: UIImageView!
override func viewDidLoad() {
- var rotateGesture = UIRotationGestureRecognizer(target: self,
+ let rotateGesture = UIRotationGestureRecognizer(target: self,
action: "rotateGesture:")
- imagen.addGestureRecognizer(rotateGesture)
+ image.addGestureRecognizer(rotateGesture)
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@@ -29,8 +37,8 @@ class ViewController: UIViewController {
}
@IBAction func rotateGesture(sender : UIRotationGestureRecognizer) {
- var rotation:CGFloat = sender.rotation
- var transform:CGAffineTransform =
+ let rotation:CGFloat = sender.rotation
+ let transform:CGAffineTransform =
CGAffineTransformMakeRotation(rotation + netRotation)
sender.view?.transform = transform
if (sender.state == UIGestureRecognizerState.Ended){
diff --git a/GestureRotate/RotateGesture/imagen1.png b/GestureRotate/RotateGesture/image1.png
similarity index 100%
rename from GestureRotate/RotateGesture/imagen1.png
rename to GestureRotate/RotateGesture/image1.png
diff --git a/GestureRotate/RotateGestureTests/Info.plist b/GestureRotate/RotateGestureTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GestureRotate/RotateGestureTests/Info.plist
+++ b/GestureRotate/RotateGestureTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureSwipe/.DS_Store b/GestureSwipe/.DS_Store
new file mode 100644
index 00000000..d843fcf9
Binary files /dev/null and b/GestureSwipe/.DS_Store differ
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/project.pbxproj b/GestureSwipe/SwipeGesture.xcodeproj/project.pbxproj
index 0ea60a6c..4358de3e 100644
--- a/GestureSwipe/SwipeGesture.xcodeproj/project.pbxproj
+++ b/GestureSwipe/SwipeGesture.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
0787DA101A2CD61900F22957 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA0F1A2CD61900F22957 /* Images.xcassets */; };
0787DA131A2CD61900F22957 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA111A2CD61900F22957 /* LaunchScreen.xib */; };
0787DA1F1A2CD61900F22957 /* SwipeGestureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787DA1E1A2CD61900F22957 /* SwipeGestureTests.swift */; };
- 0787DA2A1A2CD62500F22957 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA281A2CD62500F22957 /* imagen1.png */; };
+ 0787DA2A1A2CD62500F22957 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA281A2CD62500F22957 /* image1.png */; };
0787DA2B1A2CD62500F22957 /* apple.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA291A2CD62500F22957 /* apple.png */; };
/* End PBXBuildFile section */
@@ -38,7 +38,7 @@
0787DA181A2CD61900F22957 /* SwipeGestureTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwipeGestureTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0787DA1D1A2CD61900F22957 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0787DA1E1A2CD61900F22957 /* SwipeGestureTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeGestureTests.swift; sourceTree = ""; };
- 0787DA281A2CD62500F22957 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0787DA281A2CD62500F22957 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
0787DA291A2CD62500F22957 /* apple.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = apple.png; sourceTree = ""; };
/* End PBXFileReference section */
@@ -81,7 +81,7 @@
0787DA051A2CD61900F22957 /* SwipeGesture */ = {
isa = PBXGroup;
children = (
- 0787DA281A2CD62500F22957 /* imagen1.png */,
+ 0787DA281A2CD62500F22957 /* image1.png */,
0787DA291A2CD62500F22957 /* apple.png */,
0787DA081A2CD61900F22957 /* AppDelegate.swift */,
0787DA0A1A2CD61900F22957 /* ViewController.swift */,
@@ -162,7 +162,9 @@
0787D9FB1A2CD61900F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787DA021A2CD61900F22957 = {
@@ -198,7 +200,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0787DA2A1A2CD62500F22957 /* imagen1.png in Resources */,
+ 0787DA2A1A2CD62500F22957 /* image1.png in Resources */,
0787DA0E1A2CD61900F22957 /* Main.storyboard in Resources */,
0787DA131A2CD61900F22957 /* LaunchScreen.xib in Resources */,
0787DA101A2CD61900F22957 /* Images.xcassets in Resources */,
@@ -283,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -297,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -333,7 +336,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -345,7 +348,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SwipeGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -355,7 +360,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SwipeGesture/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -374,6 +381,7 @@
);
INFOPLIST_FILE = SwipeGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwipeGesture.app/SwipeGesture";
};
@@ -389,6 +397,7 @@
);
INFOPLIST_FILE = SwipeGestureTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwipeGesture.app/SwipeGesture";
};
@@ -413,6 +422,7 @@
0787DA241A2CD61900F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0787DA251A2CD61900F22957 /* Build configuration list for PBXNativeTarget "SwipeGestureTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +431,7 @@
0787DA271A2CD61900F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcshareddata/SwipeGesture.xccheckout b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcshareddata/SwipeGesture.xccheckout
new file mode 100644
index 00000000..829c90f3
--- /dev/null
+++ b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcshareddata/SwipeGesture.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ E52A0C06-8E46-4145-8DFB-DEA59902D345
+ IDESourceControlProjectName
+ SwipeGesture
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GestureSwipe/SwipeGesture.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 9e34fff0..72fb1d2b 100644
Binary files a/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..989ace97
Binary files /dev/null and b/GestureSwipe/SwipeGesture.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture 2.xcscheme b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture 2.xcscheme
new file mode 100644
index 00000000..558ce4f8
--- /dev/null
+++ b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture.xcscheme b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture.xcscheme
index 666a7732..5194ea07 100644
--- a/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture.xcscheme
+++ b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwipeGesture.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:SwipeGesture.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ SwipeGesture 2.xcscheme
+
+ orderHint
+ 1
+
SwipeGesture.xcscheme
orderHint
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwipeGesture.xcscheme b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwipeGesture.xcscheme
new file mode 100644
index 00000000..aebee9d2
--- /dev/null
+++ b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwipeGesture.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..29d686a9
--- /dev/null
+++ b/GestureSwipe/SwipeGesture.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SwipeGesture.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787DA021A2CD61900F22957
+
+ primary
+
+
+ 0787DA171A2CD61900F22957
+
+ primary
+
+
+
+
+
diff --git a/GestureSwipe/SwipeGesture/AppDelegate.swift b/GestureSwipe/SwipeGesture/AppDelegate.swift
index e5d6f47d..ac6c5caf 100644
--- a/GestureSwipe/SwipeGesture/AppDelegate.swift
+++ b/GestureSwipe/SwipeGesture/AppDelegate.swift
@@ -3,7 +3,15 @@
// SwipeGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GestureSwipe/SwipeGesture/Base.lproj/Main.storyboard b/GestureSwipe/SwipeGesture/Base.lproj/Main.storyboard
index 722b0352..46db70d6 100644
--- a/GestureSwipe/SwipeGesture/Base.lproj/Main.storyboard
+++ b/GestureSwipe/SwipeGesture/Base.lproj/Main.storyboard
@@ -1,7 +1,7 @@
-
+
-
+
@@ -21,21 +21,19 @@
-
-
-
+
-
-
-
+
+
+
-
+
diff --git a/GestureSwipe/SwipeGesture/Info.plist b/GestureSwipe/SwipeGesture/Info.plist
index bebd69a0..6905cc67 100644
--- a/GestureSwipe/SwipeGesture/Info.plist
+++ b/GestureSwipe/SwipeGesture/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GestureSwipe/SwipeGesture/ViewController.swift b/GestureSwipe/SwipeGesture/ViewController.swift
index 6e55086e..7d830c6d 100644
--- a/GestureSwipe/SwipeGesture/ViewController.swift
+++ b/GestureSwipe/SwipeGesture/ViewController.swift
@@ -3,7 +3,15 @@
// SwipeGesture
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,32 +19,32 @@ import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var imagen2: UIImageView!
+ @IBOutlet weak var image2: UIImageView!
override func viewDidLoad() {
- var swipeGestureRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureRight.direction = UISwipeGestureRecognizerDirection.Right
- imagen2.addGestureRecognizer(swipeGestureRight)
+ image2.addGestureRecognizer(swipeGestureRight)
- var swipeGestureDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureDown.direction = UISwipeGestureRecognizerDirection.Down
- imagen2.addGestureRecognizer(swipeGestureDown)
+ image2.addGestureRecognizer(swipeGestureDown)
- var swipeGestureLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureLeft.direction = UISwipeGestureRecognizerDirection.Left
- imagen2.addGestureRecognizer(swipeGestureLeft)
+ image2.addGestureRecognizer(swipeGestureLeft)
- var swipeGestureUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureUp.direction = UISwipeGestureRecognizerDirection.Up
- imagen2.addGestureRecognizer(swipeGestureUp)
+ image2.addGestureRecognizer(swipeGestureUp)
super.viewDidLoad()
- imagen2.image = UIImage(named: "apple.png")
+ image2.image = UIImage(named: "apple.png")
// Do any additional setup after loading the view, typically from a nib.
}
@@ -49,16 +57,16 @@ class ViewController: UIViewController {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Right:
changeImage()
- println("Swiped right")
+ print("Swiped right")
case UISwipeGestureRecognizerDirection.Down:
changeImage()
- println("Swiped down")
+ print("Swiped down")
case UISwipeGestureRecognizerDirection.Left:
changeImage()
- println("Swiped left")
+ print("Swiped left")
case UISwipeGestureRecognizerDirection.Up:
changeImage()
- println("Swiped up")
+ print("Swiped up")
default:
break
}
@@ -66,10 +74,10 @@ class ViewController: UIViewController {
}
func changeImage(){
- if (imagen2.image == UIImage(named: "apple.png")){
- imagen2.image = UIImage(named: "imagen1.png")}
+ if (image2.image == UIImage(named: "apple.png")){
+ image2.image = UIImage(named: "image1.png")}
else{
- imagen2.image = UIImage(named: "apple.png")
+ image2.image = UIImage(named: "apple.png")
}
}
diff --git a/GestureSwipe/SwipeGesture/imagen1.png b/GestureSwipe/SwipeGesture/image1.png
similarity index 100%
rename from GestureSwipe/SwipeGesture/imagen1.png
rename to GestureSwipe/SwipeGesture/image1.png
diff --git a/GestureSwipe/SwipeGestureTests/Info.plist b/GestureSwipe/SwipeGestureTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GestureSwipe/SwipeGestureTests/Info.plist
+++ b/GestureSwipe/SwipeGestureTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Gestures/.DS_Store b/Gestures/.DS_Store
new file mode 100644
index 00000000..0e190a2b
Binary files /dev/null and b/Gestures/.DS_Store differ
diff --git a/Gestures/Gestures.xcodeproj/project.pbxproj b/Gestures/Gestures.xcodeproj/project.pbxproj
index f14a6416..7d963524 100644
--- a/Gestures/Gestures.xcodeproj/project.pbxproj
+++ b/Gestures/Gestures.xcodeproj/project.pbxproj
@@ -13,8 +13,8 @@
0787DA741A2CDA4400F22957 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA731A2CDA4400F22957 /* Images.xcassets */; };
0787DA771A2CDA4400F22957 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA751A2CDA4400F22957 /* LaunchScreen.xib */; };
0787DA831A2CDA4400F22957 /* GesturesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787DA821A2CDA4400F22957 /* GesturesTests.swift */; };
- 0787DA8E1A2CDA6D00F22957 /* imagen2.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA8C1A2CDA6D00F22957 /* imagen2.png */; };
- 0787DA8F1A2CDA6D00F22957 /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA8D1A2CDA6D00F22957 /* imagen1.png */; };
+ 0787DA8E1A2CDA6D00F22957 /* image2.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA8C1A2CDA6D00F22957 /* image2.png */; };
+ 0787DA8F1A2CDA6D00F22957 /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 0787DA8D1A2CDA6D00F22957 /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -38,8 +38,8 @@
0787DA7C1A2CDA4400F22957 /* GesturesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GesturesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0787DA811A2CDA4400F22957 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0787DA821A2CDA4400F22957 /* GesturesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GesturesTests.swift; sourceTree = ""; };
- 0787DA8C1A2CDA6D00F22957 /* imagen2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen2.png; sourceTree = ""; };
- 0787DA8D1A2CDA6D00F22957 /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 0787DA8C1A2CDA6D00F22957 /* image2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image2.png; sourceTree = ""; };
+ 0787DA8D1A2CDA6D00F22957 /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -81,8 +81,8 @@
0787DA691A2CDA4400F22957 /* Gestures */ = {
isa = PBXGroup;
children = (
- 0787DA8C1A2CDA6D00F22957 /* imagen2.png */,
- 0787DA8D1A2CDA6D00F22957 /* imagen1.png */,
+ 0787DA8C1A2CDA6D00F22957 /* image2.png */,
+ 0787DA8D1A2CDA6D00F22957 /* image1.png */,
0787DA6C1A2CDA4400F22957 /* AppDelegate.swift */,
0787DA6E1A2CDA4400F22957 /* ViewController.swift */,
0787DA701A2CDA4400F22957 /* Main.storyboard */,
@@ -162,7 +162,9 @@
0787DA5F1A2CDA4400F22957 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
0787DA661A2CDA4400F22957 = {
@@ -198,9 +200,9 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0787DA8F1A2CDA6D00F22957 /* imagen1.png in Resources */,
+ 0787DA8F1A2CDA6D00F22957 /* image1.png in Resources */,
0787DA721A2CDA4400F22957 /* Main.storyboard in Resources */,
- 0787DA8E1A2CDA6D00F22957 /* imagen2.png in Resources */,
+ 0787DA8E1A2CDA6D00F22957 /* image2.png in Resources */,
0787DA771A2CDA4400F22957 /* LaunchScreen.xib in Resources */,
0787DA741A2CDA4400F22957 /* Images.xcassets in Resources */,
);
@@ -283,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -297,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -333,7 +336,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -345,7 +348,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Gestures/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -355,7 +360,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Gestures/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -374,6 +381,7 @@
);
INFOPLIST_FILE = GesturesTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Gestures.app/Gestures";
};
@@ -389,6 +397,7 @@
);
INFOPLIST_FILE = GesturesTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Gestures.app/Gestures";
};
@@ -413,6 +422,7 @@
0787DA881A2CDA4400F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0787DA891A2CDA4400F22957 /* Build configuration list for PBXNativeTarget "GesturesTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +431,7 @@
0787DA8B1A2CDA4400F22957 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/Gestures/Gestures.xcodeproj/project.xcworkspace/xcshareddata/Gestures.xccheckout b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcshareddata/Gestures.xccheckout
new file mode 100644
index 00000000..cd2c7f0f
--- /dev/null
+++ b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcshareddata/Gestures.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 565455D7-4621-49DB-83A2-3041650500FB
+ IDESourceControlProjectName
+ Gestures
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ Gestures/Gestures.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 600031f5..463d7b64 100644
Binary files a/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..586961fd
Binary files /dev/null and b/Gestures/Gestures.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures 2.xcscheme b/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures 2.xcscheme
new file mode 100644
index 00000000..1aee3b75
--- /dev/null
+++ b/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures.xcscheme b/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures.xcscheme
index 21618b2a..b68b5166 100644
--- a/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures.xcscheme
+++ b/Gestures/Gestures.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/Gestures.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:Gestures.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ Gestures 2.xcscheme
+
+ orderHint
+ 1
+
Gestures.xcscheme
orderHint
diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Gestures.xcscheme b/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Gestures.xcscheme
new file mode 100644
index 00000000..a2dab855
--- /dev/null
+++ b/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Gestures.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..3353118a
--- /dev/null
+++ b/Gestures/Gestures.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ Gestures.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0787DA661A2CDA4400F22957
+
+ primary
+
+
+ 0787DA7B1A2CDA4400F22957
+
+ primary
+
+
+
+
+
diff --git a/Gestures/Gestures/AppDelegate.swift b/Gestures/Gestures/AppDelegate.swift
index 91b2d44a..e742df4d 100644
--- a/Gestures/Gestures/AppDelegate.swift
+++ b/Gestures/Gestures/AppDelegate.swift
@@ -3,7 +3,15 @@
// Gestures
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/Gestures/Gestures/Base.lproj/Main.storyboard b/Gestures/Gestures/Base.lproj/Main.storyboard
index 1e5564c8..5b98d6bc 100644
--- a/Gestures/Gestures/Base.lproj/Main.storyboard
+++ b/Gestures/Gestures/Base.lproj/Main.storyboard
@@ -1,15 +1,14 @@
-
+
-
-
+
-
+
@@ -18,11 +17,9 @@
-
+
-
-
@@ -35,7 +32,7 @@
-
+
@@ -44,7 +41,7 @@
-
+
diff --git a/Gestures/Gestures/Info.plist b/Gestures/Gestures/Info.plist
index bebd69a0..6905cc67 100644
--- a/Gestures/Gestures/Info.plist
+++ b/Gestures/Gestures/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Gestures/Gestures/ViewController.swift b/Gestures/Gestures/ViewController.swift
index 515f1e1b..fe7f3c9e 100644
--- a/Gestures/Gestures/ViewController.swift
+++ b/Gestures/Gestures/ViewController.swift
@@ -3,7 +3,15 @@
// Gestures
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -19,33 +27,33 @@ class ViewController: UIViewController {
override func viewDidLoad() {
- //ROTACION
- var rotateGesture = UIRotationGestureRecognizer(target: self, action: "rotateGesture:")
+ //ROTATION
+ let rotateGesture = UIRotationGestureRecognizer(target: self, action: "rotateGesture:")
image.addGestureRecognizer(rotateGesture)
//SWIPE
- var swipeGestureRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureRight.direction = UISwipeGestureRecognizerDirection.Right
image.addGestureRecognizer(swipeGestureRight)
- var swipeGestureDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureDown.direction = UISwipeGestureRecognizerDirection.Down
image.addGestureRecognizer(swipeGestureDown)
- var swipeGestureLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureLeft.direction = UISwipeGestureRecognizerDirection.Left
image.addGestureRecognizer(swipeGestureLeft)
- var swipeGestureUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
+ let swipeGestureUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeGestureUp.direction = UISwipeGestureRecognizerDirection.Up
image.addGestureRecognizer(swipeGestureUp)
//LONG PRESS
- var longPressGesture = UILongPressGestureRecognizer(target: self, action: "action:")
+ let longPressGesture = UILongPressGestureRecognizer(target: self, action: "action:")
longPressGesture.minimumPressDuration = 2.0;
@@ -54,7 +62,7 @@ class ViewController: UIViewController {
super.viewDidLoad()
- image.image = UIImage(named: "imagen1.png")
+ image.image = UIImage(named: "image1.png")
// Do any additional setup after loading the view, typically from a nib.
}
@@ -63,10 +71,10 @@ class ViewController: UIViewController {
// Dispose of any resources that can be recreated.
}
- //ROTACION
+ //ROTATION
@IBAction func rotateGesture(sender : UIRotationGestureRecognizer) {
- var rotation:CGFloat = sender.rotation
- var transform:CGAffineTransform =
+ let rotation:CGFloat = sender.rotation
+ let transform:CGAffineTransform =
CGAffineTransformMakeRotation(rotation + netRotation)
sender.view?.transform = transform
if (sender.state == UIGestureRecognizerState.Ended){
@@ -83,16 +91,16 @@ class ViewController: UIViewController {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Right:
changeImage()
- println("Swiped right")
+ print("Swiped right")
case UISwipeGestureRecognizerDirection.Down:
changeImage()
- println("Swiped down")
+ print("Swiped down")
case UISwipeGestureRecognizerDirection.Left:
changeImage()
- println("Swiped left")
+ print("Swiped left")
case UISwipeGestureRecognizerDirection.Up:
changeImage()
- println("Swiped up")
+ print("Swiped up")
default:
break
}
@@ -106,13 +114,10 @@ class ViewController: UIViewController {
if (gestureRecognizer.state == UIGestureRecognizerState.Began){
- var myAlertView = UIAlertView()
-
- myAlertView.title = "Alerta"
- myAlertView.message = "Gesto Long Press"
- myAlertView.addButtonWithTitle("ok")
-
- myAlertView.show()
+ let alertController = UIAlertController(title: "Alert", message: "Long Press gesture", preferredStyle: .Alert)
+ let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in }
+ alertController.addAction(OKAction)
+ self.presentViewController(alertController, animated: true) { }
}
@@ -122,10 +127,10 @@ class ViewController: UIViewController {
}
func changeImage(){
- if (image.image == UIImage(named: "imagen1.png")){
- image.image = UIImage(named: "imagen2.png")}
+ if (image.image == UIImage(named: "image1.png")){
+ image.image = UIImage(named: "image2.png")}
else{
- image.image = UIImage(named: "imagen1.png")
+ image.image = UIImage(named: "image1.png")
}
}
diff --git a/Gestures/Gestures/imagen1.png b/Gestures/Gestures/image1.png
similarity index 100%
rename from Gestures/Gestures/imagen1.png
rename to Gestures/Gestures/image1.png
diff --git a/Gestures/Gestures/imagen2.png b/Gestures/Gestures/image2.png
similarity index 100%
rename from Gestures/Gestures/imagen2.png
rename to Gestures/Gestures/image2.png
diff --git a/Gestures/GesturesTests/Info.plist b/Gestures/GesturesTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/Gestures/GesturesTests/Info.plist
+++ b/Gestures/GesturesTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GesturesInterfaceBuilder/.DS_Store b/GesturesInterfaceBuilder/.DS_Store
new file mode 100644
index 00000000..52642a54
Binary files /dev/null and b/GesturesInterfaceBuilder/.DS_Store differ
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.pbxproj b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.pbxproj
index a6aaaa00..8fdda580 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.pbxproj
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.pbxproj
@@ -156,7 +156,9 @@
075B41991A2D0DCD008A64BB /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075B41A01A2D0DCD008A64BB = {
@@ -275,6 +277,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -289,7 +292,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -325,7 +328,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -337,7 +340,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GesturesInterfaceBuilder/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -347,7 +352,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = GesturesInterfaceBuilder/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -366,6 +373,7 @@
);
INFOPLIST_FILE = GesturesInterfaceBuilderTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GesturesInterfaceBuilder.app/GesturesInterfaceBuilder";
};
@@ -381,6 +389,7 @@
);
INFOPLIST_FILE = GesturesInterfaceBuilderTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/GesturesInterfaceBuilder.app/GesturesInterfaceBuilder";
};
@@ -405,6 +414,7 @@
075B41C21A2D0DCD008A64BB /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075B41C31A2D0DCD008A64BB /* Build configuration list for PBXNativeTarget "GesturesInterfaceBuilderTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +423,7 @@
075B41C51A2D0DCD008A64BB /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcshareddata/GesturesInterfaceBuilder.xccheckout b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcshareddata/GesturesInterfaceBuilder.xccheckout
new file mode 100644
index 00000000..9d26d5aa
--- /dev/null
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcshareddata/GesturesInterfaceBuilder.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 4F3DC6BA-9816-4406-8B7B-9015A3CF4B2E
+ IDESourceControlProjectName
+ GesturesInterfaceBuilder
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 3ce6ac1b..156bd79e 100644
Binary files a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..4fb142b0
Binary files /dev/null and b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder 2.xcscheme b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder 2.xcscheme
new file mode 100644
index 00000000..563f99ad
--- /dev/null
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme
index a4d0135a..9532b886 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:GesturesInterfaceBuilder.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ GesturesInterfaceBuilder 2.xcscheme
+
+ orderHint
+ 1
+
GesturesInterfaceBuilder.xcscheme
orderHint
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme
new file mode 100644
index 00000000..6e94b49b
--- /dev/null
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/GesturesInterfaceBuilder.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..172f9775
--- /dev/null
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ GesturesInterfaceBuilder.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075B41A01A2D0DCD008A64BB
+
+ primary
+
+
+ 075B41B51A2D0DCD008A64BB
+
+ primary
+
+
+
+
+
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/AppDelegate.swift b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/AppDelegate.swift
index de7ac42d..39a442b2 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/AppDelegate.swift
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/AppDelegate.swift
@@ -3,7 +3,15 @@
// GesturesInterfaceBuilder
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Base.lproj/Main.storyboard b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Base.lproj/Main.storyboard
index 46367088..2991f3ea 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Base.lproj/Main.storyboard
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Info.plist b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Info.plist
index bebd69a0..6905cc67 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Info.plist
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/ViewController.swift b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/ViewController.swift
index 1e1c3afa..7d45d35a 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilder/ViewController.swift
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilder/ViewController.swift
@@ -3,14 +3,22 @@
// GesturesInterfaceBuilder
//
// Created by Carlos Butron on 01/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var boton: UIButton!
+ @IBOutlet weak var button: UIButton!
@@ -46,15 +54,12 @@ class ViewController: UIViewController {
}
- func alert(cadena: String){
-
- var myAlertView = UIAlertView()
-
- myAlertView.title = "Alerta"
- myAlertView.message = cadena
- myAlertView.addButtonWithTitle("OK")
+ func alert(myString: String){
- myAlertView.show()
+ let alertController = UIAlertController(title: "Alert", message: "Long Press gesture", preferredStyle: .Alert)
+ let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in }
+ alertController.addAction(OKAction)
+ self.presentViewController(alertController, animated: true) { }
}
diff --git a/GesturesInterfaceBuilder/GesturesInterfaceBuilderTests/Info.plist b/GesturesInterfaceBuilder/GesturesInterfaceBuilderTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/GesturesInterfaceBuilder/GesturesInterfaceBuilderTests/Info.plist
+++ b/GesturesInterfaceBuilder/GesturesInterfaceBuilderTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/HideKeyboard/.DS_Store b/HideKeyboard/.DS_Store
new file mode 100644
index 00000000..42515141
Binary files /dev/null and b/HideKeyboard/.DS_Store differ
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/project.pbxproj b/HideKeyboard/HideKeyboard.xcodeproj/project.pbxproj
index 99d217c2..a54ea75f 100644
--- a/HideKeyboard/HideKeyboard.xcodeproj/project.pbxproj
+++ b/HideKeyboard/HideKeyboard.xcodeproj/project.pbxproj
@@ -156,7 +156,9 @@
075FD1E01A338F6C00513A3A /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
075FD1E71A338F6C00513A3A = {
@@ -275,6 +277,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -289,7 +292,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -325,7 +328,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -337,7 +340,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = HideKeyboard/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -347,7 +352,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = HideKeyboard/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -366,6 +373,7 @@
);
INFOPLIST_FILE = HideKeyboardTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HideKeyboard.app/HideKeyboard";
};
@@ -381,6 +389,7 @@
);
INFOPLIST_FILE = HideKeyboardTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HideKeyboard.app/HideKeyboard";
};
@@ -405,6 +414,7 @@
075FD2091A338F6C00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD20A1A338F6C00513A3A /* Build configuration list for PBXNativeTarget "HideKeyboardTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +423,7 @@
075FD20C1A338F6C00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcshareddata/HideKeyboard.xccheckout b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcshareddata/HideKeyboard.xccheckout
new file mode 100644
index 00000000..48325e0e
--- /dev/null
+++ b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcshareddata/HideKeyboard.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 615E8CDB-331E-495A-B289-BDF61F0DB1F7
+ IDESourceControlProjectName
+ HideKeyboard
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ HideKeyboard/HideKeyboard.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index ba8ae141..06b169a2 100644
Binary files a/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..d6b1ec20
Binary files /dev/null and b/HideKeyboard/HideKeyboard.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard 2.xcscheme b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard 2.xcscheme
new file mode 100644
index 00000000..2001c355
--- /dev/null
+++ b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard.xcscheme b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard.xcscheme
index d2c3f541..9507421f 100644
--- a/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard.xcscheme
+++ b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/HideKeyboard.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:HideKeyboard.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ HideKeyboard 2.xcscheme
+
+ orderHint
+ 1
+
HideKeyboard.xcscheme
orderHint
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/HideKeyboard.xcscheme b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/HideKeyboard.xcscheme
new file mode 100644
index 00000000..241566b5
--- /dev/null
+++ b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/HideKeyboard.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..67c8c9f8
--- /dev/null
+++ b/HideKeyboard/HideKeyboard.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ HideKeyboard.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD1E71A338F6C00513A3A
+
+ primary
+
+
+ 075FD1FC1A338F6C00513A3A
+
+ primary
+
+
+
+
+
diff --git a/HideKeyboard/HideKeyboard/AppDelegate.swift b/HideKeyboard/HideKeyboard/AppDelegate.swift
index 378893a0..c9c1ead6 100644
--- a/HideKeyboard/HideKeyboard/AppDelegate.swift
+++ b/HideKeyboard/HideKeyboard/AppDelegate.swift
@@ -3,7 +3,15 @@
// HideKeyboard
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/HideKeyboard/HideKeyboard/Info.plist b/HideKeyboard/HideKeyboard/Info.plist
index bebd69a0..6905cc67 100644
--- a/HideKeyboard/HideKeyboard/Info.plist
+++ b/HideKeyboard/HideKeyboard/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/HideKeyboard/HideKeyboard/ViewController.swift b/HideKeyboard/HideKeyboard/ViewController.swift
index 07e49929..547e1b61 100644
--- a/HideKeyboard/HideKeyboard/ViewController.swift
+++ b/HideKeyboard/HideKeyboard/ViewController.swift
@@ -3,7 +3,15 @@
// HideKeyboard
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -26,15 +34,15 @@ class ViewController: UIViewController, UITextFieldDelegate {
// Dispose of any resources that can be recreated.
}
- func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
+ func textFieldShouldReturn(textField: UITextField) -> Bool // called when 'return' key pressed. return NO to ignore.
{
textField.resignFirstResponder()
return true;
}
//called when users tap out of textfield
- override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
- self.view.endEditing(true)
+ override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
+ self.view.endEditing(true)
}
diff --git a/HideKeyboard/HideKeyboardTests/Info.plist b/HideKeyboard/HideKeyboardTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/HideKeyboard/HideKeyboardTests/Info.plist
+++ b/HideKeyboard/HideKeyboardTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/JSONParse/.DS_Store b/JSONParse/.DS_Store
new file mode 100644
index 00000000..3bd06806
Binary files /dev/null and b/JSONParse/.DS_Store differ
diff --git a/JSONParse/JSONParse.xcodeproj/project.pbxproj b/JSONParse/JSONParse.xcodeproj/project.pbxproj
index 5feb10c4..d8b29817 100644
--- a/JSONParse/JSONParse.xcodeproj/project.pbxproj
+++ b/JSONParse/JSONParse.xcodeproj/project.pbxproj
@@ -156,7 +156,9 @@
07E35BC41A2DFCC700CA606C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
07E35BCB1A2DFCC700CA606C = {
@@ -275,6 +277,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -289,7 +292,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -325,7 +328,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -337,7 +340,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = JSONParse/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -347,7 +352,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = JSONParse/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -366,6 +373,7 @@
);
INFOPLIST_FILE = JSONParseTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/JSONParse.app/JSONParse";
};
@@ -381,6 +389,7 @@
);
INFOPLIST_FILE = JSONParseTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/JSONParse.app/JSONParse";
};
@@ -405,6 +414,7 @@
07E35BED1A2DFCC700CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35BEE1A2DFCC700CA606C /* Build configuration list for PBXNativeTarget "JSONParseTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +423,7 @@
07E35BF01A2DFCC700CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcshareddata/JSONParse.xccheckout b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcshareddata/JSONParse.xccheckout
new file mode 100644
index 00000000..a9f30ce1
--- /dev/null
+++ b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcshareddata/JSONParse.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 7DEAFD10-F5BB-47AD-BA65-713760B57BA6
+ IDESourceControlProjectName
+ JSONParse
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ JSONParse/JSONParse.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 96f03105..e1e677fa 100644
Binary files a/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..d2f49017
Binary files /dev/null and b/JSONParse/JSONParse.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse 2.xcscheme b/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse 2.xcscheme
new file mode 100644
index 00000000..974940b4
--- /dev/null
+++ b/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse.xcscheme b/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse.xcscheme
index dd465bea..554a361d 100644
--- a/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse.xcscheme
+++ b/JSONParse/JSONParse.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/JSONParse.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:JSONParse.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ JSONParse 2.xcscheme
+
+ orderHint
+ 1
+
JSONParse.xcscheme
orderHint
diff --git a/AgendaBasica/AgendaBasica.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AgendaBasica.xcscheme b/JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/JSONParse.xcscheme
similarity index 65%
rename from AgendaBasica/AgendaBasica.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AgendaBasica.xcscheme
rename to JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/JSONParse.xcscheme
index 1a0933b1..84d25275 100644
--- a/AgendaBasica/AgendaBasica.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/AgendaBasica.xcscheme
+++ b/JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/JSONParse.xcscheme
@@ -1,6 +1,6 @@
+ BlueprintIdentifier = "07E35BCB1A2DFCC700CA606C"
+ BuildableName = "JSONParse.app"
+ BlueprintName = "JSONParse"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
+ BlueprintIdentifier = "07E35BE01A2DFCC700CA606C"
+ BuildableName = "JSONParseTests.xctest"
+ BlueprintName = "JSONParseTests"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
@@ -46,20 +46,20 @@
skipped = "NO">
+ BlueprintIdentifier = "07E35BE01A2DFCC700CA606C"
+ BuildableName = "JSONParseTests.xctest"
+ BlueprintName = "JSONParseTests"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
+ BlueprintIdentifier = "07E35BCB1A2DFCC700CA606C"
+ BuildableName = "JSONParse.app"
+ BlueprintName = "JSONParse"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
@@ -72,13 +72,14 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
-
+
+ BlueprintIdentifier = "07E35BCB1A2DFCC700CA606C"
+ BuildableName = "JSONParse.app"
+ BlueprintName = "JSONParse"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
@@ -90,13 +91,14 @@
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
-
+
+ BlueprintIdentifier = "07E35BCB1A2DFCC700CA606C"
+ BuildableName = "JSONParse.app"
+ BlueprintName = "JSONParse"
+ ReferencedContainer = "container:JSONParse.xcodeproj">
diff --git a/JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..d40b9599
--- /dev/null
+++ b/JSONParse/JSONParse.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ JSONParse.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35BCB1A2DFCC700CA606C
+
+ primary
+
+
+ 07E35BE01A2DFCC700CA606C
+
+ primary
+
+
+
+
+
diff --git a/JSONParse/JSONParse/AppDelegate.swift b/JSONParse/JSONParse/AppDelegate.swift
index ea2d3a46..0a89722c 100644
--- a/JSONParse/JSONParse/AppDelegate.swift
+++ b/JSONParse/JSONParse/AppDelegate.swift
@@ -3,8 +3,16 @@
// JSONParse
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/JSONParse/JSONParse/Base.lproj/Main.storyboard b/JSONParse/JSONParse/Base.lproj/Main.storyboard
index d1e6336a..8867b0f1 100644
--- a/JSONParse/JSONParse/Base.lproj/Main.storyboard
+++ b/JSONParse/JSONParse/Base.lproj/Main.storyboard
@@ -1,14 +1,15 @@
-
+
-
+
+
-
+
@@ -20,10 +21,6 @@
-
-
-
-
Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.
@@ -31,15 +28,13 @@
-
-
+
-
@@ -48,7 +43,6 @@
-
@@ -58,12 +52,13 @@
+
-
-
-
+
+
+
@@ -71,9 +66,4 @@
-
-
-
-
-
diff --git a/JSONParse/JSONParse/Info.plist b/JSONParse/JSONParse/Info.plist
index bebd69a0..80eba706 100644
--- a/JSONParse/JSONParse/Info.plist
+++ b/JSONParse/JSONParse/Info.plist
@@ -2,12 +2,17 @@
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
CFBundleDevelopmentRegion
en
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/JSONParse/JSONParse/ViewController.swift b/JSONParse/JSONParse/ViewController.swift
index 79433d95..0a9284ce 100644
--- a/JSONParse/JSONParse/ViewController.swift
+++ b/JSONParse/JSONParse/ViewController.swift
@@ -3,7 +3,15 @@
// JSONParse
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,29 +19,29 @@ import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var imagen: UIImageView!
- @IBOutlet weak var titulo: UILabel!
- @IBOutlet weak var descripcion: UITextView!
+ @IBOutlet weak var image: UIImageView!
+ @IBOutlet weak var tittle: UILabel!
+ @IBOutlet weak var myDescription: UITextView!
var dataJSON = NSMutableData()
override func viewDidLoad() {
super.viewDidLoad()
- var stringURL:NSString = "https://itunes.apple.com/es/rss/topfreeapplications/limit=10/json"
- //Construirmos el NSURL
- var url = NSURL(string: stringURL)
- //Construimos la petición NSURLRequest
- var request = NSURLRequest(URL: url!)
- //Creamos la conexion
- var conexion: NSURLConnection? = NSURLConnection(request: request, delegate: self)
+ let stringURL:NSString = "https://itunes.apple.com/es/rss/topfreeapplications/limit=10/json"
+ //building NSURL
+ let url = NSURL(string: stringURL as String)
+ //building NSURLRequest
+ let request = NSURLRequest(URL: url!)
+ //connection
+ let connection: NSURLConnection? = NSURLConnection(request: request, delegate: self)
- if (conexion != nil){
- println("Conectando...")
+ if (connection != nil){
+ print("Connecting...")
dataJSON = NSMutableData()
}
else{
- println("Imposible realizar la conexion")
+ print("Connection failed")
}
@@ -46,12 +54,12 @@ class ViewController: UIViewController {
}
func connection(connection: NSURLConnection!, didFailWithError error: NSError!){
- println("Error: \(error)")
+ print("Error: \(error)")
}
func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!){
- println("Received response: \(response)")
- //Como puede ser llamado varias veces, reiniciamos los datos
+ print("Received response: \(response)")
+ //restore data
dataJSON.length = 0
}
@@ -60,21 +68,32 @@ class ViewController: UIViewController {
}
func connectionDidFinishLoading(connection: NSURLConnection!){
- var error: NSError?
- if var dic = NSJSONSerialization.JSONObjectWithData(dataJSON, options: NSJSONReadingOptions.MutableContainers, error: &error) as? NSDictionary{
+
+ do {
+
+ let dic:NSDictionary! = try NSJSONSerialization.JSONObjectWithData(dataJSON, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
+
//A partir del JSON obtenemos la primera entrada
- var top1: AnyObject = ((dic["feed"] as NSDictionary) ["entry"]! as NSArray) [2]
- var imgJson: AnyObject = (top1["im:image"] as NSArray) [2]
- var url = NSURL(string: imgJson.objectForKey("label") as String)
- var data = NSData(contentsOfURL: url!)
- var img = UIImage(data: data!)
- imagen.image = img
- //Obtenemos el título y la descripción
- var tit = (top1["title"] as NSDictionary) ["label"] as NSString
- var desc = (top1["summary"] as NSDictionary) ["label"] as NSString
- titulo.text = tit
- descripcion.text = desc
+ let top1: AnyObject = ((dic["feed"] as! NSDictionary) ["entry"]! as! NSArray) [2]
+ let imgJson: AnyObject = (top1["im:image"] as! NSArray) [2]
+ let url = NSURL(string: imgJson.objectForKey("label") as! String)
+ let data = NSData(contentsOfURL: url!)
+ let img = UIImage(data: data!)
+ image.image = img
+ //get tittle and description
+ let tit = (top1["title"] as! NSDictionary) ["label"] as! NSString
+ let desc = (top1["summary"] as! NSDictionary) ["label"] as! NSString
+ tittle.text = tit as String
+ myDescription.text = desc as String
+
+ } catch {
+ // failure
+ print("Fetch failed: \((error as NSError).localizedDescription)")
}
+
+
+
+
}
}
diff --git a/JSONParse/JSONParseTests/Info.plist b/JSONParse/JSONParseTests/Info.plist
index 9462fbcd..ba72822e 100644
--- a/JSONParse/JSONParseTests/Info.plist
+++ b/JSONParse/JSONParseTests/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100755
index 00000000..96e8ee05
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ {one line to give the program's name and a brief idea of what it does.}
+ Copyright (C) {year} {name of author}
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ {project} Copyright (C) {year} {fullname}
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+
diff --git a/MapKit iPad/.DS_Store b/MapKit iPad/.DS_Store
new file mode 100644
index 00000000..dc2c1bcc
Binary files /dev/null and b/MapKit iPad/.DS_Store differ
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/project.pbxproj b/MapKit iPad/MapKit iPad.xcodeproj/project.pbxproj
index 66dafffe..09f85fb7 100644
--- a/MapKit iPad/MapKit iPad.xcodeproj/project.pbxproj
+++ b/MapKit iPad/MapKit iPad.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 077CF9F91ADAFD6400D20B9B /* MyAnotation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9F81ADAFD6400D20B9B /* MyAnotation.swift */; };
078280F51A2D47FB00759CE8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078280F41A2D47FB00759CE8 /* AppDelegate.swift */; };
078280F71A2D47FB00759CE8 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078280F61A2D47FB00759CE8 /* ViewController.swift */; };
078280FA1A2D47FB00759CE8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 078280F81A2D47FB00759CE8 /* Main.storyboard */; };
@@ -14,7 +15,6 @@
078280FF1A2D47FB00759CE8 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 078280FD1A2D47FB00759CE8 /* LaunchScreen.xib */; };
0782810B1A2D47FB00759CE8 /* MapKit_iPadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0782810A1A2D47FB00759CE8 /* MapKit_iPadTests.swift */; };
078281151A2D480600759CE8 /* mypin.png in Resources */ = {isa = PBXBuildFile; fileRef = 078281141A2D480600759CE8 /* mypin.png */; };
- 078281171A2D480E00759CE8 /* MiAnotacion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078281161A2D480E00759CE8 /* MiAnotacion.swift */; };
078281191A2D482B00759CE8 /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 078281181A2D482B00759CE8 /* MapKit.framework */; };
/* End PBXBuildFile section */
@@ -29,6 +29,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 077CF9F81ADAFD6400D20B9B /* MyAnotation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MyAnotation.swift; path = ../MyAnotation.swift; sourceTree = ""; };
078280EF1A2D47FB00759CE8 /* MapKit iPad.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MapKit iPad.app"; sourceTree = BUILT_PRODUCTS_DIR; };
078280F31A2D47FB00759CE8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
078280F41A2D47FB00759CE8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
@@ -40,7 +41,6 @@
078281091A2D47FB00759CE8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
0782810A1A2D47FB00759CE8 /* MapKit_iPadTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapKit_iPadTests.swift; sourceTree = ""; };
078281141A2D480600759CE8 /* mypin.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = mypin.png; sourceTree = ""; };
- 078281161A2D480E00759CE8 /* MiAnotacion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MiAnotacion.swift; sourceTree = ""; };
078281181A2D482B00759CE8 /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -88,7 +88,7 @@
078281141A2D480600759CE8 /* mypin.png */,
078280F41A2D47FB00759CE8 /* AppDelegate.swift */,
078280F61A2D47FB00759CE8 /* ViewController.swift */,
- 078281161A2D480E00759CE8 /* MiAnotacion.swift */,
+ 077CF9F81ADAFD6400D20B9B /* MyAnotation.swift */,
078280F81A2D47FB00759CE8 /* Main.storyboard */,
078280FB1A2D47FB00759CE8 /* Images.xcassets */,
078280FD1A2D47FB00759CE8 /* LaunchScreen.xib */,
@@ -224,8 +224,8 @@
buildActionMask = 2147483647;
files = (
078280F71A2D47FB00759CE8 /* ViewController.swift in Sources */,
- 078281171A2D480E00759CE8 /* MiAnotacion.swift in Sources */,
078280F51A2D47FB00759CE8 /* AppDelegate.swift in Sources */,
+ 077CF9F91ADAFD6400D20B9B /* MyAnotation.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -351,6 +351,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = "MapKit iPad/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -361,6 +362,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = "MapKit iPad/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -419,6 +421,7 @@
078281101A2D47FB00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
078281111A2D47FB00759CE8 /* Build configuration list for PBXNativeTarget "MapKit iPadTests" */ = {
isa = XCConfigurationList;
@@ -427,6 +430,7 @@
078281131A2D47FB00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcshareddata/MapKit iPad.xccheckout b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcshareddata/MapKit iPad.xccheckout
new file mode 100644
index 00000000..c277b051
--- /dev/null
+++ b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcshareddata/MapKit iPad.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 97BBB3EB-0644-4D3A-8EA2-CBCFA6A662CF
+ IDESourceControlProjectName
+ MapKit iPad
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ MapKit iPad/MapKit iPad.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 4f9be453..588aac77 100644
Binary files a/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a0ddafd4
Binary files /dev/null and b/MapKit iPad/MapKit iPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MapKit iPad.xcscheme b/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MapKit iPad.xcscheme
new file mode 100644
index 00000000..0ae3af21
--- /dev/null
+++ b/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MapKit iPad.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..bab777c6
--- /dev/null
+++ b/MapKit iPad/MapKit iPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MapKit iPad.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 078280EE1A2D47FB00759CE8
+
+ primary
+
+
+ 078281031A2D47FB00759CE8
+
+ primary
+
+
+
+
+
diff --git a/MapKit iPad/MapKit iPad/AppDelegate.swift b/MapKit iPad/MapKit iPad/AppDelegate.swift
index f5f0c38a..618ae827 100644
--- a/MapKit iPad/MapKit iPad/AppDelegate.swift
+++ b/MapKit iPad/MapKit iPad/AppDelegate.swift
@@ -3,8 +3,16 @@
// MapKit iPad
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/MapKit iPad/MapKit iPad/Base.lproj/Main.storyboard b/MapKit iPad/MapKit iPad/Base.lproj/Main.storyboard
index be42573e..b77f12b5 100644
--- a/MapKit iPad/MapKit iPad/Base.lproj/Main.storyboard
+++ b/MapKit iPad/MapKit iPad/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -21,19 +21,19 @@
-
+
-
+
-
+
@@ -42,13 +42,13 @@
-
+
-
+
@@ -64,9 +64,9 @@
-
-
-
+
+
+
diff --git a/MapKit iPad/MapKit iPad/MiAnotacion.swift b/MapKit iPad/MapKit iPad/MiAnotacion.swift
deleted file mode 100644
index a460e0a3..00000000
--- a/MapKit iPad/MapKit iPad/MiAnotacion.swift
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// MiAnotacion.swift
-// MapKit iPad
-//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-import MapKit
-
-class MiAnotacion: NSObject, MKAnnotation {
-
- var title: NSString
- var subtitle: NSString
- var coordinate: CLLocationCoordinate2D
- func getTitle() -> NSString{
- return self.title
- }
- func getSubTitle() -> NSString {
- return self.subtitle
- }
- init(c:CLLocationCoordinate2D, t:NSString, st: NSString){
- coordinate = c
- title = t
- subtitle = st
- }
-
-
-
-
-}
diff --git a/MapKit iPad/MapKit iPad/ViewController.swift b/MapKit iPad/MapKit iPad/ViewController.swift
index 5f2d22e4..5cf4645f 100644
--- a/MapKit iPad/MapKit iPad/ViewController.swift
+++ b/MapKit iPad/MapKit iPad/ViewController.swift
@@ -3,7 +3,15 @@
// MapKit iPad
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,20 +22,20 @@ import MapKit
class ViewController: UIViewController, MKMapViewDelegate {
- @IBOutlet weak var latitud: UILabel!
- @IBOutlet weak var longitud: UILabel!
- @IBOutlet weak var mapa: MKMapView!
+ @IBOutlet weak var latitude: UILabel!
+ @IBOutlet weak var longitude: UILabel!
+ @IBOutlet weak var myMap: MKMapView!
var set = NSMutableArray()
- @IBAction func creaAnotacion(sender: AnyObject) {
+ @IBAction func createAnotation(sender: AnyObject) {
- var a = MiAnotacion(c: mapa.centerCoordinate, t: "Centro", st: "El centro del mapa")
+ var a = MyAnotation(c: myMap.centerCoordinate, t: "Center", st: "The map center")
- mapView(mapa, viewForAnnotation: a)
+ mapView(myMap, viewForAnnotation: a)
- mapa.addAnnotation(a)
+ myMap.addAnnotation(a)
set.addObject(a)
@@ -35,20 +43,20 @@ class ViewController: UIViewController, MKMapViewDelegate {
}
- @IBAction func borrarAnotacion(sender: AnyObject) {
+ @IBAction func deleteAnotation(sender: AnyObject) {
- for (var i=0; i MKAnnotationView!{
var pinView:MKPinAnnotationView = MKPinAnnotationView(annotation:
annotation, reuseIdentifier: "Custom")
- //descomentamos esta linea para darle color purpura y comentamos la siguiente de la imagen
+ //purple color to anotation
//pinView.pinColor = MKPinAnnotationColor.Purple
pinView.image = UIImage(named:"mypin.png")
return pinView
diff --git a/MapKit iPad/MyAnotation.swift b/MapKit iPad/MyAnotation.swift
new file mode 100644
index 00000000..329ecf1b
--- /dev/null
+++ b/MapKit iPad/MyAnotation.swift
@@ -0,0 +1,40 @@
+//
+// MyAnotation.swift
+// MapKit iPad
+//
+// Created by Carlos Butron on 12/04/15.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+import MapKit
+
+class MyAnotation: NSObject, MKAnnotation {
+
+ var title: String
+ var subtitle: String
+ var coordinate: CLLocationCoordinate2D
+ func getTitle() -> NSString{
+ return self.title
+ }
+ func getSubTitle() -> NSString {
+ return self.subtitle
+ }
+ init(c:CLLocationCoordinate2D, t:String, st: String){
+ coordinate = c
+ title = t
+ subtitle = st
+ }
+
+
+
+
+}
diff --git a/MasterDetailiPad/.DS_Store b/MasterDetailiPad/.DS_Store
new file mode 100644
index 00000000..49409ca7
Binary files /dev/null and b/MasterDetailiPad/.DS_Store differ
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.pbxproj b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.pbxproj
index 92294d70..83eb5d4e 100644
--- a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.pbxproj
+++ b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.pbxproj
@@ -16,10 +16,10 @@
075FD4251A34C25700513A3A /* summericons_100px_03@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4201A34C25700513A3A /* summericons_100px_03@2x.png */; };
075FD4261A34C25700513A3A /* summericons_100px_04@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4211A34C25700513A3A /* summericons_100px_04@2x.png */; };
075FD4271A34C25700513A3A /* summericons_100px_05@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4221A34C25700513A3A /* summericons_100px_05@2x.png */; };
- 075FD42B1A34C26600513A3A /* Listado.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD4281A34C26600513A3A /* Listado.swift */; };
075FD42C1A34C26600513A3A /* MasterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD4291A34C26600513A3A /* MasterViewController.swift */; };
075FD42D1A34C26600513A3A /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD42A1A34C26600513A3A /* DetailViewController.swift */; };
075FD42F1A34C43F00513A3A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD42E1A34C43F00513A3A /* AppDelegate.swift */; };
+ 077CF9FB1ADB1F8800D20B9B /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9FA1ADB1F8800D20B9B /* List.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -46,10 +46,10 @@
075FD4201A34C25700513A3A /* summericons_100px_03@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "summericons_100px_03@2x.png"; sourceTree = ""; };
075FD4211A34C25700513A3A /* summericons_100px_04@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "summericons_100px_04@2x.png"; sourceTree = ""; };
075FD4221A34C25700513A3A /* summericons_100px_05@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "summericons_100px_05@2x.png"; sourceTree = ""; };
- 075FD4281A34C26600513A3A /* Listado.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Listado.swift; sourceTree = ""; };
075FD4291A34C26600513A3A /* MasterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MasterViewController.swift; sourceTree = ""; };
075FD42A1A34C26600513A3A /* DetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailViewController.swift; sourceTree = ""; };
075FD42E1A34C43F00513A3A /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 077CF9FA1ADB1F8800D20B9B /* List.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = List.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -97,7 +97,7 @@
075FD4211A34C25700513A3A /* summericons_100px_04@2x.png */,
075FD4221A34C25700513A3A /* summericons_100px_05@2x.png */,
075FD42E1A34C43F00513A3A /* AppDelegate.swift */,
- 075FD4281A34C26600513A3A /* Listado.swift */,
+ 077CF9FA1ADB1F8800D20B9B /* List.swift */,
075FD4291A34C26600513A3A /* MasterViewController.swift */,
075FD42A1A34C26600513A3A /* DetailViewController.swift */,
075FD4021A34C24800513A3A /* Main.storyboard */,
@@ -241,7 +241,7 @@
075FD42F1A34C43F00513A3A /* AppDelegate.swift in Sources */,
075FD42C1A34C26600513A3A /* MasterViewController.swift in Sources */,
075FD42D1A34C26600513A3A /* DetailViewController.swift in Sources */,
- 075FD42B1A34C26600513A3A /* Listado.swift in Sources */,
+ 077CF9FB1ADB1F8800D20B9B /* List.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -367,6 +367,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MasterDetailiPad/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -377,6 +378,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MasterDetailiPad/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -435,6 +437,7 @@
075FD41A1A34C24800513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD41B1A34C24800513A3A /* Build configuration list for PBXNativeTarget "MasterDetailiPadTests" */ = {
isa = XCConfigurationList;
@@ -443,6 +446,7 @@
075FD41D1A34C24800513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcshareddata/MasterDetailiPad.xccheckout b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcshareddata/MasterDetailiPad.xccheckout
new file mode 100644
index 00000000..7f95e733
--- /dev/null
+++ b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcshareddata/MasterDetailiPad.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 381D96E9-19F3-461F-901B-A78575A5280D
+ IDESourceControlProjectName
+ MasterDetailiPad
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ MasterDetailiPad/MasterDetailiPad.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 29ea7f06..1506db04 100644
Binary files a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..5db32f99
Binary files /dev/null and b/MasterDetailiPad/MasterDetailiPad.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MasterDetailiPad.xcscheme b/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MasterDetailiPad.xcscheme
new file mode 100644
index 00000000..6f0d0fcb
--- /dev/null
+++ b/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MasterDetailiPad.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..6d8702dd
--- /dev/null
+++ b/MasterDetailiPad/MasterDetailiPad.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MasterDetailiPad.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD3F81A34C24700513A3A
+
+ primary
+
+
+ 075FD40D1A34C24800513A3A
+
+ primary
+
+
+
+
+
diff --git a/MasterDetailiPad/MasterDetailiPad/AppDelegate.swift b/MasterDetailiPad/MasterDetailiPad/AppDelegate.swift
index a7f55c49..ff35b325 100644
--- a/MasterDetailiPad/MasterDetailiPad/AppDelegate.swift
+++ b/MasterDetailiPad/MasterDetailiPad/AppDelegate.swift
@@ -3,7 +3,15 @@
// MasterDetailiPad
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -16,8 +24,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
- let splitViewController = self.window!.rootViewController as UISplitViewController
- let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController
+ let splitViewController = self.window!.rootViewController as! UISplitViewController
+ let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
splitViewController.delegate = self
return true
diff --git a/MasterDetailiPad/MasterDetailiPad/Base.lproj/Main.storyboard b/MasterDetailiPad/MasterDetailiPad/Base.lproj/Main.storyboard
index 6be47b10..88d4cb37 100644
--- a/MasterDetailiPad/MasterDetailiPad/Base.lproj/Main.storyboard
+++ b/MasterDetailiPad/MasterDetailiPad/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
diff --git a/MasterDetailiPad/MasterDetailiPad/DetailViewController.swift b/MasterDetailiPad/MasterDetailiPad/DetailViewController.swift
index cd6b3dc3..94a02a24 100644
--- a/MasterDetailiPad/MasterDetailiPad/DetailViewController.swift
+++ b/MasterDetailiPad/MasterDetailiPad/DetailViewController.swift
@@ -3,7 +3,15 @@
// MasterDetailiPad
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,7 +22,7 @@ class DetailViewController: UIViewController {
@IBOutlet weak var detailImage: UIImageView!
- var detailItem: Listado? {
+ var detailItem: List? {
didSet {
// Update the view.
self.configureView()
@@ -23,10 +31,10 @@ class DetailViewController: UIViewController {
func configureView() {
// Update the user interface for the detail item.
- if let detail: Listado = self.detailItem {
+ if let detail: List = self.detailItem {
if let label = self.detailDescriptionLabel {
- label.text = detail.nombre
- detailImage.image = UIImage (named: "\(detail.imagen)")
+ label.text = detail.name
+ detailImage.image = UIImage (named: "\(detail.image)")
}
}
}
diff --git a/MasterDetailiPad/MasterDetailiPad/List.swift b/MasterDetailiPad/MasterDetailiPad/List.swift
new file mode 100644
index 00000000..603ef4d8
--- /dev/null
+++ b/MasterDetailiPad/MasterDetailiPad/List.swift
@@ -0,0 +1,35 @@
+//
+// List.swift
+// MasterDetailiPad
+//
+// Created by Carlos Butron on 12/04/15.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class List: NSObject {
+
+ var name: String
+ var image: String
+
+
+ init (name: String, image: String){
+
+ self.name = name
+ self.image = image
+ }
+
+ // let packItems = ["Sketch", "Esbozo", "Skizzen", "Schizzo ", "Schets"]
+
+
+
+}
diff --git a/MasterDetailiPad/MasterDetailiPad/Listado.swift b/MasterDetailiPad/MasterDetailiPad/Listado.swift
deleted file mode 100644
index 0a29ba16..00000000
--- a/MasterDetailiPad/MasterDetailiPad/Listado.swift
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Listado.swift
-// MasterDetailiPad
-//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class Listado: NSObject {
-
- var nombre: String
- var imagen: String
-
-
- init (nombre: String, imagen: String){
-
- self.nombre = nombre
- self.imagen = imagen
- }
-
- // let packItems = ["Sketch", "Esbozo", "Skizzen", "Schizzo ", "Schets"]
-
-
-
-}
diff --git a/MasterDetailiPad/MasterDetailiPad/MasterViewController.swift b/MasterDetailiPad/MasterDetailiPad/MasterViewController.swift
index 80b6c1a7..e1e60612 100644
--- a/MasterDetailiPad/MasterDetailiPad/MasterViewController.swift
+++ b/MasterDetailiPad/MasterDetailiPad/MasterViewController.swift
@@ -3,7 +3,15 @@
// MasterDetailiPad
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -13,7 +21,7 @@ class MasterViewController: UITableViewController {
var detailViewController: DetailViewController? = nil
var objects = NSMutableArray()
- var packItems: [Listado] = []
+ var packItems: [List] = []
override func awakeFromNib() {
@@ -26,11 +34,11 @@ class MasterViewController: UITableViewController {
super.viewDidLoad()
- packItems.append(Listado(nombre: "Sketch", imagen: "summericons_100px_01@2x.png"))
- packItems.append(Listado(nombre: "Esbozo", imagen: "summericons_100px_02@2x.png"))
- packItems.append(Listado(nombre: "Skizzen", imagen: "summericons_100px_03@2x.png"))
- packItems.append(Listado(nombre: "Schizzo", imagen: "summericons_100px_04@2x.png"))
- packItems.append(Listado(nombre: "Schets", imagen: "summericons_100px_05@2x.png"))
+ packItems.append(List(name: "Sketch", image: "summericons_100px_01@2x.png"))
+ packItems.append(List(name: "Esbozo", image: "summericons_100px_02@2x.png"))
+ packItems.append(List(name: "Skizzen", image: "summericons_100px_03@2x.png"))
+ packItems.append(List(name: "Schizzo", image: "summericons_100px_04@2x.png"))
+ packItems.append(List(name: "Schets", image: "summericons_100px_05@2x.png"))
// Do any additional setup after loading the view, typically from a nib.
// self.navigationItem.leftBarButtonItem = self.editButtonItem()
@@ -57,8 +65,8 @@ class MasterViewController: UITableViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetail" {
if let indexPath = self.tableView.indexPathForSelectedRow() {
- let object = packItems[indexPath.row] as Listado
- let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController
+ let object = packItems[indexPath.row] as List
+ let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController
controller.detailItem = object
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
@@ -77,9 +85,9 @@ class MasterViewController: UITableViewController {
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
+ let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
- cell.textLabel.text = packItems[indexPath.row].nombre
+ cell.textLabel!.text = packItems[indexPath.row].name
return cell
}
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.pbxproj b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.pbxproj
index ec22956d..782cf1e9 100644
--- a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.pbxproj
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.pbxproj
@@ -345,6 +345,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MediaPlayerFrameworkVideoSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -355,6 +356,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MediaPlayerFrameworkVideoSample1/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -413,6 +415,7 @@
075FD5881A34E0B200513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD5891A34E0B200513A3A /* Build configuration list for PBXNativeTarget "MediaPlayerFrameworkVideoSample1Tests" */ = {
isa = XCConfigurationList;
@@ -421,6 +424,7 @@
075FD58B1A34E0B200513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample1.xccheckout b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample1.xccheckout
new file mode 100644
index 00000000..ed46a518
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample1.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 714A518F-B472-45D7-B40B-EE213026EAB1
+ IDESourceControlProjectName
+ MediaPlayerFrameworkVideoSample1
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 7deda104..24449469 100644
Binary files a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..176eafd8
Binary files /dev/null and b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample1.xcscheme b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample1.xcscheme
new file mode 100644
index 00000000..84c7a41d
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample1.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..fe6a4718
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MediaPlayerFrameworkVideoSample1.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD5661A34E0B200513A3A
+
+ primary
+
+
+ 075FD57B1A34E0B200513A3A
+
+ primary
+
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/AppDelegate.swift b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/AppDelegate.swift
index 9f2ffcda..b4b494dc 100644
--- a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/AppDelegate.swift
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/AppDelegate.swift
@@ -3,7 +3,15 @@
// MediaPlayerFrameworkVideoSample1
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/ViewController.swift b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/ViewController.swift
index 2d32ccc3..a2623db9 100644
--- a/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/ViewController.swift
+++ b/MediaPlayerFrameworkVideoSample1/MediaPlayerFrameworkVideoSample1/ViewController.swift
@@ -3,7 +3,15 @@
// MediaPlayerFrameworkVideoSample1
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -17,7 +25,7 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var bundle = NSBundle.mainBundle()
- //Nuestro vídeo es 02.mov
+ //our video is 02.mov
var moviePath = bundle.pathForResource("02", ofType: "mov")
var url = NSURL(fileURLWithPath: moviePath!)
theMovie = MPMoviePlayerController(contentURL: url)
diff --git a/MediaPlayerFrameworkVideoSample2/.DS_Store b/MediaPlayerFrameworkVideoSample2/.DS_Store
new file mode 100644
index 00000000..a8d41f86
Binary files /dev/null and b/MediaPlayerFrameworkVideoSample2/.DS_Store differ
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.pbxproj b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.pbxproj
index 93f5ec7d..516e98dc 100644
--- a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.pbxproj
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.pbxproj
@@ -345,6 +345,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MediaPlayerFrameworkVideoSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -355,6 +356,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = MediaPlayerFrameworkVideoSample2/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -413,6 +415,7 @@
075FD5BA1A34E23100513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD5BB1A34E23100513A3A /* Build configuration list for PBXNativeTarget "MediaPlayerFrameworkVideoSample2Tests" */ = {
isa = XCConfigurationList;
@@ -421,6 +424,7 @@
075FD5BD1A34E23100513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample2.xccheckout b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample2.xccheckout
new file mode 100644
index 00000000..0f3ba810
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcshareddata/MediaPlayerFrameworkVideoSample2.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 3514BD95-1B83-43C1-AF68-E5ED2CCAFD8E
+ IDESourceControlProjectName
+ MediaPlayerFrameworkVideoSample2
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index e6cdceb5..01284d43 100644
Binary files a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..0609c375
Binary files /dev/null and b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample2.xcscheme b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample2.xcscheme
new file mode 100644
index 00000000..ecdf3b0f
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MediaPlayerFrameworkVideoSample2.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..f731f9e7
--- /dev/null
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MediaPlayerFrameworkVideoSample2.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD5981A34E23100513A3A
+
+ primary
+
+
+ 075FD5AD1A34E23100513A3A
+
+ primary
+
+
+
+
+
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/AppDelegate.swift b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/AppDelegate.swift
index 69d77fab..7bcdc20c 100644
--- a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/AppDelegate.swift
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/AppDelegate.swift
@@ -3,7 +3,15 @@
// MediaPlayerFrameworkVideoSample2
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/Base.lproj/Main.storyboard b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/Base.lproj/Main.storyboard
index fe34b472..ec79ae34 100644
--- a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/Base.lproj/Main.storyboard
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
diff --git a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/ViewController.swift b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/ViewController.swift
index b8738667..c3ededef 100644
--- a/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/ViewController.swift
+++ b/MediaPlayerFrameworkVideoSample2/MediaPlayerFrameworkVideoSample2/ViewController.swift
@@ -3,7 +3,15 @@
// MediaPlayerFrameworkVideoSample2
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -62,7 +70,7 @@ class ViewController: UIViewController {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "moviePlayBackDidFinish", name: MPMoviePlayerPlaybackDidFinishNotification, object: theMovie)
var bundle = NSBundle.mainBundle()
- //Nuestro vídeo es 02.mov
+ //our video is 02.mov
var moviePath = bundle.pathForResource("02", ofType: "mov")
var url = NSURL(fileURLWithPath: moviePath!)
theMovie = MPMoviePlayerController(contentURL: url)
diff --git a/MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
deleted file mode 100644
index 4bc33d35..00000000
Binary files a/MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ
diff --git a/MultiTarea/MultiTarea/ViewController.swift b/MultiTarea/MultiTarea/ViewController.swift
deleted file mode 100644
index 31721b46..00000000
--- a/MultiTarea/MultiTarea/ViewController.swift
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// ViewController.swift
-// MultiTarea
-//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class ViewController: UIViewController {
-
- @IBOutlet weak var mensaje: UILabel!
- @IBOutlet weak var notificacion: UILabel!
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- NSNotificationCenter.defaultCenter().addObserver(self, selector: "actualizarInterfaz:", name: UIApplicationWillEnterForegroundNotification, object: nil)
- // Do any additional setup after loading the view, typically from a nib.
- }
-
- func actualizarInterfaz (notification: NSNotification){
-
- notificacion.text = "Volvemos de segundo plano con notificación"
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
-}
-
-
-
diff --git a/MultiTask/.DS_Store b/MultiTask/.DS_Store
new file mode 100644
index 00000000..758a8234
Binary files /dev/null and b/MultiTask/.DS_Store differ
diff --git a/CoreImage/CoreImage.xcodeproj/project.pbxproj b/MultiTask/MultiTask.xcodeproj/project.pbxproj
similarity index 55%
rename from CoreImage/CoreImage.xcodeproj/project.pbxproj
rename to MultiTask/MultiTask.xcodeproj/project.pbxproj
index d189f24a..a631742d 100644
--- a/CoreImage/CoreImage.xcodeproj/project.pbxproj
+++ b/MultiTask/MultiTask.xcodeproj/project.pbxproj
@@ -7,48 +7,46 @@
objects = {
/* Begin PBXBuildFile section */
- 075FD49F1A34D3BA00513A3A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD49E1A34D3BA00513A3A /* AppDelegate.swift */; };
- 075FD4A11A34D3BA00513A3A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD4A01A34D3BA00513A3A /* ViewController.swift */; };
- 075FD4A41A34D3BA00513A3A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4A21A34D3BA00513A3A /* Main.storyboard */; };
- 075FD4A61A34D3BA00513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4A51A34D3BA00513A3A /* Images.xcassets */; };
- 075FD4A91A34D3BA00513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4A71A34D3BA00513A3A /* LaunchScreen.xib */; };
- 075FD4B51A34D3BB00513A3A /* CoreImageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD4B41A34D3BB00513A3A /* CoreImageTests.swift */; };
- 075FD4BF1A34D3EE00513A3A /* imagen.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 075FD4BE1A34D3EE00513A3A /* imagen.jpg */; };
+ 077CFA0B1ADB279300D20B9B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CFA0A1ADB279300D20B9B /* AppDelegate.swift */; };
+ 077CFA0D1ADB279300D20B9B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CFA0C1ADB279300D20B9B /* ViewController.swift */; };
+ 077CFA101ADB279300D20B9B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 077CFA0E1ADB279300D20B9B /* Main.storyboard */; };
+ 077CFA121ADB279300D20B9B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 077CFA111ADB279300D20B9B /* Images.xcassets */; };
+ 077CFA151ADB279300D20B9B /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 077CFA131ADB279300D20B9B /* LaunchScreen.xib */; };
+ 077CFA211ADB279300D20B9B /* MultiTaskTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CFA201ADB279300D20B9B /* MultiTaskTests.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 075FD4AF1A34D3BB00513A3A /* PBXContainerItemProxy */ = {
+ 077CFA1B1ADB279300D20B9B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
- containerPortal = 075FD4911A34D3BA00513A3A /* Project object */;
+ containerPortal = 077CF9FD1ADB279300D20B9B /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 075FD4981A34D3BA00513A3A;
- remoteInfo = CoreImage;
+ remoteGlobalIDString = 077CFA041ADB279300D20B9B;
+ remoteInfo = MultiTask;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 075FD4991A34D3BA00513A3A /* CoreImage.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CoreImage.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 075FD49D1A34D3BA00513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 075FD49E1A34D3BA00513A3A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 075FD4A01A34D3BA00513A3A /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- 075FD4A31A34D3BA00513A3A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 075FD4A51A34D3BA00513A3A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- 075FD4A81A34D3BA00513A3A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 075FD4AE1A34D3BB00513A3A /* CoreImageTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreImageTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 075FD4B31A34D3BB00513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 075FD4B41A34D3BB00513A3A /* CoreImageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreImageTests.swift; sourceTree = ""; };
- 075FD4BE1A34D3EE00513A3A /* imagen.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = imagen.jpg; sourceTree = ""; };
+ 077CFA051ADB279300D20B9B /* MultiTask.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MultiTask.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 077CFA091ADB279300D20B9B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 077CFA0A1ADB279300D20B9B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 077CFA0C1ADB279300D20B9B /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 077CFA0F1ADB279300D20B9B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 077CFA111ADB279300D20B9B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ 077CFA141ADB279300D20B9B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
+ 077CFA1A1ADB279300D20B9B /* MultiTaskTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiTaskTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 077CFA1F1ADB279300D20B9B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 077CFA201ADB279300D20B9B /* MultiTaskTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiTaskTests.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 075FD4961A34D3BA00513A3A /* Frameworks */ = {
+ 077CFA021ADB279300D20B9B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
- 075FD4AB1A34D3BB00513A3A /* Frameworks */ = {
+ 077CFA171ADB279300D20B9B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -58,59 +56,58 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 075FD4901A34D3BA00513A3A = {
+ 077CF9FC1ADB279300D20B9B = {
isa = PBXGroup;
children = (
- 075FD49B1A34D3BA00513A3A /* CoreImage */,
- 075FD4B11A34D3BB00513A3A /* CoreImageTests */,
- 075FD49A1A34D3BA00513A3A /* Products */,
+ 077CFA071ADB279300D20B9B /* MultiTask */,
+ 077CFA1D1ADB279300D20B9B /* MultiTaskTests */,
+ 077CFA061ADB279300D20B9B /* Products */,
);
sourceTree = "";
};
- 075FD49A1A34D3BA00513A3A /* Products */ = {
+ 077CFA061ADB279300D20B9B /* Products */ = {
isa = PBXGroup;
children = (
- 075FD4991A34D3BA00513A3A /* CoreImage.app */,
- 075FD4AE1A34D3BB00513A3A /* CoreImageTests.xctest */,
+ 077CFA051ADB279300D20B9B /* MultiTask.app */,
+ 077CFA1A1ADB279300D20B9B /* MultiTaskTests.xctest */,
);
name = Products;
sourceTree = "";
};
- 075FD49B1A34D3BA00513A3A /* CoreImage */ = {
+ 077CFA071ADB279300D20B9B /* MultiTask */ = {
isa = PBXGroup;
children = (
- 075FD4BE1A34D3EE00513A3A /* imagen.jpg */,
- 075FD49E1A34D3BA00513A3A /* AppDelegate.swift */,
- 075FD4A01A34D3BA00513A3A /* ViewController.swift */,
- 075FD4A21A34D3BA00513A3A /* Main.storyboard */,
- 075FD4A51A34D3BA00513A3A /* Images.xcassets */,
- 075FD4A71A34D3BA00513A3A /* LaunchScreen.xib */,
- 075FD49C1A34D3BA00513A3A /* Supporting Files */,
+ 077CFA0A1ADB279300D20B9B /* AppDelegate.swift */,
+ 077CFA0C1ADB279300D20B9B /* ViewController.swift */,
+ 077CFA0E1ADB279300D20B9B /* Main.storyboard */,
+ 077CFA111ADB279300D20B9B /* Images.xcassets */,
+ 077CFA131ADB279300D20B9B /* LaunchScreen.xib */,
+ 077CFA081ADB279300D20B9B /* Supporting Files */,
);
- path = CoreImage;
+ path = MultiTask;
sourceTree = "";
};
- 075FD49C1A34D3BA00513A3A /* Supporting Files */ = {
+ 077CFA081ADB279300D20B9B /* Supporting Files */ = {
isa = PBXGroup;
children = (
- 075FD49D1A34D3BA00513A3A /* Info.plist */,
+ 077CFA091ADB279300D20B9B /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "";
};
- 075FD4B11A34D3BB00513A3A /* CoreImageTests */ = {
+ 077CFA1D1ADB279300D20B9B /* MultiTaskTests */ = {
isa = PBXGroup;
children = (
- 075FD4B41A34D3BB00513A3A /* CoreImageTests.swift */,
- 075FD4B21A34D3BB00513A3A /* Supporting Files */,
+ 077CFA201ADB279300D20B9B /* MultiTaskTests.swift */,
+ 077CFA1E1ADB279300D20B9B /* Supporting Files */,
);
- path = CoreImageTests;
+ path = MultiTaskTests;
sourceTree = "";
};
- 075FD4B21A34D3BB00513A3A /* Supporting Files */ = {
+ 077CFA1E1ADB279300D20B9B /* Supporting Files */ = {
isa = PBXGroup;
children = (
- 075FD4B31A34D3BB00513A3A /* Info.plist */,
+ 077CFA1F1ADB279300D20B9B /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "";
@@ -118,60 +115,60 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 075FD4981A34D3BA00513A3A /* CoreImage */ = {
+ 077CFA041ADB279300D20B9B /* MultiTask */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 075FD4B81A34D3BB00513A3A /* Build configuration list for PBXNativeTarget "CoreImage" */;
+ buildConfigurationList = 077CFA241ADB279300D20B9B /* Build configuration list for PBXNativeTarget "MultiTask" */;
buildPhases = (
- 075FD4951A34D3BA00513A3A /* Sources */,
- 075FD4961A34D3BA00513A3A /* Frameworks */,
- 075FD4971A34D3BA00513A3A /* Resources */,
+ 077CFA011ADB279300D20B9B /* Sources */,
+ 077CFA021ADB279300D20B9B /* Frameworks */,
+ 077CFA031ADB279300D20B9B /* Resources */,
);
buildRules = (
);
dependencies = (
);
- name = CoreImage;
- productName = CoreImage;
- productReference = 075FD4991A34D3BA00513A3A /* CoreImage.app */;
+ name = MultiTask;
+ productName = MultiTask;
+ productReference = 077CFA051ADB279300D20B9B /* MultiTask.app */;
productType = "com.apple.product-type.application";
};
- 075FD4AD1A34D3BB00513A3A /* CoreImageTests */ = {
+ 077CFA191ADB279300D20B9B /* MultiTaskTests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 075FD4BB1A34D3BB00513A3A /* Build configuration list for PBXNativeTarget "CoreImageTests" */;
+ buildConfigurationList = 077CFA271ADB279300D20B9B /* Build configuration list for PBXNativeTarget "MultiTaskTests" */;
buildPhases = (
- 075FD4AA1A34D3BB00513A3A /* Sources */,
- 075FD4AB1A34D3BB00513A3A /* Frameworks */,
- 075FD4AC1A34D3BB00513A3A /* Resources */,
+ 077CFA161ADB279300D20B9B /* Sources */,
+ 077CFA171ADB279300D20B9B /* Frameworks */,
+ 077CFA181ADB279300D20B9B /* Resources */,
);
buildRules = (
);
dependencies = (
- 075FD4B01A34D3BB00513A3A /* PBXTargetDependency */,
+ 077CFA1C1ADB279300D20B9B /* PBXTargetDependency */,
);
- name = CoreImageTests;
- productName = CoreImageTests;
- productReference = 075FD4AE1A34D3BB00513A3A /* CoreImageTests.xctest */;
+ name = MultiTaskTests;
+ productName = MultiTaskTests;
+ productReference = 077CFA1A1ADB279300D20B9B /* MultiTaskTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 075FD4911A34D3BA00513A3A /* Project object */ = {
+ 077CF9FD1ADB279300D20B9B /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
- 075FD4981A34D3BA00513A3A = {
+ 077CFA041ADB279300D20B9B = {
CreatedOnToolsVersion = 6.1;
};
- 075FD4AD1A34D3BB00513A3A = {
+ 077CFA191ADB279300D20B9B = {
CreatedOnToolsVersion = 6.1;
- TestTargetID = 075FD4981A34D3BA00513A3A;
+ TestTargetID = 077CFA041ADB279300D20B9B;
};
};
};
- buildConfigurationList = 075FD4941A34D3BA00513A3A /* Build configuration list for PBXProject "CoreImage" */;
+ buildConfigurationList = 077CFA001ADB279300D20B9B /* Build configuration list for PBXProject "MultiTask" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@@ -179,30 +176,29 @@
en,
Base,
);
- mainGroup = 075FD4901A34D3BA00513A3A;
- productRefGroup = 075FD49A1A34D3BA00513A3A /* Products */;
+ mainGroup = 077CF9FC1ADB279300D20B9B;
+ productRefGroup = 077CFA061ADB279300D20B9B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 075FD4981A34D3BA00513A3A /* CoreImage */,
- 075FD4AD1A34D3BB00513A3A /* CoreImageTests */,
+ 077CFA041ADB279300D20B9B /* MultiTask */,
+ 077CFA191ADB279300D20B9B /* MultiTaskTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 075FD4971A34D3BA00513A3A /* Resources */ = {
+ 077CFA031ADB279300D20B9B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 075FD4A41A34D3BA00513A3A /* Main.storyboard in Resources */,
- 075FD4A91A34D3BA00513A3A /* LaunchScreen.xib in Resources */,
- 075FD4BF1A34D3EE00513A3A /* imagen.jpg in Resources */,
- 075FD4A61A34D3BA00513A3A /* Images.xcassets in Resources */,
+ 077CFA101ADB279300D20B9B /* Main.storyboard in Resources */,
+ 077CFA151ADB279300D20B9B /* LaunchScreen.xib in Resources */,
+ 077CFA121ADB279300D20B9B /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 075FD4AC1A34D3BB00513A3A /* Resources */ = {
+ 077CFA181ADB279300D20B9B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -212,46 +208,46 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 075FD4951A34D3BA00513A3A /* Sources */ = {
+ 077CFA011ADB279300D20B9B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 075FD4A11A34D3BA00513A3A /* ViewController.swift in Sources */,
- 075FD49F1A34D3BA00513A3A /* AppDelegate.swift in Sources */,
+ 077CFA0D1ADB279300D20B9B /* ViewController.swift in Sources */,
+ 077CFA0B1ADB279300D20B9B /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 075FD4AA1A34D3BB00513A3A /* Sources */ = {
+ 077CFA161ADB279300D20B9B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 075FD4B51A34D3BB00513A3A /* CoreImageTests.swift in Sources */,
+ 077CFA211ADB279300D20B9B /* MultiTaskTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- 075FD4B01A34D3BB00513A3A /* PBXTargetDependency */ = {
+ 077CFA1C1ADB279300D20B9B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 075FD4981A34D3BA00513A3A /* CoreImage */;
- targetProxy = 075FD4AF1A34D3BB00513A3A /* PBXContainerItemProxy */;
+ target = 077CFA041ADB279300D20B9B /* MultiTask */;
+ targetProxy = 077CFA1B1ADB279300D20B9B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
- 075FD4A21A34D3BA00513A3A /* Main.storyboard */ = {
+ 077CFA0E1ADB279300D20B9B /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
- 075FD4A31A34D3BA00513A3A /* Base */,
+ 077CFA0F1ADB279300D20B9B /* Base */,
);
name = Main.storyboard;
sourceTree = "";
};
- 075FD4A71A34D3BA00513A3A /* LaunchScreen.xib */ = {
+ 077CFA131ADB279300D20B9B /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
- 075FD4A81A34D3BA00513A3A /* Base */,
+ 077CFA141ADB279300D20B9B /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "";
@@ -259,7 +255,7 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
- 075FD4B61A34D3BB00513A3A /* Debug */ = {
+ 077CFA221ADB279300D20B9B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -301,7 +297,7 @@
};
name = Debug;
};
- 075FD4B71A34D3BB00513A3A /* Release */ = {
+ 077CFA231ADB279300D20B9B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -336,27 +332,29 @@
};
name = Release;
};
- 075FD4B91A34D3BB00513A3A /* Debug */ = {
+ 077CFA251ADB279300D20B9B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = CoreImage/Info.plist;
+ INFOPLIST_FILE = MultiTask/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
- 075FD4BA1A34D3BB00513A3A /* Release */ = {
+ 077CFA261ADB279300D20B9B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = CoreImage/Info.plist;
+ INFOPLIST_FILE = MultiTask/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
- 075FD4BC1A34D3BB00513A3A /* Debug */ = {
+ 077CFA281ADB279300D20B9B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -368,14 +366,14 @@
"DEBUG=1",
"$(inherited)",
);
- INFOPLIST_FILE = CoreImageTests/Info.plist;
+ INFOPLIST_FILE = MultiTaskTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImage.app/CoreImage";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MultiTask.app/MultiTask";
};
name = Debug;
};
- 075FD4BD1A34D3BB00513A3A /* Release */ = {
+ 077CFA291ADB279300D20B9B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -383,42 +381,44 @@
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
- INFOPLIST_FILE = CoreImageTests/Info.plist;
+ INFOPLIST_FILE = MultiTaskTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreImage.app/CoreImage";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MultiTask.app/MultiTask";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 075FD4941A34D3BA00513A3A /* Build configuration list for PBXProject "CoreImage" */ = {
+ 077CFA001ADB279300D20B9B /* Build configuration list for PBXProject "MultiTask" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 075FD4B61A34D3BB00513A3A /* Debug */,
- 075FD4B71A34D3BB00513A3A /* Release */,
+ 077CFA221ADB279300D20B9B /* Debug */,
+ 077CFA231ADB279300D20B9B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 075FD4B81A34D3BB00513A3A /* Build configuration list for PBXNativeTarget "CoreImage" */ = {
+ 077CFA241ADB279300D20B9B /* Build configuration list for PBXNativeTarget "MultiTask" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 075FD4B91A34D3BB00513A3A /* Debug */,
- 075FD4BA1A34D3BB00513A3A /* Release */,
+ 077CFA251ADB279300D20B9B /* Debug */,
+ 077CFA261ADB279300D20B9B /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
- 075FD4BB1A34D3BB00513A3A /* Build configuration list for PBXNativeTarget "CoreImageTests" */ = {
+ 077CFA271ADB279300D20B9B /* Build configuration list for PBXNativeTarget "MultiTaskTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 075FD4BC1A34D3BB00513A3A /* Debug */,
- 075FD4BD1A34D3BB00513A3A /* Release */,
+ 077CFA281ADB279300D20B9B /* Debug */,
+ 077CFA291ADB279300D20B9B /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
- rootObject = 075FD4911A34D3BA00513A3A /* Project object */;
+ rootObject = 077CF9FD1ADB279300D20B9B /* Project object */;
}
diff --git a/EventKitUI/EventKitUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 70%
rename from EventKitUI/EventKitUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to MultiTask/MultiTask.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 34a17805..adf9c463 100644
--- a/EventKitUI/EventKitUI.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:MultiTask.xcodeproj">
diff --git a/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcshareddata/MultiTask.xccheckout b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcshareddata/MultiTask.xccheckout
new file mode 100644
index 00000000..080c481e
--- /dev/null
+++ b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcshareddata/MultiTask.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ B098428C-D27E-4A31-8488-9311B16C41E9
+ IDESourceControlProjectName
+ MultiTask
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ MultiTask/MultiTask.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..5c63b6db
Binary files /dev/null and b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..fb2c06d8
Binary files /dev/null and b/MultiTask/MultiTask.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage.xcscheme b/MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTask.xcscheme
similarity index 68%
rename from CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage.xcscheme
rename to MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTask.xcscheme
index f9e250c1..1a2f6bce 100644
--- a/CoreImage/CoreImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/CoreImage.xcscheme
+++ b/MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTask.xcscheme
@@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
+ BlueprintIdentifier = "077CFA041ADB279300D20B9B"
+ BuildableName = "MultiTask.app"
+ BlueprintName = "MultiTask"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
+ BlueprintIdentifier = "077CFA191ADB279300D20B9B"
+ BuildableName = "MultiTaskTests.xctest"
+ BlueprintName = "MultiTaskTests"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
@@ -46,20 +46,20 @@
skipped = "NO">
+ BlueprintIdentifier = "077CFA191ADB279300D20B9B"
+ BuildableName = "MultiTaskTests.xctest"
+ BlueprintName = "MultiTaskTests"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
+ BlueprintIdentifier = "077CFA041ADB279300D20B9B"
+ BuildableName = "MultiTask.app"
+ BlueprintName = "MultiTask"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
@@ -75,10 +75,10 @@
+ BlueprintIdentifier = "077CFA041ADB279300D20B9B"
+ BuildableName = "MultiTask.app"
+ BlueprintName = "MultiTask"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
@@ -93,10 +93,10 @@
+ BlueprintIdentifier = "077CFA041ADB279300D20B9B"
+ BuildableName = "MultiTask.app"
+ BlueprintName = "MultiTask"
+ ReferencedContainer = "container:MultiTask.xcodeproj">
diff --git a/MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..0bf0663b
--- /dev/null
+++ b/MultiTask/MultiTask.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MultiTask.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 077CFA041ADB279300D20B9B
+
+ primary
+
+
+ 077CFA191ADB279300D20B9B
+
+ primary
+
+
+
+
+
diff --git a/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MultiTask.xcscheme b/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MultiTask.xcscheme
new file mode 100644
index 00000000..94633b88
--- /dev/null
+++ b/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/MultiTask.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..0bf0663b
--- /dev/null
+++ b/MultiTask/MultiTask.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ MultiTask.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 077CFA041ADB279300D20B9B
+
+ primary
+
+
+ 077CFA191ADB279300D20B9B
+
+ primary
+
+
+
+
+
diff --git a/MultiTarea/MultiTarea/AppDelegate.swift b/MultiTask/MultiTask/AppDelegate.swift
similarity index 73%
rename from MultiTarea/MultiTarea/AppDelegate.swift
rename to MultiTask/MultiTask/AppDelegate.swift
index 9c8e210a..4618f0ba 100644
--- a/MultiTarea/MultiTarea/AppDelegate.swift
+++ b/MultiTask/MultiTask/AppDelegate.swift
@@ -1,9 +1,17 @@
//
// AppDelegate.swift
-// MultiTarea
+// MultiTask
//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2015 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -31,7 +39,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// 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.
println("applicationDidEnterBackground")
- NSLog("Aplicación en segundo plano!!")
+ NSLog("Aplication in background!!")
for (var i=0; i<1000; i++){
@@ -44,8 +52,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationWillEnterForeground(application: UIApplication) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
println("applicationWillEnterForeground")
- NSLog("Aplicación en primer plano!!")
- (self.window?.rootViewController as ViewController).mensaje.text = "Estoy ACTIVO"
+ NSLog("Aplication active!!")
+ (self.window?.rootViewController as! ViewController).message.text = "Im ACTIVE"
}
@@ -53,7 +61,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// 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.
println("applicationDidBecomeActive")
- //(self.window?.rootViewController as ViewController).mensaje.text = "Estoy ACTIVO"
+ //(self.window?.rootViewController as ViewController).message.text = "Im ACTIVE"
}
@@ -66,4 +74,3 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
}
-
diff --git a/CoreImage/CoreImage/Base.lproj/LaunchScreen.xib b/MultiTask/MultiTask/Base.lproj/LaunchScreen.xib
similarity index 96%
rename from CoreImage/CoreImage/Base.lproj/LaunchScreen.xib
rename to MultiTask/MultiTask/Base.lproj/LaunchScreen.xib
index 2af3d919..3215b5da 100644
--- a/CoreImage/CoreImage/Base.lproj/LaunchScreen.xib
+++ b/MultiTask/MultiTask/Base.lproj/LaunchScreen.xib
@@ -11,13 +11,13 @@
-
+
-
+
diff --git a/MultiTarea/MultiTarea/Base.lproj/Main.storyboard b/MultiTask/MultiTask/Base.lproj/Main.storyboard
similarity index 72%
rename from MultiTarea/MultiTarea/Base.lproj/Main.storyboard
rename to MultiTask/MultiTask/Base.lproj/Main.storyboard
index 8e8462c7..fa44ed60 100644
--- a/MultiTarea/MultiTarea/Base.lproj/Main.storyboard
+++ b/MultiTask/MultiTask/Base.lproj/Main.storyboard
@@ -1,28 +1,28 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -32,11 +32,11 @@
-
-
+
+
-
+
diff --git a/MultiTask/MultiTask/Images.xcassets/AppIcon.appiconset/Contents.json b/MultiTask/MultiTask/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..118c98f7
--- /dev/null
+++ b/MultiTask/MultiTask/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/AgendaBasica/AgendaBasica/Info.plist b/MultiTask/MultiTask/Info.plist
similarity index 100%
rename from AgendaBasica/AgendaBasica/Info.plist
rename to MultiTask/MultiTask/Info.plist
diff --git a/MultiTask/MultiTask/ViewController.swift b/MultiTask/MultiTask/ViewController.swift
new file mode 100644
index 00000000..a06b31c9
--- /dev/null
+++ b/MultiTask/MultiTask/ViewController.swift
@@ -0,0 +1,43 @@
+//
+// ViewController.swift
+// MultiTask
+//
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2015 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class ViewController: UIViewController {
+
+ @IBOutlet weak var message: UILabel!
+ @IBOutlet weak var myNotification: UILabel!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ NSNotificationCenter.defaultCenter().addObserver(self, selector: "updateInterface:", name: UIApplicationWillEnterForegroundNotification, object: nil)
+ // Do any additional setup after loading the view, typically from a nib.
+ }
+
+ func updateInterface (notification: NSNotification){
+
+ myNotification.text = "Back to background with notification"
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+}
+
diff --git a/AgendaBasica/AgendaBasicaTests/Info.plist b/MultiTask/MultiTaskTests/Info.plist
similarity index 100%
rename from AgendaBasica/AgendaBasicaTests/Info.plist
rename to MultiTask/MultiTaskTests/Info.plist
diff --git a/CoreImage/CoreImageTests/CoreImageTests.swift b/MultiTask/MultiTaskTests/MultiTaskTests.swift
similarity index 80%
rename from CoreImage/CoreImageTests/CoreImageTests.swift
rename to MultiTask/MultiTaskTests/MultiTaskTests.swift
index 87b54d51..223c8dc7 100644
--- a/CoreImage/CoreImageTests/CoreImageTests.swift
+++ b/MultiTask/MultiTaskTests/MultiTaskTests.swift
@@ -1,15 +1,15 @@
//
-// CoreImageTests.swift
-// CoreImageTests
+// MultiTaskTests.swift
+// MultiTaskTests
//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
//
import UIKit
import XCTest
-class CoreImageTests: XCTestCase {
+class MultiTaskTests: XCTestCase {
override func setUp() {
super.setUp()
diff --git a/NSBlockOperation/.DS_Store b/NSBlockOperation/.DS_Store
new file mode 100644
index 00000000..727fb738
Binary files /dev/null and b/NSBlockOperation/.DS_Store differ
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/project.pbxproj b/NSBlockOperation/NSBlockOperation.xcodeproj/project.pbxproj
index 6234f5ce..cc671a9e 100644
--- a/NSBlockOperation/NSBlockOperation.xcodeproj/project.pbxproj
+++ b/NSBlockOperation/NSBlockOperation.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSBlockOperation/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSBlockOperation/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
07E35E361A2E4CB600CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35E371A2E4CB600CA606C /* Build configuration list for PBXNativeTarget "NSBlockOperationTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
07E35E391A2E4CB600CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcshareddata/NSBlockOperation.xccheckout b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcshareddata/NSBlockOperation.xccheckout
new file mode 100644
index 00000000..a9503d97
--- /dev/null
+++ b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcshareddata/NSBlockOperation.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 0425AD39-A5CC-4BF4-AF8D-6BC9FAAC0244
+ IDESourceControlProjectName
+ NSBlockOperation
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NSBlockOperation/NSBlockOperation.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 591cbcad..ca5453d1 100644
Binary files a/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a3af2917
Binary files /dev/null and b/NSBlockOperation/NSBlockOperation.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSBlockOperation.xcscheme b/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSBlockOperation.xcscheme
new file mode 100644
index 00000000..c4f48dd6
--- /dev/null
+++ b/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSBlockOperation.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..33452b14
--- /dev/null
+++ b/NSBlockOperation/NSBlockOperation.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NSBlockOperation.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35E141A2E4CB600CA606C
+
+ primary
+
+
+ 07E35E291A2E4CB600CA606C
+
+ primary
+
+
+
+
+
diff --git a/NSBlockOperation/NSBlockOperation/AppDelegate.swift b/NSBlockOperation/NSBlockOperation/AppDelegate.swift
index 5702fcab..635d4842 100644
--- a/NSBlockOperation/NSBlockOperation/AppDelegate.swift
+++ b/NSBlockOperation/NSBlockOperation/AppDelegate.swift
@@ -3,7 +3,15 @@
// NSBlockOperation
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NSBlockOperation/NSBlockOperation/ViewController.swift b/NSBlockOperation/NSBlockOperation/ViewController.swift
index d0197e9b..e15db3f8 100644
--- a/NSBlockOperation/NSBlockOperation/ViewController.swift
+++ b/NSBlockOperation/NSBlockOperation/ViewController.swift
@@ -3,7 +3,15 @@
// NSBlockOperation
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -16,10 +24,10 @@ class ViewController: UIViewController {
var queue = NSOperationQueue()
let operation1 : NSBlockOperation = NSBlockOperation (
- {
+ block: {
self.getWebs()
- let operation2 : NSBlockOperation = NSBlockOperation({
+ let operation2 : NSBlockOperation = NSBlockOperation(block: {
self.loadWebs()
})
queue.addOperation(operation2)
@@ -38,10 +46,10 @@ class ViewController: UIViewController {
func loadWebs(){
let urls : NSMutableArray = NSMutableArray (objects:NSURL(string:"http://www.google.es")!, NSURL(string: "http://www.apple.com")!,NSURL(string: "http://carlosbutron.es")!, NSURL(string: "http://www.bing.com")!,NSURL(string: "http://www.yahoo.com")!)
- urls.addObjectsFromArray(googlewebs)
+ urls.addObjectsFromArray(googlewebs as [AnyObject])
for iterator:AnyObject in urls{
- NSData(contentsOfURL:iterator as NSURL)
- println("Descargado \(iterator)")
+ NSData(contentsOfURL:iterator as! NSURL)
+ println("Downloaded \(iterator)")
}
}
@@ -52,7 +60,7 @@ class ViewController: UIViewController {
var languageWebs = NSMutableArray()
for(var i=0;i < languages.count; i++){
var webString: NSString = "http://www.google.\(languages[i])"
- languageWebs.addObject(NSURL(fileURLWithPath: webString)!)
+ languageWebs.addObject(NSURL(fileURLWithPath: webString as String)!)
}
googlewebs = languageWebs
}
diff --git a/NSFileManager/.DS_Store b/NSFileManager/.DS_Store
new file mode 100644
index 00000000..6732662b
Binary files /dev/null and b/NSFileManager/.DS_Store differ
diff --git a/NSFileManager/NSFileManager.xcodeproj/project.pbxproj b/NSFileManager/NSFileManager.xcodeproj/project.pbxproj
index 329aa62a..f02860e7 100644
--- a/NSFileManager/NSFileManager.xcodeproj/project.pbxproj
+++ b/NSFileManager/NSFileManager.xcodeproj/project.pbxproj
@@ -13,8 +13,8 @@
075FD1BF1A337DB600513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1BE1A337DB600513A3A /* Images.xcassets */; };
075FD1C21A337DB600513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1C01A337DB600513A3A /* LaunchScreen.xib */; };
075FD1CE1A337DB600513A3A /* NSFileManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD1CD1A337DB600513A3A /* NSFileManagerTests.swift */; };
- 075FD1D91A337DD900513A3A /* directorio.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1D71A337DD900513A3A /* directorio.png */; };
- 075FD1DA1A337DD900513A3A /* fichero.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1D81A337DD900513A3A /* fichero.png */; };
+ 075FD1D91A337DD900513A3A /* dir.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1D71A337DD900513A3A /* dir.png */; };
+ 075FD1DA1A337DD900513A3A /* file.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD1D81A337DD900513A3A /* file.png */; };
075FD1DD1A337DE200513A3A /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD1DB1A337DE200513A3A /* SecondViewController.swift */; };
075FD1DE1A337DE200513A3A /* ThirdViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD1DC1A337DE200513A3A /* ThirdViewController.swift */; };
/* End PBXBuildFile section */
@@ -40,8 +40,8 @@
075FD1C71A337DB600513A3A /* NSFileManagerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NSFileManagerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
075FD1CC1A337DB600513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD1CD1A337DB600513A3A /* NSFileManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSFileManagerTests.swift; sourceTree = ""; };
- 075FD1D71A337DD900513A3A /* directorio.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = directorio.png; sourceTree = ""; };
- 075FD1D81A337DD900513A3A /* fichero.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = fichero.png; sourceTree = ""; };
+ 075FD1D71A337DD900513A3A /* dir.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dir.png; sourceTree = ""; };
+ 075FD1D81A337DD900513A3A /* file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = file.png; sourceTree = ""; };
075FD1DB1A337DE200513A3A /* SecondViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = ""; };
075FD1DC1A337DE200513A3A /* ThirdViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThirdViewController.swift; sourceTree = ""; };
/* End PBXFileReference section */
@@ -85,8 +85,8 @@
075FD1B41A337DB600513A3A /* NSFileManager */ = {
isa = PBXGroup;
children = (
- 075FD1D71A337DD900513A3A /* directorio.png */,
- 075FD1D81A337DD900513A3A /* fichero.png */,
+ 075FD1D71A337DD900513A3A /* dir.png */,
+ 075FD1D81A337DD900513A3A /* file.png */,
075FD1B71A337DB600513A3A /* AppDelegate.swift */,
075FD1B91A337DB600513A3A /* ViewController.swift */,
075FD1DB1A337DE200513A3A /* SecondViewController.swift */,
@@ -205,9 +205,9 @@
buildActionMask = 2147483647;
files = (
075FD1BD1A337DB600513A3A /* Main.storyboard in Resources */,
- 075FD1D91A337DD900513A3A /* directorio.png in Resources */,
+ 075FD1D91A337DD900513A3A /* dir.png in Resources */,
075FD1C21A337DB600513A3A /* LaunchScreen.xib in Resources */,
- 075FD1DA1A337DD900513A3A /* fichero.png in Resources */,
+ 075FD1DA1A337DD900513A3A /* file.png in Resources */,
075FD1BF1A337DB600513A3A /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -353,6 +353,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSFileManager/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -363,6 +364,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSFileManager/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -421,6 +423,7 @@
075FD1D31A337DB600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD1D41A337DB600513A3A /* Build configuration list for PBXNativeTarget "NSFileManagerTests" */ = {
isa = XCConfigurationList;
@@ -429,6 +432,7 @@
075FD1D61A337DB600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcshareddata/NSFileManager.xccheckout b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcshareddata/NSFileManager.xccheckout
new file mode 100644
index 00000000..cd8badfd
--- /dev/null
+++ b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcshareddata/NSFileManager.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 8DA62841-C39D-4D3B-B9C7-8F159E171905
+ IDESourceControlProjectName
+ NSFileManager
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NSFileManager/NSFileManager.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 89aff890..df0732a4 100644
Binary files a/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..18da8ccd
Binary files /dev/null and b/NSFileManager/NSFileManager.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSFileManager.xcscheme b/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSFileManager.xcscheme
new file mode 100644
index 00000000..4aea5b10
--- /dev/null
+++ b/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSFileManager.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..164f038c
--- /dev/null
+++ b/NSFileManager/NSFileManager.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NSFileManager.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD1B11A337DB600513A3A
+
+ primary
+
+
+ 075FD1C61A337DB600513A3A
+
+ primary
+
+
+
+
+
diff --git a/NSFileManager/NSFileManager/AppDelegate.swift b/NSFileManager/NSFileManager/AppDelegate.swift
index cd0d0922..32257ba4 100644
--- a/NSFileManager/NSFileManager/AppDelegate.swift
+++ b/NSFileManager/NSFileManager/AppDelegate.swift
@@ -3,7 +3,15 @@
// NSFileManager
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NSFileManager/NSFileManager/Base.lproj/Main.storyboard b/NSFileManager/NSFileManager/Base.lproj/Main.storyboard
index ee45ebd2..78814f7f 100644
--- a/NSFileManager/NSFileManager/Base.lproj/Main.storyboard
+++ b/NSFileManager/NSFileManager/Base.lproj/Main.storyboard
@@ -1,10 +1,10 @@
-
+
-
+
-
+
@@ -22,8 +22,8 @@
-
-
+
+
@@ -40,7 +40,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -62,7 +62,7 @@
-
+
@@ -73,8 +73,8 @@
-
-
+
+
@@ -82,15 +82,15 @@
-
-
+
+
-
+
@@ -99,7 +99,7 @@
-
+
@@ -110,7 +110,7 @@
-
+
@@ -153,7 +153,7 @@
-
+
diff --git a/NSFileManager/NSFileManager/SecondViewController.swift b/NSFileManager/NSFileManager/SecondViewController.swift
index c73487aa..1f917d66 100644
--- a/NSFileManager/NSFileManager/SecondViewController.swift
+++ b/NSFileManager/NSFileManager/SecondViewController.swift
@@ -3,7 +3,15 @@
// NSFileManager
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -28,14 +36,14 @@ class SecondViewController: UIViewController, UITextFieldDelegate {
@IBAction func createDirectory(sender: UIButton) {
var newDirectory:NSString = documentsPath.stringByAppendingPathComponent(nameDirectory.text)
- if(fileManager.createDirectoryAtPath(newDirectory, withIntermediateDirectories: true, attributes: nil, error: nil) == true){
- println("creado")
+ if(fileManager.createDirectoryAtPath(newDirectory as String, withIntermediateDirectories: true, attributes: nil, error: nil) == true){
+ println("created")
}
}
var fileManager = NSFileManager.defaultManager()
- var documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as NSString)
+ var documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as! NSString)
override func viewDidLoad() {
super.viewDidLoad()
@@ -51,13 +59,13 @@ class SecondViewController: UIViewController, UITextFieldDelegate {
// Dispose of any resources that can be recreated.
}
- func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
+ func textFieldShouldReturn(textField: UITextField) -> Bool // called when 'return' key pressed. return NO to ignore.
{
textField.resignFirstResponder()
return true;
}
- override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
+ override func touchesBegan(touches: Set, withEvent event: UIEvent) {
self.view.endEditing(true)
}
diff --git a/NSFileManager/NSFileManager/ThirdViewController.swift b/NSFileManager/NSFileManager/ThirdViewController.swift
index 77cdc766..e7a2de91 100644
--- a/NSFileManager/NSFileManager/ThirdViewController.swift
+++ b/NSFileManager/NSFileManager/ThirdViewController.swift
@@ -3,7 +3,15 @@
// NSFileManager
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,7 +19,7 @@ import UIKit
class ThirdViewController: UIViewController {
var fileManager = NSFileManager.defaultManager()
- var documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as NSString)
+ var documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as! String)
@IBOutlet weak var name: UITextField!
@@ -22,7 +30,7 @@ class ThirdViewController: UIViewController {
if(fileManager.fileExistsAtPath(documentsPath.stringByAppendingPathComponent("\(name.text).txt"))){
var contenido = NSString(data: fileManager.contentsAtPath(documentsPath.stringByAppendingPathComponent("\(name.text).txt"))!, encoding: NSUTF8StringEncoding)
- txtBox.text = contenido
+ txtBox.text = contenido as! String
}
}
diff --git a/NSFileManager/NSFileManager/ViewController.swift b/NSFileManager/NSFileManager/ViewController.swift
index 08b89949..ab0faf81 100644
--- a/NSFileManager/NSFileManager/ViewController.swift
+++ b/NSFileManager/NSFileManager/ViewController.swift
@@ -3,7 +3,15 @@
// NSFileManager
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,7 +20,7 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
var files: NSMutableArray = []
var fileManager:NSFileManager!
- var documentsPath: NSString!
+ var documentsPath: String!
var filelist:NSArray!
@IBOutlet weak var tabla: UITableView!
@@ -22,7 +30,7 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
files = []
fileManager = NSFileManager.defaultManager()
- documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as NSString)
+ documentsPath = (NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).first as! String)
filelist = fileManager.contentsOfDirectoryAtPath(documentsPath,error: nil)!
println("documentspath: \(documentsPath)")
@@ -57,17 +65,17 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var identifier:NSString = "CollectionCell"
- let cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(identifier, forIndexPath: indexPath) as UITableViewCell
+ let cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(identifier as String, forIndexPath: indexPath) as! UITableViewCell
- cell.textLabel.text = files.objectAtIndex(indexPath.row).description
+ cell.textLabel!.text = files.objectAtIndex(indexPath.row).description
var isDir: ObjCBool = ObjCBool(false)
- if(fileManager.fileExistsAtPath(documentsPath.stringByAppendingPathComponent(files[indexPath.row] as String), isDirectory: &isDir)){
+ if(fileManager.fileExistsAtPath(documentsPath.stringByAppendingPathComponent(files[indexPath.row] as! String), isDirectory: &isDir)){
if(isDir){
- cell.imageView.image = UIImage(named: "directorio.png")
+ cell.imageView!.image = UIImage(named: "dir.png")
} else{
- cell.imageView.image = UIImage(named: "fichero.png")
+ cell.imageView!.image = UIImage(named: "file.png")
}
}
diff --git a/NSFileManager/NSFileManager/directorio.png b/NSFileManager/NSFileManager/dir.png
similarity index 100%
rename from NSFileManager/NSFileManager/directorio.png
rename to NSFileManager/NSFileManager/dir.png
diff --git a/NSFileManager/NSFileManager/fichero.png b/NSFileManager/NSFileManager/file.png
similarity index 100%
rename from NSFileManager/NSFileManager/fichero.png
rename to NSFileManager/NSFileManager/file.png
diff --git a/NSNotification/.DS_Store b/NSNotification/.DS_Store
new file mode 100644
index 00000000..868eb1f3
Binary files /dev/null and b/NSNotification/.DS_Store differ
diff --git a/NSNotification/NSNotification.xcodeproj/project.pbxproj b/NSNotification/NSNotification.xcodeproj/project.pbxproj
index e1f9478e..5179fbd4 100644
--- a/NSNotification/NSNotification.xcodeproj/project.pbxproj
+++ b/NSNotification/NSNotification.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSNotification/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSNotification/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
0732A6661A3630BF00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0732A6671A3630BF00F6CEC3 /* Build configuration list for PBXNativeTarget "NSNotificationTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
0732A6691A3630BF00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcshareddata/NSNotification.xccheckout b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcshareddata/NSNotification.xccheckout
new file mode 100644
index 00000000..07ca4202
--- /dev/null
+++ b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcshareddata/NSNotification.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 6C92BE68-A17C-49F6-8AA2-3A43B8871693
+ IDESourceControlProjectName
+ NSNotification
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NSNotification/NSNotification.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index b4815316..24f9e2a7 100644
Binary files a/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..aa230f90
Binary files /dev/null and b/NSNotification/NSNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSNotification.xcscheme b/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSNotification.xcscheme
new file mode 100644
index 00000000..1fa2c371
--- /dev/null
+++ b/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSNotification.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..3a5ca57d
--- /dev/null
+++ b/NSNotification/NSNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NSNotification.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0732A6441A3630BF00F6CEC3
+
+ primary
+
+
+ 0732A6591A3630BF00F6CEC3
+
+ primary
+
+
+
+
+
diff --git a/NSNotification/NSNotification/AppDelegate.swift b/NSNotification/NSNotification/AppDelegate.swift
index 71d76fd1..166b61ab 100644
--- a/NSNotification/NSNotification/AppDelegate.swift
+++ b/NSNotification/NSNotification/AppDelegate.swift
@@ -3,7 +3,15 @@
// NSNotification
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NSNotification/NSNotification/Base.lproj/Main.storyboard b/NSNotification/NSNotification/Base.lproj/Main.storyboard
index 7be81b97..316ba2b0 100644
--- a/NSNotification/NSNotification/Base.lproj/Main.storyboard
+++ b/NSNotification/NSNotification/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
diff --git a/NSNotification/NSNotification/ViewController.swift b/NSNotification/NSNotification/ViewController.swift
index a7df38b6..611725cf 100644
--- a/NSNotification/NSNotification/ViewController.swift
+++ b/NSNotification/NSNotification/ViewController.swift
@@ -3,7 +3,15 @@
// NSNotification
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -23,7 +31,7 @@ class ViewController: UIViewController, UITextFieldDelegate {
// Dispose of any resources that can be recreated.
}
- func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
+ func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if(string == "\n"){
textField.resignFirstResponder()
return false
diff --git a/NSURLSession/.DS_Store b/NSURLSession/.DS_Store
new file mode 100644
index 00000000..bf193221
Binary files /dev/null and b/NSURLSession/.DS_Store differ
diff --git a/NSURLSession/NSURLSession.xcodeproj/project.pbxproj b/NSURLSession/NSURLSession.xcodeproj/project.pbxproj
index 94c3dad8..55a11ff6 100644
--- a/NSURLSession/NSURLSession.xcodeproj/project.pbxproj
+++ b/NSURLSession/NSURLSession.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSURLSession/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSURLSession/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
07E35C1B1A2E015B00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35C1C1A2E015B00CA606C /* Build configuration list for PBXNativeTarget "NSURLSessionTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
07E35C1E1A2E015B00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcshareddata/NSURLSession.xccheckout b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcshareddata/NSURLSession.xccheckout
new file mode 100644
index 00000000..c8a8a13c
--- /dev/null
+++ b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcshareddata/NSURLSession.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ C933D52E-D1FD-4035-8416-6ED377922AF1
+ IDESourceControlProjectName
+ NSURLSession
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NSURLSession/NSURLSession.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 5ad55866..e077a015 100644
Binary files a/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..6ad8f239
Binary files /dev/null and b/NSURLSession/NSURLSession.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSession.xcscheme b/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSession.xcscheme
new file mode 100644
index 00000000..872b9aa7
--- /dev/null
+++ b/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSession.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..af29720c
--- /dev/null
+++ b/NSURLSession/NSURLSession.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NSURLSession.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35BF91A2E015B00CA606C
+
+ primary
+
+
+ 07E35C0E1A2E015B00CA606C
+
+ primary
+
+
+
+
+
diff --git a/NSURLSession/NSURLSession/AppDelegate.swift b/NSURLSession/NSURLSession/AppDelegate.swift
index 65a924f7..88ab08eb 100644
--- a/NSURLSession/NSURLSession/AppDelegate.swift
+++ b/NSURLSession/NSURLSession/AppDelegate.swift
@@ -3,7 +3,15 @@
// NSURLSession
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NSURLSession/NSURLSession/Base.lproj/Main.storyboard b/NSURLSession/NSURLSession/Base.lproj/Main.storyboard
index d4a79798..ad1b8da2 100644
--- a/NSURLSession/NSURLSession/Base.lproj/Main.storyboard
+++ b/NSURLSession/NSURLSession/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -26,7 +26,7 @@
-
+
@@ -59,19 +59,19 @@
-
+
-
+
-
+
@@ -104,8 +104,8 @@
-
-
+
+
@@ -114,15 +114,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/NSURLSession/NSURLSession/ViewController.swift b/NSURLSession/NSURLSession/ViewController.swift
index f4cf00c8..bbaf461e 100644
--- a/NSURLSession/NSURLSession/ViewController.swift
+++ b/NSURLSession/NSURLSession/ViewController.swift
@@ -3,7 +3,15 @@
// NSURLSession
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,15 +19,15 @@ import UIKit
class ViewController: UIViewController {
- @IBOutlet weak var ciudad: UILabel!
- @IBOutlet weak var temperaturaCelsius: UITextField!
- @IBOutlet weak var temperaturaCelsiusMax: UITextField!
- @IBOutlet weak var temperaturaCelsiusMin: UITextField!
- @IBOutlet weak var temperaturaKelvin: UITextField!
- @IBOutlet weak var temperaturaKelvinMax: UITextField!
- @IBOutlet weak var temperaturaKelvinMin: UITextField!
- @IBOutlet weak var humedad: UITextField!
- @IBOutlet weak var viento: UITextField!
+ @IBOutlet weak var city: UILabel!
+ @IBOutlet weak var temperatureCelsius: UITextField!
+ @IBOutlet weak var temperatureCelsiusMax: UITextField!
+ @IBOutlet weak var temperatureCelsiusMin: UITextField!
+ @IBOutlet weak var temperatureKelvin: UITextField!
+ @IBOutlet weak var temperatureKelvinMax: UITextField!
+ @IBOutlet weak var temperatureKelvinMin: UITextField!
+ @IBOutlet weak var humidity: UITextField!
+ @IBOutlet weak var wind: UITextField!
@@ -29,41 +37,46 @@ class ViewController: UIViewController {
var sessionConfig: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
sessionConfig.allowsCellularAccess = false
- //Solo acepta respuestas en JSON
+ //only accept JSON answer
sessionConfig.HTTPAdditionalHeaders = ["Accept":"application/json"]
- //timeouts y conexiones permitidas
+ //timeouts and connections allowed
sessionConfig.timeoutIntervalForRequest = 30.0
sessionConfig.timeoutIntervalForResource = 60.0
sessionConfig.HTTPMaximumConnectionsPerHost = 1
- //Creamos la sesión, asignándole una configuración
+ //create session, assign configuration
var session = NSURLSession(configuration: sessionConfig)
session.dataTaskWithURL(NSURL(string: "http://api.openweathermap.org/data/2.5/weather?q=Madrid,es")!, completionHandler: {(data, response, error) in
- var dic:NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions(0), error: nil) as NSDictionary
+ var dic:NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions(0), error: nil) as? NSDictionary ?? [String:String]()
+
+
+ if dic.count == 0 {
+ return
+ }
println(dic)
- var ciudad: NSString = (dic["name"] as NSString)
- var kelvin: AnyObject! = (dic["main"] as NSDictionary) ["temp"]
- var kelvin_min: AnyObject! = (dic["main"] as NSDictionary) ["temp_min"]
- var kelvin_max: AnyObject! = (dic["main"] as NSDictionary) ["temp_max"]
- var celsius = kelvin as Float - 274.15 as Float
- var celsius_min = kelvin_min as Float - 274.15 as Float
- var celsius_max = kelvin_max as Float - 274.15 as Float
- var humedad: AnyObject! = (dic ["main"] as NSDictionary) ["humidity"]
- var viento: AnyObject! = (dic ["wind"] as NSDictionary) ["speed"]
+ var city: NSString = (dic["name"] as! NSString)
+ var kelvin: AnyObject! = (dic["main"] as! NSDictionary) ["temp"]
+ var kelvin_min: AnyObject! = (dic["main"] as! NSDictionary) ["temp_min"]
+ var kelvin_max: AnyObject! = (dic["main"] as! NSDictionary) ["temp_max"]
+ var celsius = kelvin as! Float - 274.15 as Float
+ var celsius_min = kelvin_min as! Float - 274.15 as Float
+ var celsius_max = kelvin_max as! Float - 274.15 as Float
+ var humidity: AnyObject! = (dic ["main"] as! NSDictionary) ["humidity"]
+ var wind: AnyObject! = (dic ["wind"] as! NSDictionary) ["speed"]
- //Forzamos ejecución en hilo principal
+ //original thread
dispatch_async(dispatch_get_main_queue(), { () in
- self.ciudad.text = "\(ciudad)"
- self.temperaturaCelsius.text = "\(celsius)"
- self.temperaturaCelsiusMax.text = "\(celsius_max)"
- self.temperaturaCelsiusMin.text = "\(celsius_min)"
- self.temperaturaKelvin.text = "\(kelvin)"
- self.temperaturaKelvinMax.text = "\(kelvin_max)"
- self.temperaturaKelvinMin.text = "\(kelvin_min)"
- self.humedad.text = "\(humedad)"
- self.viento.text = "\(viento)"
+ self.city.text = "\(city)"
+ self.temperatureCelsius.text = "\(celsius)"
+ self.temperatureCelsiusMax.text = "\(celsius_max)"
+ self.temperatureCelsiusMin.text = "\(celsius_min)"
+ self.temperatureKelvin.text = "\(kelvin)"
+ self.temperatureKelvinMax.text = "\(kelvin_max)"
+ self.temperatureKelvinMin.text = "\(kelvin_min)"
+ self.humidity.text = "\(humidity)"
+ self.wind.text = "\(wind)"
})
}).resume()
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.pbxproj b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.pbxproj
index 822362fc..da8d740d 100644
--- a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.pbxproj
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSURLSessionDownloadDelegate/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NSURLSessionDownloadDelegate/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
07E35C491A2E02DB00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35C4A1A2E02DB00CA606C /* Build configuration list for PBXNativeTarget "NSURLSessionDownloadDelegateTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
07E35C4C1A2E02DB00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcshareddata/NSURLSessionDownloadDelegate.xccheckout b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcshareddata/NSURLSessionDownloadDelegate.xccheckout
new file mode 100644
index 00000000..14fb8d7f
--- /dev/null
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcshareddata/NSURLSessionDownloadDelegate.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ E423D5BE-0041-4222-BB0C-1ACA26A4FCDD
+ IDESourceControlProjectName
+ NSURLSessionDownloadDelegate
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index a46ed721..359208d9 100644
Binary files a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..3a32f1ea
Binary files /dev/null and b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSessionDownloadDelegate.xcscheme b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSessionDownloadDelegate.xcscheme
new file mode 100644
index 00000000..d4f85b08
--- /dev/null
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NSURLSessionDownloadDelegate.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..5d8f00d9
--- /dev/null
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NSURLSessionDownloadDelegate.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35C271A2E02DB00CA606C
+
+ primary
+
+
+ 07E35C3C1A2E02DB00CA606C
+
+ primary
+
+
+
+
+
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/AppDelegate.swift b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/AppDelegate.swift
index f8530654..bdac3de4 100644
--- a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/AppDelegate.swift
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/AppDelegate.swift
@@ -3,7 +3,15 @@
// NSURLSessionDownloadDelegate
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/Base.lproj/Main.storyboard b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/Base.lproj/Main.storyboard
index ea81cef7..883ac105 100644
--- a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/Base.lproj/Main.storyboard
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/Base.lproj/Main.storyboard
@@ -1,14 +1,15 @@
-
+
-
+
+
-
+
@@ -19,18 +20,10 @@
-
-
-
-
-
-
-
-
-
+
@@ -40,23 +33,21 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/ViewController.swift b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/ViewController.swift
index 86b28e1a..daa05863 100644
--- a/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/ViewController.swift
+++ b/NSURLSessionDownloadDelegate/NSURLSessionDownloadDelegate/ViewController.swift
@@ -3,7 +3,15 @@
// NSURLSessionDownloadDelegate
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -17,9 +25,9 @@ class ViewController: UIViewController, NSURLSessionDownloadDelegate {
@IBAction func cargar(sender: UIButton) {
- var imageUrl: NSString = "http://carlosbutron.es/wp-content/uploads/2014/11/logo-carlosbutrondev.jpg"
+ var imageUrl: NSString = "http://c.hiphotos.baidu.com/image/pic/item/8cb1cb13495409235fa14adf9158d109b2de4942.jpg"
var getImageTask: NSURLSessionDownloadTask =
- session.downloadTaskWithURL(NSURL(string: imageUrl)!)
+ session.downloadTaskWithURL(NSURL(string: imageUrl as String)!)
getImageTask.resume()
}
@@ -39,7 +47,7 @@ class ViewController: UIViewController, NSURLSessionDownloadDelegate {
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL){
- println("Descarga Terminada")
+ println("Download finished")
var downloadedImage = UIImage(data: NSData(contentsOfURL: location)!)
dispatch_async(dispatch_get_main_queue(), {() in
self.imagen.image = downloadedImage
diff --git a/NavigationController/.DS_Store b/NavigationController/.DS_Store
new file mode 100644
index 00000000..bd45379a
Binary files /dev/null and b/NavigationController/.DS_Store differ
diff --git a/NavigationController/NavigationController.xcodeproj/project.pbxproj b/NavigationController/NavigationController.xcodeproj/project.pbxproj
index 5d72d704..5351b3dc 100644
--- a/NavigationController/NavigationController.xcodeproj/project.pbxproj
+++ b/NavigationController/NavigationController.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NavigationController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = NavigationController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
078281441A2D4BBC00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
078281451A2D4BBC00759CE8 /* Build configuration list for PBXNativeTarget "NavigationControllerTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
078281471A2D4BBC00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcshareddata/NavigationController.xccheckout b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcshareddata/NavigationController.xccheckout
new file mode 100644
index 00000000..f07b3be8
--- /dev/null
+++ b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcshareddata/NavigationController.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ A86A8D3A-CFE8-4766-9C4E-1FFEAB6F1BE1
+ IDESourceControlProjectName
+ NavigationController
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ NavigationController/NavigationController.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index a2ef54ec..2dffbdcc 100644
Binary files a/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..ffec55e5
Binary files /dev/null and b/NavigationController/NavigationController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NavigationController.xcscheme b/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NavigationController.xcscheme
new file mode 100644
index 00000000..de52b118
--- /dev/null
+++ b/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/NavigationController.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..56c8c02a
--- /dev/null
+++ b/NavigationController/NavigationController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ NavigationController.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 078281221A2D4BBC00759CE8
+
+ primary
+
+
+ 078281371A2D4BBC00759CE8
+
+ primary
+
+
+
+
+
diff --git a/NavigationController/NavigationController/AppDelegate.swift b/NavigationController/NavigationController/AppDelegate.swift
index e1529b4f..e425e5ef 100644
--- a/NavigationController/NavigationController/AppDelegate.swift
+++ b/NavigationController/NavigationController/AppDelegate.swift
@@ -3,7 +3,15 @@
// NavigationController
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/NavigationController/NavigationController/Base.lproj/Main.storyboard b/NavigationController/NavigationController/Base.lproj/Main.storyboard
index 3fa7c312..0c0a8d3e 100644
--- a/NavigationController/NavigationController/Base.lproj/Main.storyboard
+++ b/NavigationController/NavigationController/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -34,7 +34,7 @@
-
+
diff --git a/NavigationController/NavigationController/ViewController.swift b/NavigationController/NavigationController/ViewController.swift
index 266e872f..ee5f38e0 100644
--- a/NavigationController/NavigationController/ViewController.swift
+++ b/NavigationController/NavigationController/ViewController.swift
@@ -3,7 +3,15 @@
// NavigationController
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/PagedBasedApp/.DS_Store b/PagedBasedApp/.DS_Store
new file mode 100644
index 00000000..b0f7cad7
Binary files /dev/null and b/PagedBasedApp/.DS_Store differ
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/project.pbxproj b/PagedBasedApp/PagedBasedApp.xcodeproj/project.pbxproj
index 2af64fcf..fc01a03a 100644
--- a/PagedBasedApp/PagedBasedApp.xcodeproj/project.pbxproj
+++ b/PagedBasedApp/PagedBasedApp.xcodeproj/project.pbxproj
@@ -345,6 +345,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = PagedBasedApp/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -355,6 +356,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = PagedBasedApp/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -413,6 +415,7 @@
075FD5541A34DD3600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD5551A34DD3600513A3A /* Build configuration list for PBXNativeTarget "PagedBasedAppTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +424,7 @@
075FD5571A34DD3600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcshareddata/PagedBasedApp.xccheckout b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcshareddata/PagedBasedApp.xccheckout
new file mode 100644
index 00000000..ae1fb243
--- /dev/null
+++ b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcshareddata/PagedBasedApp.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 96D8E3AB-1FE2-4CB8-8269-E014D185161C
+ IDESourceControlProjectName
+ PagedBasedApp
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ PagedBasedApp/PagedBasedApp.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index c98413e0..7fd828c1 100644
Binary files a/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..505f6a26
Binary files /dev/null and b/PagedBasedApp/PagedBasedApp.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PagedBasedApp.xcscheme b/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PagedBasedApp.xcscheme
new file mode 100644
index 00000000..7cc26e59
--- /dev/null
+++ b/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/PagedBasedApp.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..1cbb992b
--- /dev/null
+++ b/PagedBasedApp/PagedBasedApp.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ PagedBasedApp.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD5321A34DD3600513A3A
+
+ primary
+
+
+ 075FD5471A34DD3600513A3A
+
+ primary
+
+
+
+
+
diff --git a/PagedBasedApp/PagedBasedApp/AppDelegate.swift b/PagedBasedApp/PagedBasedApp/AppDelegate.swift
index a4afc29a..dc826fd9 100644
--- a/PagedBasedApp/PagedBasedApp/AppDelegate.swift
+++ b/PagedBasedApp/PagedBasedApp/AppDelegate.swift
@@ -3,7 +3,15 @@
// PagedBasedApp
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/PagedBasedApp/PagedBasedApp/Base.lproj/Main.storyboard b/PagedBasedApp/PagedBasedApp/Base.lproj/Main.storyboard
index c25b80b6..943016ba 100644
--- a/PagedBasedApp/PagedBasedApp/Base.lproj/Main.storyboard
+++ b/PagedBasedApp/PagedBasedApp/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -19,7 +19,7 @@
-
+
@@ -57,7 +57,7 @@
-
+
@@ -69,8 +69,8 @@
-
-
+
+
@@ -107,7 +107,7 @@
-
+
@@ -119,8 +119,8 @@
-
-
+
+
@@ -157,7 +157,7 @@
-
+
@@ -169,7 +169,7 @@
-
+
@@ -207,7 +207,7 @@
-
+
diff --git a/PagedBasedApp/PagedBasedApp/DataViewController.swift b/PagedBasedApp/PagedBasedApp/DataViewController.swift
index 91b16474..746931dc 100644
--- a/PagedBasedApp/PagedBasedApp/DataViewController.swift
+++ b/PagedBasedApp/PagedBasedApp/DataViewController.swift
@@ -3,7 +3,15 @@
// PagedBasedApp
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/PagedBasedApp/PagedBasedApp/ModelController.swift b/PagedBasedApp/PagedBasedApp/ModelController.swift
index dd7c6d71..ee6c4857 100644
--- a/PagedBasedApp/PagedBasedApp/ModelController.swift
+++ b/PagedBasedApp/PagedBasedApp/ModelController.swift
@@ -3,7 +3,15 @@
// PagedBasedApp
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -26,7 +34,7 @@ class ModelController: NSObject, UIPageViewControllerDataSource {
override init() {
super.init()
// Create the data model.
- pageData = ["uno", "dos", "tres", "cuatro"]
+ pageData = ["one", "two", "three", "four"]
}
func viewControllerAtIndex(index: Int, storyboard: UIStoryboard) ->
@@ -35,7 +43,7 @@ class ModelController: NSObject, UIPageViewControllerDataSource {
return nil
}
var viewControllerId: NSString = "DataViewController\(index+1)"
- var dataViewController = storyboard.instantiateViewControllerWithIdentifier(viewControllerId) as DataViewController
+ var dataViewController = storyboard.instantiateViewControllerWithIdentifier(viewControllerId as String) as! DataViewController
dataViewController.dataObject = self.pageData.objectAtIndex(index)
return dataViewController
}
@@ -53,7 +61,7 @@ class ModelController: NSObject, UIPageViewControllerDataSource {
// MARK: - Page View Controller Data Source
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
- var index = self.indexOfViewController(viewController as DataViewController)
+ var index = self.indexOfViewController(viewController as! DataViewController)
if (index == 0) || (index == NSNotFound) {
return nil
}
@@ -63,7 +71,7 @@ class ModelController: NSObject, UIPageViewControllerDataSource {
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
- var index = self.indexOfViewController(viewController as DataViewController)
+ var index = self.indexOfViewController(viewController as! DataViewController)
if index == NSNotFound {
return nil
}
diff --git a/PagedBasedApp/PagedBasedApp/RootViewController.swift b/PagedBasedApp/PagedBasedApp/RootViewController.swift
index bd1e482c..f69f7bb7 100644
--- a/PagedBasedApp/PagedBasedApp/RootViewController.swift
+++ b/PagedBasedApp/PagedBasedApp/RootViewController.swift
@@ -3,7 +3,15 @@
// PagedBasedApp
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -22,7 +30,7 @@ class RootViewController: UIViewController, UIPageViewControllerDelegate {
let startingViewController: DataViewController = self.modelController.viewControllerAtIndex(0, storyboard: self.storyboard!)!
let viewControllers: NSArray = [startingViewController]
- self.pageViewController!.setViewControllers(viewControllers, direction: .Forward, animated: false, completion: {done in })
+ self.pageViewController!.setViewControllers(viewControllers as [AnyObject], direction: .Forward, animated: false, completion: {done in })
self.pageViewController!.dataSource = self.modelController
@@ -59,9 +67,9 @@ class RootViewController: UIViewController, UIPageViewControllerDelegate {
func pageViewController(pageViewController: UIPageViewController, spineLocationForInterfaceOrientation orientation: UIInterfaceOrientation) -> UIPageViewControllerSpineLocation {
// Set the spine position to "min" and the page view controller's view controllers array to contain just one view controller. Setting the spine position to 'UIPageViewControllerSpineLocationMid' in landscape orientation sets the doubleSided property to true, so set it to false here.
- let currentViewController = self.pageViewController!.viewControllers[0] as UIViewController
+ let currentViewController = self.pageViewController!.viewControllers[0] as! UIViewController
let viewControllers: NSArray = [currentViewController]
- self.pageViewController!.setViewControllers(viewControllers, direction: .Forward, animated: true, completion: {done in })
+ self.pageViewController!.setViewControllers(viewControllers as [AnyObject], direction: .Forward, animated: true, completion: {done in })
self.pageViewController!.doubleSided = false
return .Min
diff --git a/README.md b/README.md
new file mode 100755
index 00000000..83df79b8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,84 @@
+
+Reusable Swift code
+====================
+
+This project provides some examples in Swift for iOS. With Swift now officially released, its general syntax should be familiar enough for most programmers to understand.
+
+Audience
+---------------------
+
+As a developer, you should already be familiar with this pieces of code. This code is Open Source. It's Reusable. Use it in your apps.
+
+Features
+---------------------
+
+The project features code-level examples for the following items:
+
++ Classes and Structures
++ Protocols and delegates
++ AirDrop
++ AVFoundation (QRCode)
++ QuartzCore (Animation with collision)
++ Calendar
++ Chat Peer to Peer
++ CollectionView
++ CoreAnimation (some examples)
++ CoreData (some examples)
++ CoreImage (CI Detector)
++ CoreLocation
++ DelegateWithNavigator
++ EventKitUI
++ Gesture (DoubleTap, Long Press, Pinch, Rotate, Swipe)
++ HideKeyboard
++ JSON Parse
++ MapKit
++ MediaPlayer
++ NSBlockOperation
++ NSFileManager
++ NSNotification
++ NSURLSession
++ SQLite
++ Segues (normal and custom segues)
++ Show Local IP
++ Show Remote IP
++ SocialFramework (Twitter and Facebook)
++ SpriteKit basic sample
++ SwiftLoginScreen (working with php webservice and JSON)
++ TabBarController
++ TableView
++ TableView with Property List
++ UIImagePickerControllerCamera (photo and video)
++ UILocalNotification
++ XIB working with Storyboard
++ XML (get data from XML)
++ XML (get data from AppStore)
++ iAdFramework (banner samples for your app)
++ iCloud
+
+
+I plan to write further additional examples and all developers are welcome to follow the project through Github. As a collaborative open-source effort, I also welcome feedback and contribution from others.
+
+
+Getting Started
+---------------------
+
+Running in Xcode 7.1 and iOS 9.1
+
+
+Usage
+---------------------
+
+Individuals are welcome to use the code with commercial and open-source projects.
+
+
+Branches
+---------------------
+
+master - The production branch. Clone or fork this repository for the latest copy
+develop - The active development branch. Pull requests should be directed to this branch
+
+
+Questions
+---------------------
+
+Have a question? Feel free to contact me on Twitter or in my website.
diff --git a/SQLite/.DS_Store b/SQLite/.DS_Store
new file mode 100644
index 00000000..e65f67b4
Binary files /dev/null and b/SQLite/.DS_Store differ
diff --git a/SQLite/SQLite.xcodeproj/project.pbxproj b/SQLite/SQLite.xcodeproj/project.pbxproj
index 7a0299ee..9d8e581b 100644
--- a/SQLite/SQLite.xcodeproj/project.pbxproj
+++ b/SQLite/SQLite.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 075B05E81B8A2895004385A8 /* FilmCollection.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = 075B05E71B8A2895004385A8 /* FilmCollection.sqlite */; };
075FD2571A33933B00513A3A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD2561A33933B00513A3A /* AppDelegate.swift */; };
075FD2591A33933B00513A3A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD2581A33933B00513A3A /* ViewController.swift */; };
075FD25C1A33933B00513A3A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 075FD25A1A33933B00513A3A /* Main.storyboard */; };
@@ -19,7 +20,6 @@
075FD27E1A33937400513A3A /* godzilla.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 075FD27A1A33937400513A3A /* godzilla.jpg */; };
075FD27F1A33937400513A3A /* alien.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 075FD27B1A33937400513A3A /* alien.jpg */; };
075FD2821A33939100513A3A /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 075FD2811A33939100513A3A /* libsqlite3.dylib */; };
- 075FD2881A3396E400513A3A /* filmoteca.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2871A3396E400513A3A /* filmoteca.sqlite */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -33,6 +33,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 075B05E71B8A2895004385A8 /* FilmCollection.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = FilmCollection.sqlite; sourceTree = ""; };
075FD2511A33933B00513A3A /* SQLite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SQLite.app; sourceTree = BUILT_PRODUCTS_DIR; };
075FD2551A33933B00513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD2561A33933B00513A3A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
@@ -50,7 +51,6 @@
075FD27B1A33937400513A3A /* alien.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = alien.jpg; sourceTree = ""; };
075FD2811A33939100513A3A /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
075FD2831A3393D300513A3A /* SQLite-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SQLite-Bridging-Header.h"; sourceTree = SOURCE_ROOT; };
- 075FD2871A3396E400513A3A /* filmoteca.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = filmoteca.sqlite; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -94,7 +94,7 @@
075FD2531A33933B00513A3A /* SQLite */ = {
isa = PBXGroup;
children = (
- 075FD2871A3396E400513A3A /* filmoteca.sqlite */,
+ 075B05E71B8A2895004385A8 /* FilmCollection.sqlite */,
075FD2781A33937400513A3A /* jpark.jpg */,
075FD2791A33937400513A3A /* hobbit.jpg */,
075FD27A1A33937400513A3A /* godzilla.jpg */,
@@ -216,11 +216,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 075B05E81B8A2895004385A8 /* FilmCollection.sqlite in Resources */,
075FD27C1A33937400513A3A /* jpark.jpg in Resources */,
075FD27E1A33937400513A3A /* godzilla.jpg in Resources */,
075FD25C1A33933B00513A3A /* Main.storyboard in Resources */,
075FD2611A33933B00513A3A /* LaunchScreen.xib in Resources */,
- 075FD2881A3396E400513A3A /* filmoteca.sqlite in Resources */,
075FD27F1A33937400513A3A /* alien.jpg in Resources */,
075FD25E1A33933B00513A3A /* Images.xcassets in Resources */,
075FD27D1A33937400513A3A /* hobbit.jpg in Resources */,
@@ -368,6 +368,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
INFOPLIST_FILE = SQLite/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "SQLite-Bridging-Header.h";
@@ -381,6 +382,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
INFOPLIST_FILE = SQLite/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "SQLite-Bridging-Header.h";
@@ -440,6 +442,7 @@
075FD2721A33933B00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD2731A33933B00513A3A /* Build configuration list for PBXNativeTarget "SQLiteTests" */ = {
isa = XCConfigurationList;
@@ -448,6 +451,7 @@
075FD2751A33933B00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/SQLite/SQLite.xcodeproj/project.xcworkspace/xcshareddata/SQLite.xccheckout b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcshareddata/SQLite.xccheckout
new file mode 100644
index 00000000..a7d3c5ae
--- /dev/null
+++ b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcshareddata/SQLite.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 9E10CCE4-0838-455E-A1C7-8464A8F5AACA
+ IDESourceControlProjectName
+ SQLite
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SQLite/SQLite.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 6fa9f419..4425e1be 100644
Binary files a/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..7cdcbf0b
Binary files /dev/null and b/SQLite/SQLite.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SQLite/SQLite.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SQLite/SQLite.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index fe2b4541..4cacfbac 100644
--- a/SQLite/SQLite.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/SQLite/SQLite.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -2,4 +2,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SQLite.xcscheme b/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SQLite.xcscheme
new file mode 100644
index 00000000..69998924
--- /dev/null
+++ b/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SQLite.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..54a82355
--- /dev/null
+++ b/SQLite/SQLite.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SQLite.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD2501A33933B00513A3A
+
+ primary
+
+
+ 075FD2651A33933B00513A3A
+
+ primary
+
+
+
+
+
diff --git a/SQLite/SQLite/AppDelegate.swift b/SQLite/SQLite/AppDelegate.swift
index 07ac6741..aa5f3d63 100644
--- a/SQLite/SQLite/AppDelegate.swift
+++ b/SQLite/SQLite/AppDelegate.swift
@@ -3,7 +3,15 @@
// SQLite
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/SQLite/SQLite/Base.lproj/Main.storyboard b/SQLite/SQLite/Base.lproj/Main.storyboard
index 52b953bc..1058618e 100644
--- a/SQLite/SQLite/Base.lproj/Main.storyboard
+++ b/SQLite/SQLite/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -51,8 +51,8 @@
-
-
+
+
diff --git a/SQLite/SQLite/filmoteca.sqlite b/SQLite/SQLite/FilmCollection.sqlite
similarity index 69%
rename from SQLite/SQLite/filmoteca.sqlite
rename to SQLite/SQLite/FilmCollection.sqlite
index 7d611620..0589ba68 100644
Binary files a/SQLite/SQLite/filmoteca.sqlite and b/SQLite/SQLite/FilmCollection.sqlite differ
diff --git a/SQLite/SQLite/MyTableViewCell.swift b/SQLite/SQLite/MyTableViewCell.swift
index 9c6cbced..3a860533 100644
--- a/SQLite/SQLite/MyTableViewCell.swift
+++ b/SQLite/SQLite/MyTableViewCell.swift
@@ -3,17 +3,25 @@
// SQLite
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class MyTableViewCell: UITableViewCell {
- @IBOutlet weak var titulo: UILabel!
+ @IBOutlet weak var title: UILabel!
@IBOutlet weak var director: UILabel!
@IBOutlet weak var year: UILabel!
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var myImage: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
diff --git a/SQLite/SQLite/ViewController.swift b/SQLite/SQLite/ViewController.swift
index c92fea2e..9d84d387 100644
--- a/SQLite/SQLite/ViewController.swift
+++ b/SQLite/SQLite/ViewController.swift
@@ -3,7 +3,15 @@
// SQLite
//
// Created by Carlos Butron on 06/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -32,18 +40,20 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
func loadTabla(){
- var db_path = NSBundle.mainBundle().pathForResource("filmoteca", ofType: "sqlite")
+ var db_path = NSBundle.mainBundle().pathForResource("FilmCollection", ofType: "sqlite")
println(NSBundle.mainBundle())
var db = COpaquePointer()
var status = sqlite3_open(db_path!, &db)
if(status == SQLITE_OK){
- //Base de Datos abierta correctamente
+ //bbdd open
+ println("open")
}
else{
- //ERROR en la apertura
+ //bbdd error
+ println("open error")
}
- var query_stmt = "SELECT * FROM pelicula"
+ var query_stmt = "select * from film"
if(sqlite3_prepare_v2(db, query_stmt, -1, &statement, nil) == SQLITE_OK){
data.removeAllObjects()
@@ -52,20 +62,20 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
let director = sqlite3_column_text(statement, 1)
let buf_director = String.fromCString(UnsafePointer(director))
- let imagen = sqlite3_column_text(statement, 2)
- let buf_imagen = String.fromCString(UnsafePointer(imagen))
- let titulo = sqlite3_column_text(statement, 3)
- let buf_titulo = String.fromCString(UnsafePointer(titulo))
+ let image = sqlite3_column_text(statement, 2)
+ let buf_image = String.fromCString(UnsafePointer(image))
+ let title = sqlite3_column_text(statement, 3)
+ let buf_title = String.fromCString(UnsafePointer(title))
let year = sqlite3_column_text(statement, 4)
let buf_year = String.fromCString(UnsafePointer(year))
Dictionary.setObject(buf_director!, forKey:"director")
- Dictionary.setObject(buf_imagen!, forKey: "imagen")
- Dictionary.setObject(buf_titulo!, forKey: "titulo")
+ Dictionary.setObject(buf_image!, forKey: "image")
+ Dictionary.setObject(buf_title!, forKey: "title")
Dictionary.setObject(buf_year!, forKey: "year")
data.addObject(Dictionary)
- //Procesamos los datos como creamos conveniente
+ //process data
}
sqlite3_finalize(statement)
@@ -83,17 +93,17 @@ class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSour
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell: MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("MyTableViewCell") as MyTableViewCell
+ var cell: MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("MyTableViewCell") as! MyTableViewCell
var aux: AnyObject = data[indexPath.row]
var table_director = aux["director"]
cell.director.text = table_director as? String
var aux1: AnyObject = data[indexPath.row]
- var table_imagen = aux["imagen"]
- cell.imagen.image = UIImage(named:table_imagen as String)
+ var table_image = aux["image"]
+ cell.myImage.image = UIImage(named:table_image as! String)
var aux3: AnyObject = data[indexPath.row]
- var table_titulo = aux["titulo"]
- cell.titulo.text = table_titulo as? String
+ var table_title = aux["title"]
+ cell.title.text = table_title as? String
var aux4: AnyObject = data[indexPath.row]
var table_year = aux3["year"]
diff --git a/MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Sample.playground/playground.xcworkspace/contents.xcworkspacedata
similarity index 70%
rename from MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to Sample.playground/playground.xcworkspace/contents.xcworkspacedata
index 00008106..919434a6 100644
--- a/MultiTarea/MultiTarea.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/Sample.playground/playground.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/Sample.playground/playground.xcworkspace/xcshareddata/Sample.xccheckout b/Sample.playground/playground.xcworkspace/xcshareddata/Sample.xccheckout
new file mode 100644
index 00000000..f3abc7fa
--- /dev/null
+++ b/Sample.playground/playground.xcworkspace/xcshareddata/Sample.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 2F1FF4B7-707B-404C-948D-18AE729B031A
+ IDESourceControlProjectName
+ Sample
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ Sample.playground
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/Sample.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Sample.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..7cece504
Binary files /dev/null and b/Sample.playground/playground.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Sample.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Sample.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..de977a48
Binary files /dev/null and b/Sample.playground/playground.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Sample.playground/section-1.swift b/Sample.playground/section-1.swift
index 066caa2c..e5e44cb9 100644
--- a/Sample.playground/section-1.swift
+++ b/Sample.playground/section-1.swift
@@ -2,7 +2,7 @@
import UIKit
-var array = ["uno","dos","tres","cuatro"]
for elemento in array {
println(elemento)
+var array = ["one","two","three","four"]
for element in array {
println(element)
}
@@ -10,15 +10,15 @@ var array2 = [1,2,3,4,5,6,7,8,9,10];
-func example1(enteros: NSArray) {
+func example1(integers: NSArray) {
- var numero:NSInteger = 0
+ var number:NSInteger = 0
- for elemento in enteros{
- numero += (elemento as NSNumber).integerValue
+ for element in integers{
+ number += (element as! NSNumber).integerValue
}
- println("La suma de los valores del array es: \(numero)")
+ println("Sum all array items: \(number)")
}
@@ -45,12 +45,13 @@ func example2() -> NSMutableArray {
var array3 = example2()
-//mostramos la suma de los valores del nsmutable array
+//show nsmutable array value sum
example1(array3)
-//elimina elementos pares de un array
+
+//delete pair items from array
func example3() {
var array = example2()
@@ -58,12 +59,12 @@ func example3() {
for var i = 0; i
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ A4CAF6F2-3F61-4026-96F1-A96AB5D58026
+ IDESourceControlProjectName
+ SegueWithpresentViewController
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 98e0d693..9e48b4e5 100644
Binary files a/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..8c019d1d
Binary files /dev/null and b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme
new file mode 100644
index 00000000..51c29a69
--- /dev/null
+++ b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..2e59443d
--- /dev/null
+++ b/SegueWithpresentViewController/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SegueWithpresentViewController.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD3C61A34C11700513A3A
+
+ primary
+
+
+ 075FD3DB1A34C11700513A3A
+
+ primary
+
+
+
+
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/AppDelegate.swift b/SegueWithpresentViewController/SegueWithpresentViewController/AppDelegate.swift
index 85c23e92..8541855c 100644
--- a/SegueWithpresentViewController/SegueWithpresentViewController/AppDelegate.swift
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/AppDelegate.swift
@@ -3,8 +3,16 @@
// SegueWithpresentViewController
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib b/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib
index 165523ec..cd752c5d 100644
--- a/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/Main.storyboard b/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/Main.storyboard
index 78081fcf..337975c7 100644
--- a/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/Main.storyboard
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/NewClass.swift b/SegueWithpresentViewController/SegueWithpresentViewController/NewClass.swift
new file mode 100644
index 00000000..7e159b45
--- /dev/null
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/NewClass.swift
@@ -0,0 +1,43 @@
+//
+// NuevaClase.swift
+// SegueWithpresentViewController
+//
+// Created by Carlos Butron on 31/10/14.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class NuevaClase: UIViewController {
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.xib b/SegueWithpresentViewController/SegueWithpresentViewController/NewClass.xib
similarity index 91%
rename from SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.xib
rename to SegueWithpresentViewController/SegueWithpresentViewController/NewClass.xib
index 0102da07..b0873a45 100644
--- a/SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.xib
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/NewClass.xib
@@ -1,10 +1,10 @@
-
+
-
+
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.swift b/SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.swift
deleted file mode 100644
index e79dd321..00000000
--- a/SegueWithpresentViewController/SegueWithpresentViewController/NuevaClase.swift
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// NuevaClase.swift
-// T3E3CarlosButron
-//
-// Created by Carlos Butron on 31/10/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class NuevaClase: UIViewController {
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- // Do any additional setup after loading the view.
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/SegueWithpresentViewController/SegueWithpresentViewController/ViewController.swift b/SegueWithpresentViewController/SegueWithpresentViewController/ViewController.swift
index aaf42890..fef7a7d4 100644
--- a/SegueWithpresentViewController/SegueWithpresentViewController/ViewController.swift
+++ b/SegueWithpresentViewController/SegueWithpresentViewController/ViewController.swift
@@ -3,7 +3,15 @@
// SegueWithpresentViewController
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,7 +20,7 @@ class ViewController: UIViewController {
@IBAction func buttonAction(sender: UIButton) {
var storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
- var viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("NuevoViewController") as UIViewController
+ var viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("NewViewController") as! UIViewController
self.presentViewController(viewController, animated: true,
completion: nil)
}
@@ -20,8 +28,8 @@ class ViewController: UIViewController {
@IBAction func buttonAction2(sender: UIButton) {
- var newControlador = UIViewController (nibName: "NuevaClase", bundle: nil)
- self.presentViewController(newControlador, animated: true,
+ var newController = UIViewController (nibName: "NewClass", bundle: nil)
+ self.presentViewController(newController, animated: true,
completion: nil)
}
diff --git a/SeguesCustom/.DS_Store b/SeguesCustom/.DS_Store
new file mode 100644
index 00000000..7a844e79
Binary files /dev/null and b/SeguesCustom/.DS_Store differ
diff --git a/SeguesCustom/Segues/NuevaClase.swift b/SeguesCustom/NewClass.swift
similarity index 62%
rename from SeguesCustom/Segues/NuevaClase.swift
rename to SeguesCustom/NewClass.swift
index 897fae20..700f24cc 100644
--- a/SeguesCustom/Segues/NuevaClase.swift
+++ b/SeguesCustom/NewClass.swift
@@ -1,19 +1,27 @@
//
-// NuevaClase.swift
+// NewClass.swift
// Segues
//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 12/04/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
-class NuevaClase: UIStoryboardSegue {
+class NewClass: UIStoryboardSegue {
override func perform(){
- var source : UIViewController = self.sourceViewController as UIViewController
- var destination : UIViewController = self.destinationViewController as UIViewController
+ var source : UIViewController = self.sourceViewController as! UIViewController
+ var destination : UIViewController = self.destinationViewController as! UIViewController
UIGraphicsBeginImageContext(source.view.bounds.size)
source.view.layer.renderInContext(UIGraphicsGetCurrentContext())
@@ -34,5 +42,5 @@ class NuevaClase: UIStoryboardSegue {
}, completion: { (finished) in
source.presentViewController(destination, animated: true, completion: nil)
}) }
-
+
}
diff --git a/SeguesCustom/NewClassViewController.swift b/SeguesCustom/NewClassViewController.swift
new file mode 100644
index 00000000..d2024b88
--- /dev/null
+++ b/SeguesCustom/NewClassViewController.swift
@@ -0,0 +1,48 @@
+//
+// NewClassViewController.swift
+// Segues
+//
+// Created by Carlos Butron on 12/04/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class NewClassViewController: UIViewController {
+
+ var labelName: String!
+
+ @IBOutlet weak var label: UILabel!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ label.text = labelName
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/SeguesCustom/Segues.xcodeproj/project.pbxproj b/SeguesCustom/Segues.xcodeproj/project.pbxproj
index 72f750d3..da6514ad 100644
--- a/SeguesCustom/Segues.xcodeproj/project.pbxproj
+++ b/SeguesCustom/Segues.xcodeproj/project.pbxproj
@@ -13,9 +13,9 @@
075FD3A01A34BDC600513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD39F1A34BDC600513A3A /* Images.xcassets */; };
075FD3A31A34BDC600513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3A11A34BDC600513A3A /* LaunchScreen.xib */; };
075FD3AF1A34BDC600513A3A /* SeguesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3AE1A34BDC600513A3A /* SeguesTests.swift */; };
- 075FD3B91A34BDD900513A3A /* NuevaClase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3B81A34BDD900513A3A /* NuevaClase.swift */; };
- 075FD3BB1A34BDE400513A3A /* NuevaClaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3BA1A34BDE400513A3A /* NuevaClaseViewController.swift */; };
075FD3BD1A34BE2800513A3A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 075FD3BC1A34BE2700513A3A /* QuartzCore.framework */; };
+ 077CF9F31ADAF11500D20B9B /* NewClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9F21ADAF11500D20B9B /* NewClass.swift */; };
+ 077CF9F51ADAF12C00D20B9B /* NewClassViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CF9F41ADAF12C00D20B9B /* NewClassViewController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -39,9 +39,9 @@
075FD3A81A34BDC600513A3A /* SeguesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SeguesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
075FD3AD1A34BDC600513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD3AE1A34BDC600513A3A /* SeguesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeguesTests.swift; sourceTree = ""; };
- 075FD3B81A34BDD900513A3A /* NuevaClase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NuevaClase.swift; sourceTree = ""; };
- 075FD3BA1A34BDE400513A3A /* NuevaClaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NuevaClaseViewController.swift; sourceTree = ""; };
075FD3BC1A34BE2700513A3A /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ 077CF9F21ADAF11500D20B9B /* NewClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NewClass.swift; path = ../NewClass.swift; sourceTree = ""; };
+ 077CF9F41ADAF12C00D20B9B /* NewClassViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NewClassViewController.swift; path = ../NewClassViewController.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -87,8 +87,8 @@
children = (
075FD3981A34BDC600513A3A /* AppDelegate.swift */,
075FD39A1A34BDC600513A3A /* ViewController.swift */,
- 075FD3B81A34BDD900513A3A /* NuevaClase.swift */,
- 075FD3BA1A34BDE400513A3A /* NuevaClaseViewController.swift */,
+ 077CF9F21ADAF11500D20B9B /* NewClass.swift */,
+ 077CF9F41ADAF12C00D20B9B /* NewClassViewController.swift */,
075FD39C1A34BDC600513A3A /* Main.storyboard */,
075FD39F1A34BDC600513A3A /* Images.xcassets */,
075FD3A11A34BDC600513A3A /* LaunchScreen.xib */,
@@ -223,9 +223,9 @@
buildActionMask = 2147483647;
files = (
075FD39B1A34BDC600513A3A /* ViewController.swift in Sources */,
- 075FD3B91A34BDD900513A3A /* NuevaClase.swift in Sources */,
075FD3991A34BDC600513A3A /* AppDelegate.swift in Sources */,
- 075FD3BB1A34BDE400513A3A /* NuevaClaseViewController.swift in Sources */,
+ 077CF9F31ADAF11500D20B9B /* NewClass.swift in Sources */,
+ 077CF9F51ADAF12C00D20B9B /* NewClassViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -349,6 +349,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Segues/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -359,6 +360,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = Segues/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -417,6 +419,7 @@
075FD3B41A34BDC600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD3B51A34BDC600513A3A /* Build configuration list for PBXNativeTarget "SeguesTests" */ = {
isa = XCConfigurationList;
@@ -425,6 +428,7 @@
075FD3B71A34BDC600513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcshareddata/Segues.xccheckout b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcshareddata/Segues.xccheckout
new file mode 100644
index 00000000..a4504351
--- /dev/null
+++ b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcshareddata/Segues.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 883230BD-8F32-4477-98D3-149CA3A4D5DB
+ IDESourceControlProjectName
+ Segues
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SeguesCustom/Segues.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index f5a07daa..fb2addcb 100644
Binary files a/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..395b131a
Binary files /dev/null and b/SeguesCustom/Segues.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Segues.xcscheme b/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Segues.xcscheme
new file mode 100644
index 00000000..4f1c7540
--- /dev/null
+++ b/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/Segues.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..8eecc8f6
--- /dev/null
+++ b/SeguesCustom/Segues.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ Segues.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD3921A34BDC600513A3A
+
+ primary
+
+
+ 075FD3A71A34BDC600513A3A
+
+ primary
+
+
+
+
+
diff --git a/SeguesCustom/Segues/AppDelegate.swift b/SeguesCustom/Segues/AppDelegate.swift
index d1f3612d..cab13169 100644
--- a/SeguesCustom/Segues/AppDelegate.swift
+++ b/SeguesCustom/Segues/AppDelegate.swift
@@ -3,8 +3,16 @@
// Segues
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/SeguesCustom/Segues/Base.lproj/Main.storyboard b/SeguesCustom/Segues/Base.lproj/Main.storyboard
index 7d54dd1c..3bd8a563 100644
--- a/SeguesCustom/Segues/Base.lproj/Main.storyboard
+++ b/SeguesCustom/Segues/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -22,7 +22,7 @@
-
+
@@ -33,10 +33,10 @@
-
+
-
+
@@ -55,7 +55,7 @@
-
+
diff --git a/SeguesCustom/Segues/NuevaClaseViewController.swift b/SeguesCustom/Segues/NuevaClaseViewController.swift
deleted file mode 100644
index 04b777b6..00000000
--- a/SeguesCustom/Segues/NuevaClaseViewController.swift
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// NuevaClaseViewController.swift
-// Segues
-//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class NuevaClaseViewController: UIViewController {
-
- var nombreEtiqueta: NSString!
-
- @IBOutlet weak var etiqueta: UILabel!
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- etiqueta.text = nombreEtiqueta
- // Do any additional setup after loading the view.
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/SeguesCustom/Segues/ViewController.swift b/SeguesCustom/Segues/ViewController.swift
index 4761b5c8..ce9e17b4 100644
--- a/SeguesCustom/Segues/ViewController.swift
+++ b/SeguesCustom/Segues/ViewController.swift
@@ -3,7 +3,15 @@
// Segues
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -24,10 +32,10 @@ class ViewController: UIViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- if (segue.identifier=="NuevaClase"){
- let myDestVC = segue.destinationViewController as NuevaClaseViewController
+ if (segue.identifier=="NewClass"){
+ let myDestVC = segue.destinationViewController as! NewClassViewController
- myDestVC.nombreEtiqueta = "texto"
+ myDestVC.labelName = "text"
}
}
diff --git a/Show Local IP/.DS_Store b/Show Local IP/.DS_Store
new file mode 100644
index 00000000..7c7555c1
Binary files /dev/null and b/Show Local IP/.DS_Store differ
diff --git a/MultiTarea/MultiTarea.xcodeproj/project.pbxproj b/Show Local IP/showip.xcodeproj/project.pbxproj
similarity index 50%
rename from MultiTarea/MultiTarea.xcodeproj/project.pbxproj
rename to Show Local IP/showip.xcodeproj/project.pbxproj
index 78405c34..894cb9a0 100644
--- a/MultiTarea/MultiTarea.xcodeproj/project.pbxproj
+++ b/Show Local IP/showip.xcodeproj/project.pbxproj
@@ -7,46 +7,50 @@
objects = {
/* Begin PBXBuildFile section */
- 0770A7B01A2D5D5800494953 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A7AF1A2D5D5700494953 /* AppDelegate.swift */; };
- 0770A7B21A2D5D5800494953 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A7B11A2D5D5800494953 /* ViewController.swift */; };
- 0770A7B51A2D5D5800494953 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0770A7B31A2D5D5800494953 /* Main.storyboard */; };
- 0770A7B71A2D5D5800494953 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0770A7B61A2D5D5800494953 /* Images.xcassets */; };
- 0770A7BA1A2D5D5800494953 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0770A7B81A2D5D5800494953 /* LaunchScreen.xib */; };
- 0770A7C61A2D5D5800494953 /* MultiTareaTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0770A7C51A2D5D5800494953 /* MultiTareaTests.swift */; };
+ 070F86E11A82A3CF00BB861E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 070F86E01A82A3CF00BB861E /* AppDelegate.swift */; };
+ 070F86E31A82A3CF00BB861E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 070F86E21A82A3CF00BB861E /* ViewController.swift */; };
+ 070F86E61A82A3CF00BB861E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 070F86E41A82A3CF00BB861E /* Main.storyboard */; };
+ 070F86E81A82A3CF00BB861E /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 070F86E71A82A3CF00BB861E /* Images.xcassets */; };
+ 070F86EB1A82A3CF00BB861E /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 070F86E91A82A3CF00BB861E /* LaunchScreen.xib */; };
+ 070F86F71A82A3CF00BB861E /* showipTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 070F86F61A82A3CF00BB861E /* showipTests.swift */; };
+ 070F87031A82A68B00BB861E /* objectiv.m in Sources */ = {isa = PBXBuildFile; fileRef = 070F87021A82A68B00BB861E /* objectiv.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 0770A7C01A2D5D5800494953 /* PBXContainerItemProxy */ = {
+ 070F86F11A82A3CF00BB861E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
- containerPortal = 0770A7A21A2D5D5700494953 /* Project object */;
+ containerPortal = 070F86D31A82A3CF00BB861E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 0770A7A91A2D5D5700494953;
- remoteInfo = MultiTarea;
+ remoteGlobalIDString = 070F86DA1A82A3CF00BB861E;
+ remoteInfo = showip;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 0770A7AA1A2D5D5700494953 /* MultiTarea.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MultiTarea.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 0770A7AE1A2D5D5700494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 0770A7AF1A2D5D5700494953 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 0770A7B11A2D5D5800494953 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- 0770A7B41A2D5D5800494953 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 0770A7B61A2D5D5800494953 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- 0770A7B91A2D5D5800494953 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 0770A7BF1A2D5D5800494953 /* MultiTareaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiTareaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 0770A7C41A2D5D5800494953 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 0770A7C51A2D5D5800494953 /* MultiTareaTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiTareaTests.swift; sourceTree = ""; };
+ 070F86DB1A82A3CF00BB861E /* showip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = showip.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 070F86DF1A82A3CF00BB861E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 070F86E01A82A3CF00BB861E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 070F86E21A82A3CF00BB861E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 070F86E51A82A3CF00BB861E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 070F86E71A82A3CF00BB861E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ 070F86EA1A82A3CF00BB861E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
+ 070F86F01A82A3CF00BB861E /* showipTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = showipTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 070F86F51A82A3CF00BB861E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 070F86F61A82A3CF00BB861E /* showipTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = showipTests.swift; sourceTree = ""; };
+ 070F87001A82A68B00BB861E /* showip-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "showip-Bridging-Header.h"; sourceTree = ""; };
+ 070F87011A82A68B00BB861E /* objectiv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objectiv.h; sourceTree = ""; };
+ 070F87021A82A68B00BB861E /* objectiv.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = objectiv.m; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 0770A7A71A2D5D5700494953 /* Frameworks */ = {
+ 070F86D81A82A3CF00BB861E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
- 0770A7BC1A2D5D5800494953 /* Frameworks */ = {
+ 070F86ED1A82A3CF00BB861E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -56,58 +60,61 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 0770A7A11A2D5D5700494953 = {
+ 070F86D21A82A3CF00BB861E = {
isa = PBXGroup;
children = (
- 0770A7AC1A2D5D5700494953 /* MultiTarea */,
- 0770A7C21A2D5D5800494953 /* MultiTareaTests */,
- 0770A7AB1A2D5D5700494953 /* Products */,
+ 070F86DD1A82A3CF00BB861E /* showip */,
+ 070F86F31A82A3CF00BB861E /* showipTests */,
+ 070F86DC1A82A3CF00BB861E /* Products */,
);
sourceTree = "";
};
- 0770A7AB1A2D5D5700494953 /* Products */ = {
+ 070F86DC1A82A3CF00BB861E /* Products */ = {
isa = PBXGroup;
children = (
- 0770A7AA1A2D5D5700494953 /* MultiTarea.app */,
- 0770A7BF1A2D5D5800494953 /* MultiTareaTests.xctest */,
+ 070F86DB1A82A3CF00BB861E /* showip.app */,
+ 070F86F01A82A3CF00BB861E /* showipTests.xctest */,
);
name = Products;
sourceTree = "";
};
- 0770A7AC1A2D5D5700494953 /* MultiTarea */ = {
+ 070F86DD1A82A3CF00BB861E /* showip */ = {
isa = PBXGroup;
children = (
- 0770A7AF1A2D5D5700494953 /* AppDelegate.swift */,
- 0770A7B11A2D5D5800494953 /* ViewController.swift */,
- 0770A7B31A2D5D5800494953 /* Main.storyboard */,
- 0770A7B61A2D5D5800494953 /* Images.xcassets */,
- 0770A7B81A2D5D5800494953 /* LaunchScreen.xib */,
- 0770A7AD1A2D5D5700494953 /* Supporting Files */,
+ 070F86E01A82A3CF00BB861E /* AppDelegate.swift */,
+ 070F86E21A82A3CF00BB861E /* ViewController.swift */,
+ 070F86E41A82A3CF00BB861E /* Main.storyboard */,
+ 070F86E71A82A3CF00BB861E /* Images.xcassets */,
+ 070F86E91A82A3CF00BB861E /* LaunchScreen.xib */,
+ 070F86DE1A82A3CF00BB861E /* Supporting Files */,
+ 070F87011A82A68B00BB861E /* objectiv.h */,
+ 070F87021A82A68B00BB861E /* objectiv.m */,
+ 070F87001A82A68B00BB861E /* showip-Bridging-Header.h */,
);
- path = MultiTarea;
+ path = showip;
sourceTree = "";
};
- 0770A7AD1A2D5D5700494953 /* Supporting Files */ = {
+ 070F86DE1A82A3CF00BB861E /* Supporting Files */ = {
isa = PBXGroup;
children = (
- 0770A7AE1A2D5D5700494953 /* Info.plist */,
+ 070F86DF1A82A3CF00BB861E /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "";
};
- 0770A7C21A2D5D5800494953 /* MultiTareaTests */ = {
+ 070F86F31A82A3CF00BB861E /* showipTests */ = {
isa = PBXGroup;
children = (
- 0770A7C51A2D5D5800494953 /* MultiTareaTests.swift */,
- 0770A7C31A2D5D5800494953 /* Supporting Files */,
+ 070F86F61A82A3CF00BB861E /* showipTests.swift */,
+ 070F86F41A82A3CF00BB861E /* Supporting Files */,
);
- path = MultiTareaTests;
+ path = showipTests;
sourceTree = "";
};
- 0770A7C31A2D5D5800494953 /* Supporting Files */ = {
+ 070F86F41A82A3CF00BB861E /* Supporting Files */ = {
isa = PBXGroup;
children = (
- 0770A7C41A2D5D5800494953 /* Info.plist */,
+ 070F86F51A82A3CF00BB861E /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "";
@@ -115,60 +122,62 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 0770A7A91A2D5D5700494953 /* MultiTarea */ = {
+ 070F86DA1A82A3CF00BB861E /* showip */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0770A7C91A2D5D5800494953 /* Build configuration list for PBXNativeTarget "MultiTarea" */;
+ buildConfigurationList = 070F86FA1A82A3CF00BB861E /* Build configuration list for PBXNativeTarget "showip" */;
buildPhases = (
- 0770A7A61A2D5D5700494953 /* Sources */,
- 0770A7A71A2D5D5700494953 /* Frameworks */,
- 0770A7A81A2D5D5700494953 /* Resources */,
+ 070F86D71A82A3CF00BB861E /* Sources */,
+ 070F86D81A82A3CF00BB861E /* Frameworks */,
+ 070F86D91A82A3CF00BB861E /* Resources */,
);
buildRules = (
);
dependencies = (
);
- name = MultiTarea;
- productName = MultiTarea;
- productReference = 0770A7AA1A2D5D5700494953 /* MultiTarea.app */;
+ name = showip;
+ productName = showip;
+ productReference = 070F86DB1A82A3CF00BB861E /* showip.app */;
productType = "com.apple.product-type.application";
};
- 0770A7BE1A2D5D5800494953 /* MultiTareaTests */ = {
+ 070F86EF1A82A3CF00BB861E /* showipTests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 0770A7CC1A2D5D5800494953 /* Build configuration list for PBXNativeTarget "MultiTareaTests" */;
+ buildConfigurationList = 070F86FD1A82A3CF00BB861E /* Build configuration list for PBXNativeTarget "showipTests" */;
buildPhases = (
- 0770A7BB1A2D5D5800494953 /* Sources */,
- 0770A7BC1A2D5D5800494953 /* Frameworks */,
- 0770A7BD1A2D5D5800494953 /* Resources */,
+ 070F86EC1A82A3CF00BB861E /* Sources */,
+ 070F86ED1A82A3CF00BB861E /* Frameworks */,
+ 070F86EE1A82A3CF00BB861E /* Resources */,
);
buildRules = (
);
dependencies = (
- 0770A7C11A2D5D5800494953 /* PBXTargetDependency */,
+ 070F86F21A82A3CF00BB861E /* PBXTargetDependency */,
);
- name = MultiTareaTests;
- productName = MultiTareaTests;
- productReference = 0770A7BF1A2D5D5800494953 /* MultiTareaTests.xctest */;
+ name = showipTests;
+ productName = showipTests;
+ productReference = 070F86F01A82A3CF00BB861E /* showipTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 0770A7A21A2D5D5700494953 /* Project object */ = {
+ 070F86D31A82A3CF00BB861E /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
- 0770A7A91A2D5D5700494953 = {
+ 070F86DA1A82A3CF00BB861E = {
CreatedOnToolsVersion = 6.1;
};
- 0770A7BE1A2D5D5800494953 = {
+ 070F86EF1A82A3CF00BB861E = {
CreatedOnToolsVersion = 6.1;
- TestTargetID = 0770A7A91A2D5D5700494953;
+ TestTargetID = 070F86DA1A82A3CF00BB861E;
};
};
};
- buildConfigurationList = 0770A7A51A2D5D5700494953 /* Build configuration list for PBXProject "MultiTarea" */;
+ buildConfigurationList = 070F86D61A82A3CF00BB861E /* Build configuration list for PBXProject "showip" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@@ -176,29 +185,29 @@
en,
Base,
);
- mainGroup = 0770A7A11A2D5D5700494953;
- productRefGroup = 0770A7AB1A2D5D5700494953 /* Products */;
+ mainGroup = 070F86D21A82A3CF00BB861E;
+ productRefGroup = 070F86DC1A82A3CF00BB861E /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 0770A7A91A2D5D5700494953 /* MultiTarea */,
- 0770A7BE1A2D5D5800494953 /* MultiTareaTests */,
+ 070F86DA1A82A3CF00BB861E /* showip */,
+ 070F86EF1A82A3CF00BB861E /* showipTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 0770A7A81A2D5D5700494953 /* Resources */ = {
+ 070F86D91A82A3CF00BB861E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A7B51A2D5D5800494953 /* Main.storyboard in Resources */,
- 0770A7BA1A2D5D5800494953 /* LaunchScreen.xib in Resources */,
- 0770A7B71A2D5D5800494953 /* Images.xcassets in Resources */,
+ 070F86E61A82A3CF00BB861E /* Main.storyboard in Resources */,
+ 070F86EB1A82A3CF00BB861E /* LaunchScreen.xib in Resources */,
+ 070F86E81A82A3CF00BB861E /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 0770A7BD1A2D5D5800494953 /* Resources */ = {
+ 070F86EE1A82A3CF00BB861E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -208,46 +217,47 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 0770A7A61A2D5D5700494953 /* Sources */ = {
+ 070F86D71A82A3CF00BB861E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A7B21A2D5D5800494953 /* ViewController.swift in Sources */,
- 0770A7B01A2D5D5800494953 /* AppDelegate.swift in Sources */,
+ 070F86E31A82A3CF00BB861E /* ViewController.swift in Sources */,
+ 070F86E11A82A3CF00BB861E /* AppDelegate.swift in Sources */,
+ 070F87031A82A68B00BB861E /* objectiv.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 0770A7BB1A2D5D5800494953 /* Sources */ = {
+ 070F86EC1A82A3CF00BB861E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 0770A7C61A2D5D5800494953 /* MultiTareaTests.swift in Sources */,
+ 070F86F71A82A3CF00BB861E /* showipTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- 0770A7C11A2D5D5800494953 /* PBXTargetDependency */ = {
+ 070F86F21A82A3CF00BB861E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 0770A7A91A2D5D5700494953 /* MultiTarea */;
- targetProxy = 0770A7C01A2D5D5800494953 /* PBXContainerItemProxy */;
+ target = 070F86DA1A82A3CF00BB861E /* showip */;
+ targetProxy = 070F86F11A82A3CF00BB861E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
- 0770A7B31A2D5D5800494953 /* Main.storyboard */ = {
+ 070F86E41A82A3CF00BB861E /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
- 0770A7B41A2D5D5800494953 /* Base */,
+ 070F86E51A82A3CF00BB861E /* Base */,
);
name = Main.storyboard;
sourceTree = "";
};
- 0770A7B81A2D5D5800494953 /* LaunchScreen.xib */ = {
+ 070F86E91A82A3CF00BB861E /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
- 0770A7B91A2D5D5800494953 /* Base */,
+ 070F86EA1A82A3CF00BB861E /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "";
@@ -255,7 +265,7 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
- 0770A7C71A2D5D5800494953 /* Debug */ = {
+ 070F86F81A82A3CF00BB861E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -275,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -289,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -297,7 +308,7 @@
};
name = Debug;
};
- 0770A7C81A2D5D5800494953 /* Release */ = {
+ 070F86F91A82A3CF00BB861E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -325,34 +336,43 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
- 0770A7CA1A2D5D5800494953 /* Debug */ = {
+ 070F86FB1A82A3CF00BB861E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = MultiTarea/Info.plist;
+ CLANG_ENABLE_MODULES = YES;
+ INFOPLIST_FILE = showip/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OBJC_BRIDGING_HEADER = "showip/showip-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
- 0770A7CB1A2D5D5800494953 /* Release */ = {
+ 070F86FC1A82A3CF00BB861E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = MultiTarea/Info.plist;
+ CLANG_ENABLE_MODULES = YES;
+ INFOPLIST_FILE = showip/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OBJC_BRIDGING_HEADER = "showip/showip-Bridging-Header.h";
};
name = Release;
};
- 0770A7CD1A2D5D5800494953 /* Debug */ = {
+ 070F86FE1A82A3CF00BB861E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -364,14 +384,15 @@
"DEBUG=1",
"$(inherited)",
);
- INFOPLIST_FILE = MultiTareaTests/Info.plist;
+ INFOPLIST_FILE = showipTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MultiTarea.app/MultiTarea";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/showip.app/showip";
};
name = Debug;
};
- 0770A7CE1A2D5D5800494953 /* Release */ = {
+ 070F86FF1A82A3CF00BB861E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -379,42 +400,45 @@
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
- INFOPLIST_FILE = MultiTareaTests/Info.plist;
+ INFOPLIST_FILE = showipTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MultiTarea.app/MultiTarea";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/showip.app/showip";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 0770A7A51A2D5D5700494953 /* Build configuration list for PBXProject "MultiTarea" */ = {
+ 070F86D61A82A3CF00BB861E /* Build configuration list for PBXProject "showip" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 0770A7C71A2D5D5800494953 /* Debug */,
- 0770A7C81A2D5D5800494953 /* Release */,
+ 070F86F81A82A3CF00BB861E /* Debug */,
+ 070F86F91A82A3CF00BB861E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 0770A7C91A2D5D5800494953 /* Build configuration list for PBXNativeTarget "MultiTarea" */ = {
+ 070F86FA1A82A3CF00BB861E /* Build configuration list for PBXNativeTarget "showip" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 0770A7CA1A2D5D5800494953 /* Debug */,
- 0770A7CB1A2D5D5800494953 /* Release */,
+ 070F86FB1A82A3CF00BB861E /* Debug */,
+ 070F86FC1A82A3CF00BB861E /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
- 0770A7CC1A2D5D5800494953 /* Build configuration list for PBXNativeTarget "MultiTareaTests" */ = {
+ 070F86FD1A82A3CF00BB861E /* Build configuration list for PBXNativeTarget "showipTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 0770A7CD1A2D5D5800494953 /* Debug */,
- 0770A7CE1A2D5D5800494953 /* Release */,
+ 070F86FE1A82A3CF00BB861E /* Debug */,
+ 070F86FF1A82A3CF00BB861E /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
- rootObject = 0770A7A21A2D5D5700494953 /* Project object */;
+ rootObject = 070F86D31A82A3CF00BB861E /* Project object */;
}
diff --git a/Show Local IP/showip.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Show Local IP/showip.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..60e36dbb
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/project.xcworkspace/xcshareddata/showip.xccheckout b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcshareddata/showip.xccheckout
new file mode 100644
index 00000000..efa94a8f
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcshareddata/showip.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 362F7205-DB65-4406-935C-9D2CFCEE0130
+ IDESourceControlProjectName
+ showip
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ Show Local IP/showip.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a564c50d
Binary files /dev/null and b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a6069093
Binary files /dev/null and b/Show Local IP/showip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip 2.xcscheme b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip 2.xcscheme
new file mode 100644
index 00000000..0f14f388
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip.xcscheme b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip.xcscheme
new file mode 100644
index 00000000..bce1700e
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/showip.xcscheme
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..34ef1c21
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ SchemeUserState
+
+ showip 2.xcscheme
+
+ orderHint
+ 1
+
+ showip.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 070F86DA1A82A3CF00BB861E
+
+ primary
+
+
+ 070F86EF1A82A3CF00BB861E
+
+ primary
+
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/showip.xcscheme b/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/showip.xcscheme
new file mode 100644
index 00000000..e7e7c457
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/showip.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..a5930afe
--- /dev/null
+++ b/Show Local IP/showip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ showip.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 070F86DA1A82A3CF00BB861E
+
+ primary
+
+
+ 070F86EF1A82A3CF00BB861E
+
+ primary
+
+
+
+
+
diff --git a/Show Local IP/showip/AppDelegate.swift b/Show Local IP/showip/AppDelegate.swift
new file mode 100644
index 00000000..465d8afa
--- /dev/null
+++ b/Show Local IP/showip/AppDelegate.swift
@@ -0,0 +1,54 @@
+//
+// AppDelegate.swift
+// showip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+
+ func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
+ // Override point for customization after application launch.
+ return true
+ }
+
+ func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ }
+
+ func applicationDidEnterBackground(application: 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) {
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+ }
+
+ func applicationDidBecomeActive(application: 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) {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+ }
+
+
+}
+
diff --git a/MultiTarea/MultiTarea/Base.lproj/LaunchScreen.xib b/Show Local IP/showip/Base.lproj/LaunchScreen.xib
similarity index 92%
rename from MultiTarea/MultiTarea/Base.lproj/LaunchScreen.xib
rename to Show Local IP/showip/Base.lproj/LaunchScreen.xib
index 059c97df..883a2e34 100644
--- a/MultiTarea/MultiTarea/Base.lproj/LaunchScreen.xib
+++ b/Show Local IP/showip/Base.lproj/LaunchScreen.xib
@@ -11,13 +11,13 @@
-
+
-
+
diff --git a/Show Local IP/showip/Base.lproj/Main.storyboard b/Show Local IP/showip/Base.lproj/Main.storyboard
new file mode 100644
index 00000000..52ea29eb
--- /dev/null
+++ b/Show Local IP/showip/Base.lproj/Main.storyboard
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Local IP/showip/Images.xcassets/AppIcon.appiconset/Contents.json b/Show Local IP/showip/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..118c98f7
--- /dev/null
+++ b/Show Local IP/showip/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Show Local IP/showip/Info.plist b/Show Local IP/showip/Info.plist
new file mode 100644
index 00000000..6905cc67
--- /dev/null
+++ b/Show Local IP/showip/Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/Show Local IP/showip/ViewController.swift b/Show Local IP/showip/ViewController.swift
new file mode 100644
index 00000000..d87b8427
--- /dev/null
+++ b/Show Local IP/showip/ViewController.swift
@@ -0,0 +1,70 @@
+//
+// ViewController.swift
+// showip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class ViewController: UIViewController {
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ getIFAddresses()
+
+
+
+ // 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.
+ }
+
+ func getIFAddresses() -> [String] {
+ var addresses = [String]()
+
+ // Get list of all interfaces on the local machine:
+ var ifaddr : UnsafeMutablePointer = nil
+ if getifaddrs(&ifaddr) == 0 {
+
+ // For each interface ...
+ for (var ptr = ifaddr; ptr != nil; ptr = ptr.memory.ifa_next) {
+ let flags = Int32(ptr.memory.ifa_flags)
+ var addr = ptr.memory.ifa_addr.memory
+
+ // Check for running IPv4, IPv6 interfaces. Skip the loopback interface.
+ if (flags & (IFF_UP|IFF_RUNNING|IFF_LOOPBACK)) == (IFF_UP|IFF_RUNNING) {
+ if addr.sa_family == UInt8(AF_INET) || addr.sa_family == UInt8(AF_INET6) {
+
+ // Convert interface address to a human readable string:
+ var hostname = [CChar](count: Int(NI_MAXHOST), repeatedValue: 0)
+ if (getnameinfo(&addr, socklen_t(addr.sa_len), &hostname, socklen_t(hostname.count),
+ nil, socklen_t(0), NI_NUMERICHOST) == 0) {
+ if let address = String.fromCString(hostname) {
+ addresses.append(address)
+ }
+ }
+ }
+ }
+ }
+ freeifaddrs(ifaddr)
+ }
+ print("Local IP \(addresses)")
+ return addresses
+ }
+
+
+}
+
diff --git a/Show Local IP/showip/objectiv.h b/Show Local IP/showip/objectiv.h
new file mode 100644
index 00000000..fcd54840
--- /dev/null
+++ b/Show Local IP/showip/objectiv.h
@@ -0,0 +1,21 @@
+//
+// objectiv.h
+// showip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+#import
+
+@interface objectiv : NSObject
+
+@end
diff --git a/Show Local IP/showip/objectiv.m b/Show Local IP/showip/objectiv.m
new file mode 100644
index 00000000..ff631645
--- /dev/null
+++ b/Show Local IP/showip/objectiv.m
@@ -0,0 +1,21 @@
+//
+// objectiv.m
+// showip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+#import "objectiv.h"
+
+@implementation objectiv
+
+@end
diff --git a/Show Local IP/showip/showip-Bridging-Header.h b/Show Local IP/showip/showip-Bridging-Header.h
new file mode 100644
index 00000000..a45d510c
--- /dev/null
+++ b/Show Local IP/showip/showip-Bridging-Header.h
@@ -0,0 +1,15 @@
+//
+// Use this file to import your target's public headers that you would like to expose to Swift.
+//
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
+
+#include
\ No newline at end of file
diff --git a/Show Local IP/showipTests/Info.plist b/Show Local IP/showipTests/Info.plist
new file mode 100644
index 00000000..ba72822e
--- /dev/null
+++ b/Show Local IP/showipTests/Info.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/MultiTarea/MultiTareaTests/MultiTareaTests.swift b/Show Local IP/showipTests/showipTests.swift
similarity index 79%
rename from MultiTarea/MultiTareaTests/MultiTareaTests.swift
rename to Show Local IP/showipTests/showipTests.swift
index 0b45f82f..305d5861 100644
--- a/MultiTarea/MultiTareaTests/MultiTareaTests.swift
+++ b/Show Local IP/showipTests/showipTests.swift
@@ -1,15 +1,15 @@
//
-// MultiTareaTests.swift
-// MultiTareaTests
+// showipTests.swift
+// showipTests
//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
//
import UIKit
import XCTest
-class MultiTareaTests: XCTestCase {
+class showipTests: XCTestCase {
override func setUp() {
super.setUp()
diff --git a/Show Remote IP/.DS_Store b/Show Remote IP/.DS_Store
new file mode 100644
index 00000000..fd361e40
Binary files /dev/null and b/Show Remote IP/.DS_Store differ
diff --git a/Show Remote IP/myip.xcodeproj/project.pbxproj b/Show Remote IP/myip.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..db5d4185
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/project.pbxproj
@@ -0,0 +1,436 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 070F87131A82BC1100BB861E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 070F87121A82BC1100BB861E /* main.m */; };
+ 070F87161A82BC1100BB861E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 070F87151A82BC1100BB861E /* AppDelegate.m */; };
+ 070F87191A82BC1100BB861E /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 070F87181A82BC1100BB861E /* ViewController.m */; };
+ 070F871C1A82BC1100BB861E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 070F871A1A82BC1100BB861E /* Main.storyboard */; };
+ 070F871E1A82BC1100BB861E /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 070F871D1A82BC1100BB861E /* Images.xcassets */; };
+ 070F87211A82BC1200BB861E /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 070F871F1A82BC1200BB861E /* LaunchScreen.xib */; };
+ 070F872D1A82BC1200BB861E /* myipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 070F872C1A82BC1200BB861E /* myipTests.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 070F87271A82BC1200BB861E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 070F87051A82BC1100BB861E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 070F870C1A82BC1100BB861E;
+ remoteInfo = myip;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 070F870D1A82BC1100BB861E /* myip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = myip.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 070F87111A82BC1100BB861E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 070F87121A82BC1100BB861E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 070F87141A82BC1100BB861E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 070F87151A82BC1100BB861E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ 070F87171A82BC1100BB861E /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
+ 070F87181A82BC1100BB861E /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
+ 070F871B1A82BC1100BB861E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 070F871D1A82BC1100BB861E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ 070F87201A82BC1200BB861E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
+ 070F87261A82BC1200BB861E /* myipTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = myipTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 070F872B1A82BC1200BB861E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 070F872C1A82BC1200BB861E /* myipTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = myipTests.m; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 070F870A1A82BC1100BB861E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 070F87231A82BC1200BB861E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 070F87041A82BC1100BB861E = {
+ isa = PBXGroup;
+ children = (
+ 070F870F1A82BC1100BB861E /* myip */,
+ 070F87291A82BC1200BB861E /* myipTests */,
+ 070F870E1A82BC1100BB861E /* Products */,
+ );
+ sourceTree = "";
+ };
+ 070F870E1A82BC1100BB861E /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 070F870D1A82BC1100BB861E /* myip.app */,
+ 070F87261A82BC1200BB861E /* myipTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 070F870F1A82BC1100BB861E /* myip */ = {
+ isa = PBXGroup;
+ children = (
+ 070F87141A82BC1100BB861E /* AppDelegate.h */,
+ 070F87151A82BC1100BB861E /* AppDelegate.m */,
+ 070F87171A82BC1100BB861E /* ViewController.h */,
+ 070F87181A82BC1100BB861E /* ViewController.m */,
+ 070F871A1A82BC1100BB861E /* Main.storyboard */,
+ 070F871D1A82BC1100BB861E /* Images.xcassets */,
+ 070F871F1A82BC1200BB861E /* LaunchScreen.xib */,
+ 070F87101A82BC1100BB861E /* Supporting Files */,
+ );
+ path = myip;
+ sourceTree = "";
+ };
+ 070F87101A82BC1100BB861E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 070F87111A82BC1100BB861E /* Info.plist */,
+ 070F87121A82BC1100BB861E /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 070F87291A82BC1200BB861E /* myipTests */ = {
+ isa = PBXGroup;
+ children = (
+ 070F872C1A82BC1200BB861E /* myipTests.m */,
+ 070F872A1A82BC1200BB861E /* Supporting Files */,
+ );
+ path = myipTests;
+ sourceTree = "";
+ };
+ 070F872A1A82BC1200BB861E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 070F872B1A82BC1200BB861E /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 070F870C1A82BC1100BB861E /* myip */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 070F87301A82BC1200BB861E /* Build configuration list for PBXNativeTarget "myip" */;
+ buildPhases = (
+ 070F87091A82BC1100BB861E /* Sources */,
+ 070F870A1A82BC1100BB861E /* Frameworks */,
+ 070F870B1A82BC1100BB861E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = myip;
+ productName = myip;
+ productReference = 070F870D1A82BC1100BB861E /* myip.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 070F87251A82BC1200BB861E /* myipTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 070F87331A82BC1200BB861E /* Build configuration list for PBXNativeTarget "myipTests" */;
+ buildPhases = (
+ 070F87221A82BC1200BB861E /* Sources */,
+ 070F87231A82BC1200BB861E /* Frameworks */,
+ 070F87241A82BC1200BB861E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 070F87281A82BC1200BB861E /* PBXTargetDependency */,
+ );
+ name = myipTests;
+ productName = myipTests;
+ productReference = 070F87261A82BC1200BB861E /* myipTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 070F87051A82BC1100BB861E /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0700;
+ ORGANIZATIONNAME = "Carlos Butron";
+ TargetAttributes = {
+ 070F870C1A82BC1100BB861E = {
+ CreatedOnToolsVersion = 6.1;
+ };
+ 070F87251A82BC1200BB861E = {
+ CreatedOnToolsVersion = 6.1;
+ TestTargetID = 070F870C1A82BC1100BB861E;
+ };
+ };
+ };
+ buildConfigurationList = 070F87081A82BC1100BB861E /* Build configuration list for PBXProject "myip" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 070F87041A82BC1100BB861E;
+ productRefGroup = 070F870E1A82BC1100BB861E /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 070F870C1A82BC1100BB861E /* myip */,
+ 070F87251A82BC1200BB861E /* myipTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 070F870B1A82BC1100BB861E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 070F871C1A82BC1100BB861E /* Main.storyboard in Resources */,
+ 070F87211A82BC1200BB861E /* LaunchScreen.xib in Resources */,
+ 070F871E1A82BC1100BB861E /* Images.xcassets in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 070F87241A82BC1200BB861E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 070F87091A82BC1100BB861E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 070F87191A82BC1100BB861E /* ViewController.m in Sources */,
+ 070F87161A82BC1100BB861E /* AppDelegate.m in Sources */,
+ 070F87131A82BC1100BB861E /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 070F87221A82BC1200BB861E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 070F872D1A82BC1200BB861E /* myipTests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 070F87281A82BC1200BB861E /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 070F870C1A82BC1100BB861E /* myip */;
+ targetProxy = 070F87271A82BC1200BB861E /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 070F871A1A82BC1100BB861E /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 070F871B1A82BC1100BB861E /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 070F871F1A82BC1200BB861E /* LaunchScreen.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 070F87201A82BC1200BB861E /* Base */,
+ );
+ name = LaunchScreen.xib;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 070F872E1A82BC1200BB861E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 070F872F1A82BC1200BB861E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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 = 9.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 070F87311A82BC1200BB861E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = myip/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 070F87321A82BC1200BB861E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ INFOPLIST_FILE = myip/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 070F87341A82BC1200BB861E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = myipTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/myip.app/myip";
+ };
+ name = Debug;
+ };
+ 070F87351A82BC1200BB861E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = myipTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/myip.app/myip";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 070F87081A82BC1100BB861E /* Build configuration list for PBXProject "myip" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 070F872E1A82BC1200BB861E /* Debug */,
+ 070F872F1A82BC1200BB861E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 070F87301A82BC1200BB861E /* Build configuration list for PBXNativeTarget "myip" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 070F87311A82BC1200BB861E /* Debug */,
+ 070F87321A82BC1200BB861E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 070F87331A82BC1200BB861E /* Build configuration list for PBXNativeTarget "myipTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 070F87341A82BC1200BB861E /* Debug */,
+ 070F87351A82BC1200BB861E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 070F87051A82BC1100BB861E /* Project object */;
+}
diff --git a/Show Remote IP/myip.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Show Remote IP/myip.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..9414c0a4
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcshareddata/myip.xccheckout b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcshareddata/myip.xccheckout
new file mode 100644
index 00000000..83517906
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcshareddata/myip.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 61C30F17-494C-4840-8EAA-7A4BF3A13937
+ IDESourceControlProjectName
+ myip
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ Show Remote IP/myip.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..50aa0b62
Binary files /dev/null and b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..c0596ea7
Binary files /dev/null and b/Show Remote IP/myip.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip 2.xcscheme b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip 2.xcscheme
new file mode 100644
index 00000000..73d81a70
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip.xcscheme b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip.xcscheme
new file mode 100644
index 00000000..4bbcdc6c
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/myip.xcscheme
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..edaae891
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ SchemeUserState
+
+ myip 2.xcscheme
+
+ orderHint
+ 1
+
+ myip.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 070F870C1A82BC1100BB861E
+
+ primary
+
+
+ 070F87251A82BC1200BB861E
+
+ primary
+
+
+
+
+
diff --git a/MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTarea.xcscheme b/Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/myip.xcscheme
similarity index 65%
rename from MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTarea.xcscheme
rename to Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/myip.xcscheme
index b4da8d81..febbbc7d 100644
--- a/MultiTarea/MultiTarea.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/MultiTarea.xcscheme
+++ b/Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/myip.xcscheme
@@ -1,6 +1,6 @@
+ BlueprintIdentifier = "070F870C1A82BC1100BB861E"
+ BuildableName = "myip.app"
+ BlueprintName = "myip"
+ ReferencedContainer = "container:myip.xcodeproj">
+ BlueprintIdentifier = "070F87251A82BC1200BB861E"
+ BuildableName = "myipTests.xctest"
+ BlueprintName = "myipTests"
+ ReferencedContainer = "container:myip.xcodeproj">
@@ -46,20 +46,20 @@
skipped = "NO">
+ BlueprintIdentifier = "070F87251A82BC1200BB861E"
+ BuildableName = "myipTests.xctest"
+ BlueprintName = "myipTests"
+ ReferencedContainer = "container:myip.xcodeproj">
+ BlueprintIdentifier = "070F870C1A82BC1100BB861E"
+ BuildableName = "myip.app"
+ BlueprintName = "myip"
+ ReferencedContainer = "container:myip.xcodeproj">
@@ -72,13 +72,14 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
-
+
+ BlueprintIdentifier = "070F870C1A82BC1100BB861E"
+ BuildableName = "myip.app"
+ BlueprintName = "myip"
+ ReferencedContainer = "container:myip.xcodeproj">
@@ -90,13 +91,14 @@
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
-
+
+ BlueprintIdentifier = "070F870C1A82BC1100BB861E"
+ BuildableName = "myip.app"
+ BlueprintName = "myip"
+ ReferencedContainer = "container:myip.xcodeproj">
diff --git a/Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..b04fd194
--- /dev/null
+++ b/Show Remote IP/myip.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ myip.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 070F870C1A82BC1100BB861E
+
+ primary
+
+
+ 070F87251A82BC1200BB861E
+
+ primary
+
+
+
+
+
diff --git a/Show Remote IP/myip/AppDelegate.h b/Show Remote IP/myip/AppDelegate.h
new file mode 100644
index 00000000..7b46dc93
--- /dev/null
+++ b/Show Remote IP/myip/AppDelegate.h
@@ -0,0 +1,25 @@
+//
+// AppDelegate.h
+// myip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
+
+#import
+
+@interface AppDelegate : UIResponder
+
+@property (strong, nonatomic) UIWindow *window;
+
+
+@end
+
diff --git a/Show Remote IP/myip/AppDelegate.m b/Show Remote IP/myip/AppDelegate.m
new file mode 100644
index 00000000..f8b01545
--- /dev/null
+++ b/Show Remote IP/myip/AppDelegate.m
@@ -0,0 +1,53 @@
+//
+// AppDelegate.m
+// myip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+#import "AppDelegate.h"
+
+@interface AppDelegate ()
+
+@end
+
+@implementation AppDelegate
+
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ // Override point for customization after application launch.
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+ // 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+ // 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.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+ // 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.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
diff --git a/Show Remote IP/myip/Base.lproj/LaunchScreen.xib b/Show Remote IP/myip/Base.lproj/LaunchScreen.xib
new file mode 100644
index 00000000..1c5497cc
--- /dev/null
+++ b/Show Remote IP/myip/Base.lproj/LaunchScreen.xib
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Remote IP/myip/Base.lproj/Main.storyboard b/Show Remote IP/myip/Base.lproj/Main.storyboard
new file mode 100644
index 00000000..d912f9d7
--- /dev/null
+++ b/Show Remote IP/myip/Base.lproj/Main.storyboard
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Show Remote IP/myip/Images.xcassets/AppIcon.appiconset/Contents.json b/Show Remote IP/myip/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..118c98f7
--- /dev/null
+++ b/Show Remote IP/myip/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Show Remote IP/myip/Info.plist b/Show Remote IP/myip/Info.plist
new file mode 100644
index 00000000..80eba706
--- /dev/null
+++ b/Show Remote IP/myip/Info.plist
@@ -0,0 +1,45 @@
+
+
+
+
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/Show Remote IP/myip/ViewController.h b/Show Remote IP/myip/ViewController.h
new file mode 100644
index 00000000..b0007e78
--- /dev/null
+++ b/Show Remote IP/myip/ViewController.h
@@ -0,0 +1,23 @@
+//
+// ViewController.h
+// myip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+#import
+
+@interface ViewController : UIViewController
+
+
+@end
+
diff --git a/Show Remote IP/myip/ViewController.m b/Show Remote IP/myip/ViewController.m
new file mode 100644
index 00000000..584ce83c
--- /dev/null
+++ b/Show Remote IP/myip/ViewController.m
@@ -0,0 +1,86 @@
+//
+// ViewController.m
+// myip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+#import "ViewController.h"
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+
+ NSUInteger an_Integer;
+ NSArray * ipItemsArray;
+ NSString *externalIP;
+
+ NSURL *iPURL = [NSURL URLWithString:@"http://www.dyndns.org/cgi-bin/check_ip.cgi"];
+
+ if (iPURL) {
+ NSError *error = nil;
+ NSString *theIpHtml = [NSString stringWithContentsOfURL:iPURL
+ encoding:NSUTF8StringEncoding
+ error:&error];
+ if (!error) {
+ NSScanner *theScanner;
+ NSString *text = nil;
+
+ theScanner = [NSScanner scannerWithString:theIpHtml];
+
+ while ([theScanner isAtEnd] == NO) {
+
+ // find start of tag
+ [theScanner scanUpToString:@"<" intoString:NULL] ;
+
+ // find end of tag
+ [theScanner scanUpToString:@">" intoString:&text] ;
+
+ // replace the found tag with a space
+ //(you can filter multi-spaces out later if you wish)
+ theIpHtml = [theIpHtml stringByReplacingOccurrencesOfString:
+ [ NSString stringWithFormat:@"%@>", text]
+ withString:@" "] ;
+ ipItemsArray =[theIpHtml componentsSeparatedByString:@" "];
+ an_Integer=[ipItemsArray indexOfObject:@"Address:"];
+
+ externalIP =[ipItemsArray objectAtIndex: ++an_Integer];
+
+
+
+ }
+
+
+ NSLog(@"%@",externalIP);
+ } else {
+ NSLog(@"Oops... g %ld, %@",
+ (long)[error code],
+ [error localizedDescription]);
+ }
+
+
+}
+
+ // Do any additional setup after loading the view, typically from a nib.
+}
+
+- (void)didReceiveMemoryWarning {
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+@end
diff --git a/Show Remote IP/myip/main.m b/Show Remote IP/myip/main.m
new file mode 100644
index 00000000..07d23dee
--- /dev/null
+++ b/Show Remote IP/myip/main.m
@@ -0,0 +1,16 @@
+//
+// main.m
+// myip
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+
+#import
+#import "AppDelegate.h"
+
+int main(int argc, char * argv[]) {
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
diff --git a/Show Remote IP/myipTests/Info.plist b/Show Remote IP/myipTests/Info.plist
new file mode 100644
index 00000000..ba72822e
--- /dev/null
+++ b/Show Remote IP/myipTests/Info.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/Show Remote IP/myipTests/myipTests.m b/Show Remote IP/myipTests/myipTests.m
new file mode 100644
index 00000000..0a3ca260
--- /dev/null
+++ b/Show Remote IP/myipTests/myipTests.m
@@ -0,0 +1,40 @@
+//
+// myipTests.m
+// myipTests
+//
+// Created by Carlos Butron on 4/2/15.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+
+#import
+#import
+
+@interface myipTests : XCTestCase
+
+@end
+
+@implementation myipTests
+
+- (void)setUp {
+ [super setUp];
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+}
+
+- (void)tearDown {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ [super tearDown];
+}
+
+- (void)testExample {
+ // This is an example of a functional test case.
+ XCTAssert(YES, @"Pass");
+}
+
+- (void)testPerformanceExample {
+ // This is an example of a performance test case.
+ [self measureBlock:^{
+ // Put the code you want to measure the time of here.
+ }];
+}
+
+@end
diff --git a/SocialFramework/SocialFramework.xcodeproj/project.pbxproj b/SocialFramework/SocialFramework.xcodeproj/project.pbxproj
index 3d599083..96daf9e3 100644
--- a/SocialFramework/SocialFramework.xcodeproj/project.pbxproj
+++ b/SocialFramework/SocialFramework.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
07E35BA71A2DF81D00CA606C /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07E35BA61A2DF81D00CA606C /* Images.xcassets */; };
07E35BAA1A2DF81D00CA606C /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 07E35BA81A2DF81D00CA606C /* LaunchScreen.xib */; };
07E35BB61A2DF81D00CA606C /* SocialFrameworkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35BB51A2DF81D00CA606C /* SocialFrameworkTests.swift */; };
- 07E35BC01A2DF82700CA606C /* imagen2.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35BBF1A2DF82700CA606C /* imagen2.png */; };
+ 07E35BC01A2DF82700CA606C /* image2.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35BBF1A2DF82700CA606C /* image2.png */; };
07E35BC21A2DF83000CA606C /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07E35BC11A2DF83000CA606C /* Social.framework */; };
/* End PBXBuildFile section */
@@ -38,7 +38,7 @@
07E35BAF1A2DF81D00CA606C /* SocialFrameworkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SocialFrameworkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
07E35BB41A2DF81D00CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35BB51A2DF81D00CA606C /* SocialFrameworkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialFrameworkTests.swift; sourceTree = ""; };
- 07E35BBF1A2DF82700CA606C /* imagen2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen2.png; sourceTree = ""; };
+ 07E35BBF1A2DF82700CA606C /* image2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image2.png; sourceTree = ""; };
07E35BC11A2DF83000CA606C /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -83,7 +83,7 @@
07E35B9C1A2DF81D00CA606C /* SocialFramework */ = {
isa = PBXGroup;
children = (
- 07E35BBF1A2DF82700CA606C /* imagen2.png */,
+ 07E35BBF1A2DF82700CA606C /* image2.png */,
07E35B9F1A2DF81D00CA606C /* AppDelegate.swift */,
07E35BA11A2DF81D00CA606C /* ViewController.swift */,
07E35BA31A2DF81D00CA606C /* Main.storyboard */,
@@ -200,7 +200,7 @@
buildActionMask = 2147483647;
files = (
07E35BA51A2DF81D00CA606C /* Main.storyboard in Resources */,
- 07E35BC01A2DF82700CA606C /* imagen2.png in Resources */,
+ 07E35BC01A2DF82700CA606C /* image2.png in Resources */,
07E35BAA1A2DF81D00CA606C /* LaunchScreen.xib in Resources */,
07E35BA71A2DF81D00CA606C /* Images.xcassets in Resources */,
);
@@ -345,6 +345,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SocialFramework/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -355,6 +356,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SocialFramework/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -413,6 +415,7 @@
07E35BBB1A2DF81D00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35BBC1A2DF81D00CA606C /* Build configuration list for PBXNativeTarget "SocialFrameworkTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +424,7 @@
07E35BBE1A2DF81D00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcshareddata/SocialFramework.xccheckout b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcshareddata/SocialFramework.xccheckout
new file mode 100644
index 00000000..1ae7a4f8
--- /dev/null
+++ b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcshareddata/SocialFramework.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ D5CBB9AF-C076-4BAC-9B54-C5B3A8008419
+ IDESourceControlProjectName
+ SocialFramework
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SocialFramework/SocialFramework.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 047173e8..50114765 100644
Binary files a/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..774e0b12
Binary files /dev/null and b/SocialFramework/SocialFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFramework.xcscheme b/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFramework.xcscheme
new file mode 100644
index 00000000..d46fe53e
--- /dev/null
+++ b/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFramework.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..0b66210e
--- /dev/null
+++ b/SocialFramework/SocialFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SocialFramework.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35B991A2DF81D00CA606C
+
+ primary
+
+
+ 07E35BAE1A2DF81D00CA606C
+
+ primary
+
+
+
+
+
diff --git a/SocialFramework/SocialFramework/AppDelegate.swift b/SocialFramework/SocialFramework/AppDelegate.swift
index 3251e440..0456f1e4 100644
--- a/SocialFramework/SocialFramework/AppDelegate.swift
+++ b/SocialFramework/SocialFramework/AppDelegate.swift
@@ -3,9 +3,16 @@
// SocialFramework
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
-
import UIKit
@UIApplicationMain
diff --git a/SocialFramework/SocialFramework/Base.lproj/Main.storyboard b/SocialFramework/SocialFramework/Base.lproj/Main.storyboard
index c97aa532..53265f99 100644
--- a/SocialFramework/SocialFramework/Base.lproj/Main.storyboard
+++ b/SocialFramework/SocialFramework/Base.lproj/Main.storyboard
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -16,8 +16,9 @@
-
-
+
+
+
@@ -25,8 +26,9 @@
-
-
+
+
+
@@ -34,8 +36,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -43,9 +64,4 @@
-
-
-
-
-
diff --git a/SocialFramework/SocialFramework/ViewController.swift b/SocialFramework/SocialFramework/ViewController.swift
index 120a22dd..9befcbaf 100644
--- a/SocialFramework/SocialFramework/ViewController.swift
+++ b/SocialFramework/SocialFramework/ViewController.swift
@@ -3,7 +3,15 @@
// SocialFramework
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,19 +22,19 @@ class ViewController: UIViewController {
@IBAction func facebook(sender: UIButton) {
- var url: NSURL = NSURL(string: "http://www.google.es")!
+ let url: NSURL = NSURL(string: "http://www.google.es")!
- var fbController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
+ let fbController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
fbController.setInitialText("")
fbController.addURL(url)
- var completionHandler = {(result:SLComposeViewControllerResult) -> () in
+ let completionHandler = {(result:SLComposeViewControllerResult) -> () in
fbController.dismissViewControllerAnimated(true, completion:nil)
switch(result){
case SLComposeViewControllerResult.Cancelled:
- println("El usuario ha cancelado")
+ print("User canceled")
case SLComposeViewControllerResult.Done:
- println("El usuario ha posteado")
+ print("User posted")
default:
break
}
@@ -39,19 +47,19 @@ class ViewController: UIViewController {
@IBAction func twitter(sender: UIButton) {
- var image: UIImage = UIImage(named: "imagen2.png")!
+ let image: UIImage = UIImage(named: "image2.png")!
- var twitterController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
+ let twitterController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
twitterController.setInitialText("")
twitterController.addImage(image)
- var completionHandler = {(result:SLComposeViewControllerResult) -> () in
+ let completionHandler = {(result:SLComposeViewControllerResult) -> () in
twitterController.dismissViewControllerAnimated(true, completion: nil)
switch(result){
case SLComposeViewControllerResult.Cancelled:
- println("El usuario ha cancelado")
+ print("User canceled")
case SLComposeViewControllerResult.Done:
- println("El usuario ha twitteado")
+ print("User tweeted")
default:
break
}
diff --git a/SocialFramework/SocialFramework/imagen2.png b/SocialFramework/SocialFramework/image2.png
similarity index 100%
rename from SocialFramework/SocialFramework/imagen2.png
rename to SocialFramework/SocialFramework/image2.png
diff --git a/SocialFrameworkTwitter/.DS_Store b/SocialFrameworkTwitter/.DS_Store
new file mode 100644
index 00000000..33b0c169
Binary files /dev/null and b/SocialFrameworkTwitter/.DS_Store differ
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.pbxproj b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.pbxproj
index 0f84e961..cc44157a 100644
--- a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.pbxproj
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.pbxproj
@@ -21,7 +21,7 @@
072E23FE1A2EA1EB004EB68C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 072E23FD1A2EA1EB004EB68C /* QuartzCore.framework */; };
072E24001A2EA1F5004EB68C /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 072E23FF1A2EA1F5004EB68C /* Accounts.framework */; };
072E24021A2EA1FC004EB68C /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 072E24011A2EA1FC004EB68C /* Social.framework */; };
- 072E24041A2EA7E9004EB68C /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 072E24031A2EA7E9004EB68C /* imagen1.png */; };
+ 072E24041A2EA7E9004EB68C /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 072E24031A2EA7E9004EB68C /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -53,7 +53,7 @@
072E23FD1A2EA1EB004EB68C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
072E23FF1A2EA1F5004EB68C /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; };
072E24011A2EA1FC004EB68C /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
- 072E24031A2EA7E9004EB68C /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 072E24031A2EA7E9004EB68C /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -107,7 +107,7 @@
072E23CE1A2EA163004EB68C /* SocialFrameworkTwitter */ = {
isa = PBXGroup;
children = (
- 072E24031A2EA7E9004EB68C /* imagen1.png */,
+ 072E24031A2EA7E9004EB68C /* image1.png */,
072E23D11A2EA163004EB68C /* AppDelegate.swift */,
072E23F11A2EA1A7004EB68C /* FirstViewController.swift */,
072E23F21A2EA1A7004EB68C /* SecondViewController.swift */,
@@ -225,7 +225,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 072E24041A2EA7E9004EB68C /* imagen1.png in Resources */,
+ 072E24041A2EA7E9004EB68C /* image1.png in Resources */,
072E23D71A2EA163004EB68C /* Main.storyboard in Resources */,
072E23DC1A2EA163004EB68C /* LaunchScreen.xib in Resources */,
072E23D91A2EA163004EB68C /* Images.xcassets in Resources */,
@@ -373,6 +373,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SocialFrameworkTwitter/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -383,6 +384,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SocialFrameworkTwitter/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -441,6 +443,7 @@
072E23ED1A2EA163004EB68C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
072E23EE1A2EA163004EB68C /* Build configuration list for PBXNativeTarget "SocialFrameworkTwitterTests" */ = {
isa = XCConfigurationList;
@@ -449,6 +452,7 @@
072E23F01A2EA163004EB68C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcshareddata/SocialFrameworkTwitter.xccheckout b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcshareddata/SocialFrameworkTwitter.xccheckout
new file mode 100644
index 00000000..ed2b6d3f
--- /dev/null
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcshareddata/SocialFrameworkTwitter.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 723A62F6-938B-4880-A4F4-7C27DC58D307
+ IDESourceControlProjectName
+ SocialFrameworkTwitter
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index ca6aea12..b76bca10 100644
Binary files a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..4e55db56
Binary files /dev/null and b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..fe2b4541
--- /dev/null
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,5 @@
+
+
+
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFrameworkTwitter.xcscheme b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFrameworkTwitter.xcscheme
new file mode 100644
index 00000000..7f3aaa6d
--- /dev/null
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SocialFrameworkTwitter.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..466e791f
--- /dev/null
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SocialFrameworkTwitter.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 072E23CB1A2EA163004EB68C
+
+ primary
+
+
+ 072E23E01A2EA163004EB68C
+
+ primary
+
+
+
+
+
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter/AppDelegate.swift b/SocialFrameworkTwitter/SocialFrameworkTwitter/AppDelegate.swift
index 8c0217da..8d40874d 100644
--- a/SocialFrameworkTwitter/SocialFrameworkTwitter/AppDelegate.swift
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter/AppDelegate.swift
@@ -3,7 +3,15 @@
// SocialFrameworkTwitter
//
// Created by Carlos Butron on 03/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter/Base.lproj/Main.storyboard b/SocialFrameworkTwitter/SocialFrameworkTwitter/Base.lproj/Main.storyboard
index af10f4af..b98153e3 100644
--- a/SocialFrameworkTwitter/SocialFrameworkTwitter/Base.lproj/Main.storyboard
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter/Base.lproj/Main.storyboard
@@ -1,7 +1,7 @@
-
+
-
+
@@ -19,30 +19,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -53,18 +41,13 @@
-
-
+
-
-
-
-
@@ -73,8 +56,8 @@
-
-
+
+
@@ -82,36 +65,24 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -122,38 +93,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter/FirstViewController.swift b/SocialFrameworkTwitter/SocialFrameworkTwitter/FirstViewController.swift
index 7a5900dc..67b926f4 100644
--- a/SocialFrameworkTwitter/SocialFrameworkTwitter/FirstViewController.swift
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter/FirstViewController.swift
@@ -2,7 +2,15 @@
// FirstViewController.swift
//
// Created by Carlos Butron on 11/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -22,28 +30,28 @@ class FirstViewController: UIViewController, UITextFieldDelegate {
@IBAction func update(sender: UIButton) {
if(labelUserName.text != ""){
- checkUser() //Método implementado posteriormente
+ checkUser() //method implemented after
}
else{
- println("Debes introducir un nombre!")
+ println("Introduce a name!")
}
}
@IBAction func sendTweet(sender: UIButton) {
var twitterController = SLComposeViewController(forServiceType:SLServiceTypeTwitter)
- var imageToTweet = UIImage(named:"imagen1.png")
+ var imageToTweet = UIImage(named:"image1.png")
twitterController.setInitialText("Test from Xcode")
twitterController.addImage(imageToTweet)
var completionHandler:SLComposeViewControllerCompletionHandler = {(result) in
twitterController.dismissViewControllerAnimated(true, completion: nil)
switch(result) {
case SLComposeViewControllerResult.Cancelled:
- println("El Usuario ha cancelado")
+ println("Canceled")
case SLComposeViewControllerResult.Done:
- println("El Usuario ha twitteado")
+ println("User tweeted")
default:
- println("El Usuario ha cancelado")
+ println("Canceled")
} }
twitterController.completionHandler = completionHandler
self.presentViewController(twitterController, animated: true, completion: nil)
@@ -62,7 +70,7 @@ class FirstViewController: UIViewController, UITextFieldDelegate {
// Dispose of any resources that can be recreated.
}
- func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore.
+ func textFieldShouldReturn(textField: UITextField) -> Bool // called when 'return' key pressed. return NO to ignore.
{
textField.resignFirstResponder()
return true;
@@ -76,36 +84,36 @@ class FirstViewController: UIViewController, UITextFieldDelegate {
if(granted == true) {
var accounts = accountStore.accountsWithAccountType(accountType)
if(accounts.count>0){
- var twitterAccount = accounts[0] as ACAccount
- var twitterInfoRequest = SLRequest(forServiceType: SLServiceTypeTwitter, requestMethod: SLRequestMethod.GET, URL: NSURL(string: "https://api.twitter.com/1.1/users/show.json"), parameters: NSDictionary(object: self.labelUserName.text, forKey: "screen_name"))
+ var twitterAccount = accounts[0] as! ACAccount
+ var twitterInfoRequest = SLRequest(forServiceType: SLServiceTypeTwitter, requestMethod: SLRequestMethod.GET, URL: NSURL(string: "https://api.twitter.com/1.1/users/show.json"), parameters: NSDictionary(object: self.labelUserName.text, forKey: "screen_name") as [NSObject : AnyObject])
twitterInfoRequest.account = twitterAccount
twitterInfoRequest.performRequestWithHandler({(responseData,urlResponse,error) in
dispatch_async(dispatch_get_main_queue(), {()
in
- //Comprobar si el acceso fue rechazado
+ //check access
if(urlResponse.statusCode == 429){
println("Rate limit reached")
return
}
- //Comprobar si existe algun error
+ //check error
if((error) != nil){
println("Error \(error.localizedDescription)")
}
if(responseData != nil){
- //Si hemos recibido datos TO DO
+ //if dta received TO DO
var error: NSError?
- var TWData = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableLeaves, error: &error) as NSDictionary
- //Obtenemos los datos necesarios
+ var TWData = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.MutableLeaves, error: &error) as! NSDictionary
+ //getting data
var followers = TWData.objectForKey("followers_count")!.integerValue
var following = TWData.objectForKey("friends_count")!.integerValue!
- var description = TWData.objectForKey("description") as NSString
+ var description = TWData.objectForKey("description") as! NSString
self.labelFollowers.text = "\(followers)"
self.labelFollowing.text = "\(following)"
- self.textViewDescription.text = description
+ self.textViewDescription.text = description as String
- var profileImageStringURL = TWData.objectForKey("profile_image_url_https") as NSString
+ var profileImageStringURL = TWData.objectForKey("profile_image_url_https") as! NSString
profileImageStringURL = profileImageStringURL.stringByReplacingOccurrencesOfString("_normal", withString: "")
- var url = NSURL(string: profileImageStringURL)
+ var url = NSURL(string: profileImageStringURL as String)
var data = NSData(contentsOfURL: url!)
self.imageViewPhoto.image = UIImage(data: data!)
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter/SecondViewController.swift b/SocialFrameworkTwitter/SocialFrameworkTwitter/SecondViewController.swift
index 983b4d9e..97ddb9ee 100644
--- a/SocialFrameworkTwitter/SocialFrameworkTwitter/SecondViewController.swift
+++ b/SocialFrameworkTwitter/SocialFrameworkTwitter/SecondViewController.swift
@@ -2,7 +2,15 @@
// SecondViewController.swift
//
// Created by Carlos Butron on 11/11/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -40,15 +48,15 @@ class SecondViewController: UIViewController, UITableViewDataSource, UITableView
accountStore.requestAccessToAccountsWithType(accountType, options: nil, completion: {(granted,error) in
if(granted==true){
var arrayOfAccounts = accountStore.accountsWithAccountType(accountType)
- var tempAccount = arrayOfAccounts.last as ACAccount
+ var tempAccount = arrayOfAccounts.last as! ACAccount
var tweetURL = NSURL(string: "https://api.twitter.com/1.1/statuses/home_timeline.json")
var tweetRequest = SLRequest(forServiceType:SLServiceTypeTwitter, requestMethod: SLRequestMethod.GET, URL: tweetURL, parameters: nil)
tweetRequest.account = tempAccount
tweetRequest.performRequestWithHandler({(responseData,urlResponse,error) in
if(error == nil){
- /*Obtenemos los tweets*/
+ /*get tweets*/
var jsonError:NSError?
- var responseJSON = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments, error: &jsonError) as NSArray
+ var responseJSON = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions.AllowFragments, error: &jsonError) as! NSArray
if(jsonError != nil) {
println("JSON ERROR ")
}
@@ -58,11 +66,11 @@ class SecondViewController: UIViewController, UITableViewDataSource, UITableView
dispatch_async(dispatch_get_main_queue(),
{self.table.reloadData()})
}}
- else{ /*Error al acceder*/ }
+ else{ /*access Error*/ }
})
} })
}
- else { /*Error: se requiere cuenta de Twitter*/ }
+ else { /*Error: you need Twitter account*/ }
refreshControl.endRefreshing()
}
@@ -73,21 +81,21 @@ class SecondViewController: UIViewController, UITableViewDataSource, UITableView
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell = tableView.dequeueReusableCellWithIdentifier("timelineCell") as TimelineCell
- var currentTweet = self.tweetsArray.objectAtIndex(indexPath.row) as NSDictionary
- var currentUser = currentTweet["user"] as NSDictionary
- cell.userNameLabel.text = currentUser["name"] as NSString
- cell.tweetlabel.text = currentTweet["text"] as NSString
+ var cell = tableView.dequeueReusableCellWithIdentifier("timelineCell") as! TimelineCell
+ var currentTweet = self.tweetsArray.objectAtIndex(indexPath.row) as! NSDictionary
+ var currentUser = currentTweet["user"] as! NSDictionary
+ cell.userNameLabel!.text = currentUser["name"] as? String
+ cell.tweetlabel!.text = currentTweet["text"] as! String
var userName = cell.userNameLabel.text
if((self.imageDictionary[userName!]) != nil){
- cell.userImageView.image = (self.imageDictionary[userName!] as UIImage)
+ cell.userImageView.image = (self.imageDictionary[userName!] as! UIImage)
} else{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
- var imageURL = NSURL(string: currentUser.objectForKey("profile_image_url") as NSString)
+ var imageURL = NSURL(string: currentUser.objectForKey("profile_image_url") as! String)
var imageData = NSData(contentsOfURL: imageURL!)
self.imageDictionary.setObject(UIImage(data: imageData!)!, forKey: userName!)
(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
- cell.userImageView.image = (self.imageDictionary[cell.userNameLabel.text!] as UIImage)
+ cell.userImageView.image = (self.imageDictionary[cell.userNameLabel.text!] as! UIImage)
})
}) }
diff --git a/SocialFrameworkTwitter/SocialFrameworkTwitter/imagen1.png b/SocialFrameworkTwitter/SocialFrameworkTwitter/image1.png
similarity index 100%
rename from SocialFrameworkTwitter/SocialFrameworkTwitter/imagen1.png
rename to SocialFrameworkTwitter/SocialFrameworkTwitter/image1.png
diff --git a/SpriteKit/.DS_Store b/SpriteKit/.DS_Store
new file mode 100644
index 00000000..18a8243e
Binary files /dev/null and b/SpriteKit/.DS_Store differ
diff --git a/SpriteKit/SpriteKit.xcodeproj/project.pbxproj b/SpriteKit/SpriteKit.xcodeproj/project.pbxproj
index e5823105..f3a6f7df 100644
--- a/SpriteKit/SpriteKit.xcodeproj/project.pbxproj
+++ b/SpriteKit/SpriteKit.xcodeproj/project.pbxproj
@@ -15,7 +15,7 @@
075FD5231A34DC2B00513A3A /* GameScene.sks in Resources */ = {isa = PBXBuildFile; fileRef = 075FD5221A34DC2B00513A3A /* GameScene.sks */; };
075FD5271A34DC6E00513A3A /* GameScene.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD5241A34DC6E00513A3A /* GameScene.swift */; };
075FD5281A34DC6E00513A3A /* GameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD5251A34DC6E00513A3A /* GameViewController.swift */; };
- 075FD5291A34DC6E00513A3A /* Videojuego.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD5261A34DC6E00513A3A /* Videojuego.swift */; };
+ 07C9F3FD1ADBD19600452040 /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C9F3FC1ADBD19600452040 /* Game.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -41,7 +41,7 @@
075FD5221A34DC2B00513A3A /* GameScene.sks */ = {isa = PBXFileReference; lastKnownFileType = file.sks; path = GameScene.sks; sourceTree = ""; };
075FD5241A34DC6E00513A3A /* GameScene.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameScene.swift; sourceTree = ""; };
075FD5251A34DC6E00513A3A /* GameViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GameViewController.swift; sourceTree = ""; };
- 075FD5261A34DC6E00513A3A /* Videojuego.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Videojuego.swift; sourceTree = ""; };
+ 07C9F3FC1ADBD19600452040 /* Game.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Game.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -87,7 +87,7 @@
075FD5221A34DC2B00513A3A /* GameScene.sks */,
075FD5241A34DC6E00513A3A /* GameScene.swift */,
075FD5251A34DC6E00513A3A /* GameViewController.swift */,
- 075FD5261A34DC6E00513A3A /* Videojuego.swift */,
+ 07C9F3FC1ADBD19600452040 /* Game.swift */,
075FD5061A34DA8100513A3A /* Main.storyboard */,
075FD5091A34DA8100513A3A /* Images.xcassets */,
075FD50B1A34DA8100513A3A /* LaunchScreen.xib */,
@@ -222,7 +222,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 075FD5291A34DC6E00513A3A /* Videojuego.swift in Sources */,
+ 07C9F3FD1ADBD19600452040 /* Game.swift in Sources */,
075FD5271A34DC6E00513A3A /* GameScene.swift in Sources */,
075FD5281A34DC6E00513A3A /* GameViewController.swift in Sources */,
075FD5011A34DA8000513A3A /* AppDelegate.swift in Sources */,
@@ -349,6 +349,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SpriteKit/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -359,6 +360,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SpriteKit/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -417,6 +419,7 @@
075FD51E1A34DA8100513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD51F1A34DA8100513A3A /* Build configuration list for PBXNativeTarget "SpriteKitTests" */ = {
isa = XCConfigurationList;
@@ -425,6 +428,7 @@
075FD5211A34DA8100513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcshareddata/SpriteKit.xccheckout b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcshareddata/SpriteKit.xccheckout
new file mode 100644
index 00000000..a47a18a5
--- /dev/null
+++ b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcshareddata/SpriteKit.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ B56BDA7D-6133-411B-BA69-5118087799FA
+ IDESourceControlProjectName
+ SpriteKit
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SpriteKit/SpriteKit.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index e6f7efca..ceabb10a 100644
Binary files a/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..bc127c3e
Binary files /dev/null and b/SpriteKit/SpriteKit.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SpriteKit.xcscheme b/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SpriteKit.xcscheme
new file mode 100644
index 00000000..a8044720
--- /dev/null
+++ b/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SpriteKit.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..2ffbd4a1
--- /dev/null
+++ b/SpriteKit/SpriteKit.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SpriteKit.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD4FA1A34DA8000513A3A
+
+ primary
+
+
+ 075FD5111A34DA8100513A3A
+
+ primary
+
+
+
+
+
diff --git a/SpriteKit/SpriteKit/AppDelegate.swift b/SpriteKit/SpriteKit/AppDelegate.swift
index ee3c4dc5..b650e88a 100644
--- a/SpriteKit/SpriteKit/AppDelegate.swift
+++ b/SpriteKit/SpriteKit/AppDelegate.swift
@@ -3,7 +3,15 @@
// SpriteKit
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/SpriteKit/SpriteKit/Videojuego.swift b/SpriteKit/SpriteKit/Game.swift
similarity index 54%
rename from SpriteKit/SpriteKit/Videojuego.swift
rename to SpriteKit/SpriteKit/Game.swift
index b4723800..0c6612fe 100644
--- a/SpriteKit/SpriteKit/Videojuego.swift
+++ b/SpriteKit/SpriteKit/Game.swift
@@ -1,18 +1,26 @@
//
-// Videojuego.swift
+// Game.swift
// SpriteKit
//
-// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
import SpriteKit
-class Videojuego: SKScene, SKPhysicsContactDelegate {
+class Game: SKScene, SKPhysicsContactDelegate {
let score = SKLabelNode(fontNamed:"Chalkduster")
- var puntos = 0
+ var points = 0
enum ColliderType: UInt32 {
case Player = 1
case Target = 2
@@ -25,12 +33,12 @@ class Videojuego: SKScene, SKPhysicsContactDelegate {
override func didMoveToView(view: SKView) {
- //Definimos la Física a utilizar
+ //define physics
self.physicsWorld.contactDelegate = self
var size2 = CGRectMake(0.0, 0.0, self.frame.size.width, self.frame.size.height)
self.physicsBody = SKPhysicsBody(edgeLoopFromRect:size2)
- //Definimos el Personaje
+ //define the player
var player = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(50, 50))
player.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(50, 50))
player.position = CGPointMake(200,25)
@@ -40,7 +48,7 @@ class Videojuego: SKScene, SKPhysicsContactDelegate {
player.physicsBody?.contactTestBitMask = ColliderType.Target.rawValue
self.addChild(player)
- //Definimos el Objetivo
+ //define target
target = SKSpriteNode(color: UIColor.greenColor(), size: CGSizeMake(20, 20))
target.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(50, 50))
target.physicsBody?.dynamic = false
@@ -51,28 +59,22 @@ class Videojuego: SKScene, SKPhysicsContactDelegate {
target.physicsBody?.contactTestBitMask = ColliderType.Player.rawValue
self.addChild(target)
- //Secuencia que formará la acción de moverse
- var movimiento = SKAction.sequence([SKAction.moveTo(CGPointMake(0, 530), duration: 2.0),SKAction.moveTo(CGPointMake(320, 530), duration: 2.0)])
- var movimientoConstante = SKAction.repeatActionForever(movimiento)
- target.runAction(movimientoConstante)
+ //to move
+ var move = SKAction.sequence([SKAction.moveTo(CGPointMake(0, 530), duration: 2.0),SKAction.moveTo(CGPointMake(320, 530), duration: 2.0)])
+ var moveConstant = SKAction.repeatActionForever(move)
+ target.runAction(moveConstant)
- //Slider utilizado para apuntar
- var slider = UISlider(frame: CGRectMake(0, 0, 325, 100))
- slider.addTarget(self, action: "manejarSlider:", forControlEvents: UIControlEvents.ValueChanged)
- slider.minimumValue = -50
- slider.maximumValue = 50
- view.addSubview(slider)
- //Mostrar la puntuación actual por pantalla
- score.text = "Puntuación: \(puntos)";
- score.name = "Puntos"
+ //actual score
+ score.text = "Score: \(points)";
+ score.name = "Points"
score.fontSize = 15;
score.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
self.addChild(score)
}
- override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
- //Al tocar la pantalla disparamos el personaje
+ override func touchesBegan(touches: Set, withEvent event: UIEvent) {
+ //on touch shoot
var operation:CGFloat = 250.0
operation *= (CGFloat)(self.value)
self.childNodeWithName("Player")?.physicsBody?.applyForce(CGVectorMake (operation, 20000))
@@ -82,36 +84,37 @@ class Videojuego: SKScene, SKPhysicsContactDelegate {
/* Called before each frame is rendered */
}
- func didBeginContact(contact: SKPhysicsContact!){
- //Calcular si los cuerpos han impactado
- var firstBody:SKPhysicsBody
- var secondBody:SKPhysicsBody
- if(contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask){
+ func didBeginContact(contact: SKPhysicsContact){
+ //if bodys impact
+ var firstBody:SKPhysicsBody
+ var secondBody:SKPhysicsBody
+ if(contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask){
firstBody = contact.bodyA
secondBody = contact.bodyB
- }
- else{
+ }
+ else{
firstBody = contact.bodyB
secondBody = contact.bodyA
- }
- if(firstBody.categoryBitMask == 1 && secondBody.categoryBitMask == 2){
- //En caso de impacto:
- //Actualizamos los puntos (borrar y añadir label)
- puntos++
- self.childNodeWithName("Puntos")?.removeFromParent()
- score.text = "Puntuación: \(puntos)"
+ }
+ if(firstBody.categoryBitMask == 1 && secondBody.categoryBitMask == 2){
+ //if impact:
+ //update score (delete and add label)
+ points++
+ self.childNodeWithName("Points")?.removeFromParent()
+ score.text = "Score: \(points)"
self.addChild(score)
- //Eliminar objetivo
+ //delete object
secondBody.node?.removeFromParent()
- //Esperar un segundo y hacerlo reaparecer
+ //wait a second and show object
var delay = SKAction.waitForDuration(1)
var generar = SKAction.runBlock({
- self.addChild(self.target)
+ self.addChild(self.target)
})
- var secuencia = SKAction.sequence([delay,generar])
- self.runAction(secuencia)
- }
+ var secuency = SKAction.sequence([delay,generar])
+ self.runAction(secuency)
+ }
}
-
+
}
+
diff --git a/SpriteKit/SpriteKit/GameScene.swift b/SpriteKit/SpriteKit/GameScene.swift
index 13999368..f5261cff 100644
--- a/SpriteKit/SpriteKit/GameScene.swift
+++ b/SpriteKit/SpriteKit/GameScene.swift
@@ -3,7 +3,15 @@
// SpriteKit
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -11,25 +19,27 @@ import SpriteKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
- /* Definimos el Menú Principal */
+ /* Main menu */
self.backgroundColor = UIColor(red: 0.15, green: 0.15, blue: 0.3, alpha: 1.0)
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
- myLabel.text = "Videojuego con SpriteKit"
+ myLabel.text = "Game with SpriteKit"
myLabel.fontSize = 20
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
self.addChild(myLabel)
let myLabel2 = SKLabelNode(fontNamed:"Chalkduster")
- myLabel2.text = "Toca para Empezar"
+ myLabel2.text = "Touch to start"
myLabel2.fontSize = 15
myLabel2.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame) - 100);
self.addChild(myLabel2)
}
- override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
- //Al tocar la pantalla cambiamos la escena
- var transicion = SKTransition.doorsOpenVerticalWithDuration(1.0)
- var juego = Videojuego(size: self.size)
- self.scene?.view?.presentScene(juego, transition: transicion)
+
+ override func touchesBegan(touches: Set, withEvent event: UIEvent) {
+ //on touch change scene
+ var myTransition = SKTransition.doorsOpenVerticalWithDuration(1.0)
+ var game = Game(size: self.size)
+ self.scene?.view?.presentScene(game, transition: myTransition)
}
+
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
diff --git a/SpriteKit/SpriteKit/GameViewController.swift b/SpriteKit/SpriteKit/GameViewController.swift
index 516da326..699eda8e 100644
--- a/SpriteKit/SpriteKit/GameViewController.swift
+++ b/SpriteKit/SpriteKit/GameViewController.swift
@@ -3,7 +3,15 @@
// SpriteKit
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -16,7 +24,7 @@ class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Configurar la vista
- let skView = self.view as SKView
+ let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
diff --git a/SwiftLoginScreen/.DS_Store b/SwiftLoginScreen/.DS_Store
new file mode 100644
index 00000000..34b8e1de
Binary files /dev/null and b/SwiftLoginScreen/.DS_Store differ
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.pbxproj b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..078724d2
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.pbxproj
@@ -0,0 +1,412 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ EA62FD561989F6AC00469896 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA62FD551989F6AC00469896 /* AppDelegate.swift */; };
+ EA62FD581989F6AC00469896 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EA62FD571989F6AC00469896 /* Images.xcassets */; };
+ EA62FD641989F6AC00469896 /* SwiftLoginScreenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA62FD631989F6AC00469896 /* SwiftLoginScreenTests.swift */; };
+ EA62FD6F1989F6E300469896 /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EA62FD6E1989F6E300469896 /* Storyboard.storyboard */; };
+ EAA118A5198A1BF000F443F1 /* HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA118A4198A1BF000F443F1 /* HomeVC.swift */; };
+ EAA118A7198A23CB00F443F1 /* LoginVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA118A6198A23CB00F443F1 /* LoginVC.swift */; };
+ EAA118A9198AAC7100F443F1 /* SignupVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA118A8198AAC7100F443F1 /* SignupVC.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ EA62FD5E1989F6AC00469896 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = EA62FD481989F6AC00469896 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = EA62FD4F1989F6AC00469896;
+ remoteInfo = SwiftLoginScreen;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ EA62FD501989F6AC00469896 /* SwiftLoginScreen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftLoginScreen.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ EA62FD541989F6AC00469896 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ EA62FD551989F6AC00469896 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ EA62FD571989F6AC00469896 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ EA62FD5D1989F6AC00469896 /* SwiftLoginScreenTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwiftLoginScreenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ EA62FD621989F6AC00469896 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ EA62FD631989F6AC00469896 /* SwiftLoginScreenTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftLoginScreenTests.swift; sourceTree = ""; };
+ EA62FD6E1989F6E300469896 /* Storyboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Storyboard.storyboard; sourceTree = ""; };
+ EAA118A4198A1BF000F443F1 /* HomeVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeVC.swift; sourceTree = ""; };
+ EAA118A6198A23CB00F443F1 /* LoginVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginVC.swift; sourceTree = ""; };
+ EAA118A8198AAC7100F443F1 /* SignupVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignupVC.swift; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ EA62FD4D1989F6AC00469896 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ EA62FD5A1989F6AC00469896 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ EA62FD471989F6AC00469896 = {
+ isa = PBXGroup;
+ children = (
+ EA62FD521989F6AC00469896 /* SwiftLoginScreen */,
+ EA62FD601989F6AC00469896 /* SwiftLoginScreenTests */,
+ EA62FD511989F6AC00469896 /* Products */,
+ );
+ sourceTree = "";
+ };
+ EA62FD511989F6AC00469896 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ EA62FD501989F6AC00469896 /* SwiftLoginScreen.app */,
+ EA62FD5D1989F6AC00469896 /* SwiftLoginScreenTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ EA62FD521989F6AC00469896 /* SwiftLoginScreen */ = {
+ isa = PBXGroup;
+ children = (
+ EA62FD551989F6AC00469896 /* AppDelegate.swift */,
+ EA62FD571989F6AC00469896 /* Images.xcassets */,
+ EA62FD531989F6AC00469896 /* Supporting Files */,
+ EA62FD6E1989F6E300469896 /* Storyboard.storyboard */,
+ EAA118A4198A1BF000F443F1 /* HomeVC.swift */,
+ EAA118A6198A23CB00F443F1 /* LoginVC.swift */,
+ EAA118A8198AAC7100F443F1 /* SignupVC.swift */,
+ );
+ path = SwiftLoginScreen;
+ sourceTree = "";
+ };
+ EA62FD531989F6AC00469896 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ EA62FD541989F6AC00469896 /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ EA62FD601989F6AC00469896 /* SwiftLoginScreenTests */ = {
+ isa = PBXGroup;
+ children = (
+ EA62FD631989F6AC00469896 /* SwiftLoginScreenTests.swift */,
+ EA62FD611989F6AC00469896 /* Supporting Files */,
+ );
+ path = SwiftLoginScreenTests;
+ sourceTree = "";
+ };
+ EA62FD611989F6AC00469896 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ EA62FD621989F6AC00469896 /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ EA62FD4F1989F6AC00469896 /* SwiftLoginScreen */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = EA62FD671989F6AC00469896 /* Build configuration list for PBXNativeTarget "SwiftLoginScreen" */;
+ buildPhases = (
+ EA62FD4C1989F6AC00469896 /* Sources */,
+ EA62FD4D1989F6AC00469896 /* Frameworks */,
+ EA62FD4E1989F6AC00469896 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = SwiftLoginScreen;
+ productName = SwiftLoginScreen;
+ productReference = EA62FD501989F6AC00469896 /* SwiftLoginScreen.app */;
+ productType = "com.apple.product-type.application";
+ };
+ EA62FD5C1989F6AC00469896 /* SwiftLoginScreenTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = EA62FD6A1989F6AC00469896 /* Build configuration list for PBXNativeTarget "SwiftLoginScreenTests" */;
+ buildPhases = (
+ EA62FD591989F6AC00469896 /* Sources */,
+ EA62FD5A1989F6AC00469896 /* Frameworks */,
+ EA62FD5B1989F6AC00469896 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ EA62FD5F1989F6AC00469896 /* PBXTargetDependency */,
+ );
+ name = SwiftLoginScreenTests;
+ productName = SwiftLoginScreenTests;
+ productReference = EA62FD5D1989F6AC00469896 /* SwiftLoginScreenTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ EA62FD481989F6AC00469896 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0600;
+ ORGANIZATIONNAME = "Dipin Krishna";
+ TargetAttributes = {
+ EA62FD4F1989F6AC00469896 = {
+ CreatedOnToolsVersion = 6.0;
+ };
+ EA62FD5C1989F6AC00469896 = {
+ CreatedOnToolsVersion = 6.0;
+ TestTargetID = EA62FD4F1989F6AC00469896;
+ };
+ };
+ };
+ buildConfigurationList = EA62FD4B1989F6AC00469896 /* Build configuration list for PBXProject "SwiftLoginScreen" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = EA62FD471989F6AC00469896;
+ productRefGroup = EA62FD511989F6AC00469896 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ EA62FD4F1989F6AC00469896 /* SwiftLoginScreen */,
+ EA62FD5C1989F6AC00469896 /* SwiftLoginScreenTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ EA62FD4E1989F6AC00469896 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ EA62FD581989F6AC00469896 /* Images.xcassets in Resources */,
+ EA62FD6F1989F6E300469896 /* Storyboard.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ EA62FD5B1989F6AC00469896 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ EA62FD4C1989F6AC00469896 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ EAA118A9198AAC7100F443F1 /* SignupVC.swift in Sources */,
+ EA62FD561989F6AC00469896 /* AppDelegate.swift in Sources */,
+ EAA118A5198A1BF000F443F1 /* HomeVC.swift in Sources */,
+ EAA118A7198A23CB00F443F1 /* LoginVC.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ EA62FD591989F6AC00469896 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ EA62FD641989F6AC00469896 /* SwiftLoginScreenTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ EA62FD5F1989F6AC00469896 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = EA62FD4F1989F6AC00469896 /* SwiftLoginScreen */;
+ targetProxy = EA62FD5E1989F6AC00469896 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ EA62FD651989F6AC00469896 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ 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 = 8.0;
+ METAL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ };
+ name = Debug;
+ };
+ EA62FD661989F6AC00469896 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ 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 = 8.0;
+ METAL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ EA62FD681989F6AC00469896 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ INFOPLIST_FILE = SwiftLoginScreen/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ EA62FD691989F6AC00469896 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ INFOPLIST_FILE = SwiftLoginScreen/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ EA62FD6B1989F6AC00469896 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/SwiftLoginScreen.app/SwiftLoginScreen";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = SwiftLoginScreenTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ METAL_ENABLE_DEBUG_INFO = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ };
+ name = Debug;
+ };
+ EA62FD6C1989F6AC00469896 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/SwiftLoginScreen.app/SwiftLoginScreen";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = SwiftLoginScreenTests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ METAL_ENABLE_DEBUG_INFO = NO;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ EA62FD4B1989F6AC00469896 /* Build configuration list for PBXProject "SwiftLoginScreen" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ EA62FD651989F6AC00469896 /* Debug */,
+ EA62FD661989F6AC00469896 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ EA62FD671989F6AC00469896 /* Build configuration list for PBXNativeTarget "SwiftLoginScreen" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ EA62FD681989F6AC00469896 /* Debug */,
+ EA62FD691989F6AC00469896 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ EA62FD6A1989F6AC00469896 /* Build configuration list for PBXNativeTarget "SwiftLoginScreenTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ EA62FD6B1989F6AC00469896 /* Debug */,
+ EA62FD6C1989F6AC00469896 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = EA62FD481989F6AC00469896 /* Project object */;
+}
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000..8e21fb4d
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcshareddata/SwiftLoginScreen.xccheckout b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcshareddata/SwiftLoginScreen.xccheckout
new file mode 100644
index 00000000..4ecac674
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcshareddata/SwiftLoginScreen.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 41C47C47-AB2C-4B35-A5C4-2DF8B10569AD
+ IDESourceControlProjectName
+ SwiftLoginScreen
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ SwiftLoginScreen/SwiftLoginScreen.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..f6cb0054
Binary files /dev/null and b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..a1cc7404
Binary files /dev/null and b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/dipin.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/dipin.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..0ebcfa41
Binary files /dev/null and b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/project.xcworkspace/xcuserdata/dipin.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
new file mode 100644
index 00000000..2a20478b
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..708c5dc0
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SwiftLoginScreen.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ EA62FD4F1989F6AC00469896
+
+ primary
+
+
+ EA62FD5C1989F6AC00469896
+
+ primary
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
new file mode 100644
index 00000000..64791591
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..708c5dc0
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SwiftLoginScreen.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ EA62FD4F1989F6AC00469896
+
+ primary
+
+
+ EA62FD5C1989F6AC00469896
+
+ primary
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..fe2b4541
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,5 @@
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
new file mode 100644
index 00000000..8e6fda87
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/SwiftLoginScreen.xcscheme
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/xcschememanagement.plist b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..708c5dc0
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen.xcodeproj/xcuserdata/dipin.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SwiftLoginScreen.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ EA62FD4F1989F6AC00469896
+
+ primary
+
+
+ EA62FD5C1989F6AC00469896
+
+ primary
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen/AppDelegate.swift b/SwiftLoginScreen/SwiftLoginScreen/AppDelegate.swift
new file mode 100644
index 00000000..bc04a94c
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/AppDelegate.swift
@@ -0,0 +1,59 @@
+//
+// AppDelegate.swift
+// SwiftLoginScreen
+//
+// Created by Carlos Butron on 12/04/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
+
+import UIKit
+
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+
+ func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
+ /*
+ self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
+ // Override point for customization after application launch.
+ self.window!.backgroundColor = UIColor.whiteColor()
+ self.window!.makeKeyAndVisible()
+ */
+ return true
+ }
+
+ func applicationWillResignActive(application: 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 throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ }
+
+ func applicationDidEnterBackground(application: 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) {
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+ }
+
+ func applicationDidBecomeActive(application: 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) {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+ }
+
+
+}
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen/HomeVC.swift b/SwiftLoginScreen/SwiftLoginScreen/HomeVC.swift
new file mode 100644
index 00000000..772ed655
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/HomeVC.swift
@@ -0,0 +1,64 @@
+//
+// HomeVC.swift
+// SwiftLoginScreen
+//
+// Created by Carlos Butron on 12/04/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class HomeVC: UIViewController {
+
+ @IBOutlet var usernameLabel : UILabel!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func viewDidAppear(animated: Bool) {
+ super.viewDidAppear(true)
+
+ let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
+ let isLoggedIn:Int = prefs.integerForKey("ISLOGGEDIN") as Int
+ if (isLoggedIn != 1) {
+ self.performSegueWithIdentifier("goto_login", sender: self)
+ } else {
+ self.usernameLabel.text = prefs.valueForKey("USERNAME") as? String
+ }
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // #pragma mark - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+ @IBAction func logoutTapped(sender : UIButton) {
+
+ let appDomain = NSBundle.mainBundle().bundleIdentifier
+ NSUserDefaults.standardUserDefaults().removePersistentDomainForName(appDomain!)
+
+ self.performSegueWithIdentifier("goto_login", sender: self)
+ }
+}
\ No newline at end of file
diff --git a/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/AppIcon.appiconset/Contents.json b/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..a396706d
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/LaunchImage.launchimage/Contents.json b/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/LaunchImage.launchimage/Contents.json
new file mode 100644
index 00000000..c79ebd3a
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/Images.xcassets/LaunchImage.launchimage/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "orientation" : "portrait",
+ "idiom" : "iphone",
+ "extent" : "full-screen",
+ "minimum-system-version" : "7.0",
+ "scale" : "2x"
+ },
+ {
+ "orientation" : "portrait",
+ "idiom" : "iphone",
+ "subtype" : "retina4",
+ "extent" : "full-screen",
+ "minimum-system-version" : "7.0",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/SwiftLoginScreen/SwiftLoginScreen/Info.plist b/SwiftLoginScreen/SwiftLoginScreen/Info.plist
new file mode 100644
index 00000000..68ebad22
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ ${EXECUTABLE_NAME}
+ CFBundleIdentifier
+ com.dipinkrishna.${PRODUCT_NAME:rfc1034identifier}
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ ${PRODUCT_NAME}
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ UIMainStoryboardFile
+ Storyboard
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreen/LoginVC.swift b/SwiftLoginScreen/SwiftLoginScreen/LoginVC.swift
new file mode 100644
index 00000000..6f748549
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/LoginVC.swift
@@ -0,0 +1,160 @@
+//
+// LoginVC.swift
+// SwiftLoginScreen
+//
+// Created by Carlos Butron on 12/04/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class LoginVC: UIViewController,UITextFieldDelegate {
+
+
+ @IBOutlet var txtUsername : UITextField!
+ @IBOutlet var txtPassword : UITextField!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // #pragma mark - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+ @IBAction func signinTapped(sender : UIButton) {
+ var username:NSString = txtUsername.text
+ var password:NSString = txtPassword.text
+
+ if ( username.isEqualToString("") || password.isEqualToString("") ) {
+
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign in Failed!"
+ alertView.message = "Please enter Username and Password"
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ } else {
+
+ var post:NSString = "username=\(username)&password=\(password)"
+
+ NSLog("PostData: %@",post);
+
+ var url:NSURL = NSURL(string:"http://carlosbutron.es/iOS/jsonlogin2.php")!
+
+ var postData:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)!
+
+ var postLength:NSString = String( postData.length )
+
+ var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
+ request.HTTPMethod = "POST"
+ request.HTTPBody = postData
+ request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
+ request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
+ request.setValue("application/json", forHTTPHeaderField: "Accept")
+
+
+ var reponseError: NSError?
+ var response: NSURLResponse?
+
+ var urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&reponseError)
+
+ if ( urlData != nil ) {
+ let res = response as! NSHTTPURLResponse!;
+
+ NSLog("Response code: %ld", res.statusCode);
+
+ if (res.statusCode >= 200 && res.statusCode < 300)
+ {
+ var responseData:NSString = NSString(data:urlData!, encoding:NSUTF8StringEncoding)!
+
+ NSLog("Response ==> %@", responseData);
+
+ var error: NSError?
+
+ let jsonData:NSDictionary = NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers , error: &error) as! NSDictionary
+
+
+ let success:NSInteger = jsonData.valueForKey("success") as! NSInteger
+
+ //[jsonData[@"success"] integerValue];
+
+ NSLog("Success: %ld", success);
+
+ if(success == 1)
+ {
+ NSLog("Login SUCCESS");
+
+ var prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
+ prefs.setObject(username, forKey: "USERNAME")
+ prefs.setInteger(1, forKey: "ISLOGGEDIN")
+ prefs.synchronize()
+
+ self.dismissViewControllerAnimated(true, completion: nil)
+ } else {
+ var error_msg:NSString
+
+ if jsonData["error_message"] as? NSString != nil {
+ error_msg = jsonData["error_message"] as! NSString
+ } else {
+ error_msg = "Unknown Error"
+ }
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign in Failed!"
+ alertView.message = error_msg as String
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+
+ }
+
+ } else {
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign in Failed!"
+ alertView.message = "Connection Failed"
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ }
+ } else {
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign in Failed!"
+ alertView.message = "Connection Failure"
+ if let error = reponseError {
+ alertView.message = (error.localizedDescription)
+ }
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ }
+ }
+
+ }
+
+ func textFieldShouldReturn(textField: UITextField) -> Bool { //delegate method
+ textField.resignFirstResponder()
+ return true
+ }
+}
diff --git a/SwiftLoginScreen/SwiftLoginScreen/SignupVC.swift b/SwiftLoginScreen/SwiftLoginScreen/SignupVC.swift
new file mode 100644
index 00000000..81170e8e
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/SignupVC.swift
@@ -0,0 +1,167 @@
+//
+// SignupVC.swift
+// SwiftLoginScreen
+//
+// Created by Carlos Butron on 12/04/14.
+// Copyright (c) 2015 Carlos Butron. All rights reserved.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class SignupVC: UIViewController {
+
+ @IBOutlet var txtUsername : UITextField!
+ @IBOutlet var txtPassword : UITextField!
+ @IBOutlet var txtConfirmPassword : UITextField!
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+ /*
+ // #pragma mark - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) {
+ // Get the new view controller using [segue destinationViewController].
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+ @IBAction func gotoLogin(sender : UIButton) {
+ self.dismissViewControllerAnimated(true, completion: nil)
+ }
+
+
+ @IBAction func signupTapped(sender : UIButton) {
+ var username:NSString = txtUsername.text as NSString
+ var password:NSString = txtPassword.text as NSString
+ var confirm_password:NSString = txtConfirmPassword.text as NSString
+
+ if ( username.isEqualToString("") || password.isEqualToString("") ) {
+
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign Up Failed!"
+ alertView.message = "Please enter Username and Password"
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ } else if ( !password.isEqual(confirm_password) ) {
+
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign Up Failed!"
+ alertView.message = "Passwords doesn't Match"
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ } else {
+
+ var post:NSString = "username=\(username)&password=\(password)&c_password=\(confirm_password)"
+
+ NSLog("PostData: %@",post);
+
+ var url:NSURL = NSURL(string: "http://carlosbutron.es/iOS/jsonsignup.php")!
+
+ var postData:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)!
+
+ var postLength:NSString = String( postData.length )
+
+ var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
+ request.HTTPMethod = "POST"
+ request.HTTPBody = postData
+ request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
+ request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
+ request.setValue("application/json", forHTTPHeaderField: "Accept")
+
+
+ var reponseError: NSError?
+ var response: NSURLResponse?
+
+ var urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&reponseError)
+
+ if ( urlData != nil ) {
+ let res = response as! NSHTTPURLResponse!;
+
+ NSLog("Response code: %ld", res.statusCode);
+
+ if (res.statusCode >= 200 && res.statusCode < 300)
+ {
+ var responseData:NSString = NSString(data:urlData!, encoding:NSUTF8StringEncoding)!
+
+ NSLog("Response ==> %@", responseData);
+
+ var error: NSError?
+
+ let jsonData:NSDictionary = NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers , error: &error) as! NSDictionary
+
+
+ let success:NSInteger = jsonData.valueForKey("success") as! NSInteger
+
+ //[jsonData[@"success"] integerValue];
+
+ NSLog("Success: %ld", success);
+
+ if(success == 1)
+ {
+ NSLog("Sign Up SUCCESS");
+ self.dismissViewControllerAnimated(true, completion: nil)
+ } else {
+ var error_msg:NSString
+
+ if jsonData["error_message"] as? NSString != nil {
+ error_msg = jsonData["error_message"] as! NSString
+ } else {
+ error_msg = "Unknown Error"
+ }
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign Up Failed!"
+ alertView.message = error_msg as String
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+
+ }
+
+ } else {
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign Up Failed!"
+ alertView.message = "Connection Failed"
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ }
+ } else {
+ var alertView:UIAlertView = UIAlertView()
+ alertView.title = "Sign in Failed!"
+ alertView.message = "Connection Failure"
+ if let error = reponseError {
+ alertView.message = (error.localizedDescription)
+ }
+ alertView.delegate = self
+ alertView.addButtonWithTitle("OK")
+ alertView.show()
+ }
+ }
+
+ }
+
+ func textFieldShouldReturn(textField: UITextField!) -> Bool { //delegate method
+ textField.resignFirstResponder()
+ return true
+ }
+}
diff --git a/SwiftLoginScreen/SwiftLoginScreen/Storyboard.storyboard b/SwiftLoginScreen/SwiftLoginScreen/Storyboard.storyboard
new file mode 100644
index 00000000..44e84241
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreen/Storyboard.storyboard
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreenTests/Info.plist b/SwiftLoginScreen/SwiftLoginScreenTests/Info.plist
new file mode 100644
index 00000000..f062627b
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreenTests/Info.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ ${EXECUTABLE_NAME}
+ CFBundleIdentifier
+ com.dipinkrishna.${PRODUCT_NAME:rfc1034identifier}
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ ${PRODUCT_NAME}
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/SwiftLoginScreen/SwiftLoginScreenTests/SwiftLoginScreenTests.swift b/SwiftLoginScreen/SwiftLoginScreenTests/SwiftLoginScreenTests.swift
new file mode 100644
index 00000000..21f6ecc9
--- /dev/null
+++ b/SwiftLoginScreen/SwiftLoginScreenTests/SwiftLoginScreenTests.swift
@@ -0,0 +1,35 @@
+//
+// SwiftLoginScreenTests.swift
+// SwiftLoginScreenTests
+//
+// Created by Dipin Krishna on 31/07/14.
+// Copyright (c) 2014 Dipin Krishna. All rights reserved.
+//
+
+import XCTest
+
+class SwiftLoginScreenTests: XCTestCase {
+
+ override func setUp() {
+ super.setUp()
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+ }
+
+ override func tearDown() {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ super.tearDown()
+ }
+
+ func testExample() {
+ // This is an example of a functional test case.
+ XCTAssert(true, "Pass")
+ }
+
+ func testPerformanceExample() {
+ // This is an example of a performance test case.
+ self.measureBlock() {
+ // Put the code you want to measure the time of here.
+ }
+ }
+
+}
diff --git a/TabBarController/.DS_Store b/TabBarController/.DS_Store
new file mode 100644
index 00000000..fd4c5c9f
Binary files /dev/null and b/TabBarController/.DS_Store differ
diff --git a/TabBarController/TabBarController.xcodeproj/project.pbxproj b/TabBarController/TabBarController.xcodeproj/project.pbxproj
index f7a4d738..0788df06 100644
--- a/TabBarController/TabBarController.xcodeproj/project.pbxproj
+++ b/TabBarController/TabBarController.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TabBarController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TabBarController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
078281721A2D4C7C00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
078281731A2D4C7C00759CE8 /* Build configuration list for PBXNativeTarget "TabBarControllerTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
078281751A2D4C7C00759CE8 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcshareddata/TabBarController.xccheckout b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcshareddata/TabBarController.xccheckout
new file mode 100644
index 00000000..eb294740
--- /dev/null
+++ b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcshareddata/TabBarController.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 0A51D057-2623-44B0-BBE8-0BE144013CA0
+ IDESourceControlProjectName
+ TabBarController
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ TabBarController/TabBarController.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 7d42b8bb..284b4efd 100644
Binary files a/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..deebe9bd
Binary files /dev/null and b/TabBarController/TabBarController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TabBarController.xcscheme b/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TabBarController.xcscheme
new file mode 100644
index 00000000..5ac32422
--- /dev/null
+++ b/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TabBarController.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..430db958
--- /dev/null
+++ b/TabBarController/TabBarController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ TabBarController.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 078281501A2D4C7C00759CE8
+
+ primary
+
+
+ 078281651A2D4C7C00759CE8
+
+ primary
+
+
+
+
+
diff --git a/TabBarController/TabBarController/AppDelegate.swift b/TabBarController/TabBarController/AppDelegate.swift
index 7039a314..5868fa9e 100644
--- a/TabBarController/TabBarController/AppDelegate.swift
+++ b/TabBarController/TabBarController/AppDelegate.swift
@@ -3,7 +3,15 @@
// TabBarController
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/TabBarController/TabBarController/Base.lproj/Main.storyboard b/TabBarController/TabBarController/Base.lproj/Main.storyboard
index b9a99880..a7f1e304 100644
--- a/TabBarController/TabBarController/Base.lproj/Main.storyboard
+++ b/TabBarController/TabBarController/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -119,7 +119,7 @@
-
+
diff --git a/TabBarController/TabBarController/ViewController.swift b/TabBarController/TabBarController/ViewController.swift
index 2f1a2a51..1fa0979f 100644
--- a/TabBarController/TabBarController/ViewController.swift
+++ b/TabBarController/TabBarController/ViewController.swift
@@ -3,7 +3,15 @@
// TabBarController
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/TableView/.DS_Store b/TableView/.DS_Store
new file mode 100644
index 00000000..a0bb4d2e
Binary files /dev/null and b/TableView/.DS_Store differ
diff --git a/TableView/TableView.xcodeproj/project.pbxproj b/TableView/TableView.xcodeproj/project.pbxproj
index 3a2c2f19..e55e2911 100644
--- a/TableView/TableView.xcodeproj/project.pbxproj
+++ b/TableView/TableView.xcodeproj/project.pbxproj
@@ -13,7 +13,7 @@
07E35DC41A2E49F500CA606C /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07E35DC31A2E49F500CA606C /* Images.xcassets */; };
07E35DC71A2E49F500CA606C /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 07E35DC51A2E49F500CA606C /* LaunchScreen.xib */; };
07E35DD31A2E49F500CA606C /* TableViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35DD21A2E49F500CA606C /* TableViewTests.swift */; };
- 07E35DDD1A2E4A0900CA606C /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35DDC1A2E4A0900CA606C /* imagen1.png */; };
+ 07E35DDD1A2E4A0900CA606C /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35DDC1A2E4A0900CA606C /* image1.png */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,7 +37,7 @@
07E35DCC1A2E49F500CA606C /* TableViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TableViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
07E35DD11A2E49F500CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35DD21A2E49F500CA606C /* TableViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewTests.swift; sourceTree = ""; };
- 07E35DDC1A2E4A0900CA606C /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
+ 07E35DDC1A2E4A0900CA606C /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -79,7 +79,7 @@
07E35DB91A2E49F500CA606C /* TableView */ = {
isa = PBXGroup;
children = (
- 07E35DDC1A2E4A0900CA606C /* imagen1.png */,
+ 07E35DDC1A2E4A0900CA606C /* image1.png */,
07E35DBC1A2E49F500CA606C /* AppDelegate.swift */,
07E35DBE1A2E49F500CA606C /* ViewController.swift */,
07E35DC01A2E49F500CA606C /* Main.storyboard */,
@@ -195,7 +195,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 07E35DDD1A2E4A0900CA606C /* imagen1.png in Resources */,
+ 07E35DDD1A2E4A0900CA606C /* image1.png in Resources */,
07E35DC21A2E49F500CA606C /* Main.storyboard in Resources */,
07E35DC71A2E49F500CA606C /* LaunchScreen.xib in Resources */,
07E35DC41A2E49F500CA606C /* Images.xcassets in Resources */,
@@ -341,6 +341,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TableView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -351,6 +352,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TableView/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -409,6 +411,7 @@
07E35DD81A2E49F500CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35DD91A2E49F500CA606C /* Build configuration list for PBXNativeTarget "TableViewTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +420,7 @@
07E35DDB1A2E49F500CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/TableView/TableView.xcodeproj/project.xcworkspace/xcshareddata/TableView.xccheckout b/TableView/TableView.xcodeproj/project.xcworkspace/xcshareddata/TableView.xccheckout
new file mode 100644
index 00000000..3d005147
--- /dev/null
+++ b/TableView/TableView.xcodeproj/project.xcworkspace/xcshareddata/TableView.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 8017C6A5-FAC8-47DC-853E-EA6BD1170AB7
+ IDESourceControlProjectName
+ TableView
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ TableView/TableView.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 8c223253..d5a61086 100644
Binary files a/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..f94266e0
Binary files /dev/null and b/TableView/TableView.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 00000000..fe2b4541
--- /dev/null
+++ b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,5 @@
+
+
+
diff --git a/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableView.xcscheme b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableView.xcscheme
new file mode 100644
index 00000000..eb9722e2
--- /dev/null
+++ b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableView.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..6d7f3ed6
--- /dev/null
+++ b/TableView/TableView.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ TableView.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35DB61A2E49F500CA606C
+
+ primary
+
+
+ 07E35DCB1A2E49F500CA606C
+
+ primary
+
+
+
+
+
diff --git a/TableView/TableView/AppDelegate.swift b/TableView/TableView/AppDelegate.swift
index ea271450..2726f86a 100644
--- a/TableView/TableView/AppDelegate.swift
+++ b/TableView/TableView/AppDelegate.swift
@@ -3,7 +3,15 @@
// TableView
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/TableView/TableView/ViewController.swift b/TableView/TableView/ViewController.swift
index 8c43df94..90553c90 100644
--- a/TableView/TableView/ViewController.swift
+++ b/TableView/TableView/ViewController.swift
@@ -3,7 +3,15 @@
// TableView
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -22,29 +30,29 @@ class ViewController: UIViewController, UITableViewDataSource, UITableViewDelega
}
- //Número de Filas
+ //Number of rows
func tableView(tableView: UITableView, numberOfRowsInSection section:
Int) -> Int{
return 4 }
- //Contenido de las celdas
+ //DetailCells
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath:
NSIndexPath) -> UITableViewCell{
var cell:UITableViewCell = UITableViewCell(style:
UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
- cell.textLabel.text = "Texto de la Celda"
- cell.detailTextLabel?.text = "Subtitulo de la Celda"
- cell.imageView.image = UIImage(named:"imagen1.png")
+ cell.textLabel!.text = "Cell text"
+ cell.detailTextLabel?.text = "Cell Subtitle"
+ cell.imageView!.image = UIImage(named:"image1.png")
return cell
}
- //Título de la Cabecera
+ //Title
func tableView(tableView: UITableView, titleForHeaderInSection section:
- Int) -> String{
- return "Cabecera"
+ Int) -> String?{
+ return "Head"
}
- //Subtítulo del Pie de Tabla
+ //Foot Subtitle
func tableView(tableView: UITableView, titleForFooterInSection section:
- Int) -> String{
- return "Pie de Tabla"
+ Int) -> String?{
+ return "Foot"
}
}
diff --git a/TableView/TableView/imagen1.png b/TableView/TableView/image1.png
similarity index 100%
rename from TableView/TableView/imagen1.png
rename to TableView/TableView/image1.png
diff --git a/TableViewWithPropertyList/.DS_Store b/TableViewWithPropertyList/.DS_Store
new file mode 100644
index 00000000..6dc2ad6c
Binary files /dev/null and b/TableViewWithPropertyList/.DS_Store differ
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.pbxproj b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.pbxproj
index 043219b9..9bd1d2f3 100644
--- a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.pbxproj
+++ b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 077CFA2B1ADB31E800D20B9B /* CustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CFA2A1ADB31E800D20B9B /* CustomCell.swift */; };
07E35D6A1A2E470A00CA606C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35D691A2E470A00CA606C /* AppDelegate.swift */; };
07E35D6C1A2E470A00CA606C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35D6B1A2E470A00CA606C /* ViewController.swift */; };
07E35D6F1A2E470A00CA606C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D6D1A2E470A00CA606C /* Main.storyboard */; };
@@ -14,7 +15,6 @@
07E35D741A2E470A00CA606C /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D721A2E470A00CA606C /* LaunchScreen.xib */; };
07E35D801A2E470A00CA606C /* TableViewWithPropertyListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35D7F1A2E470A00CA606C /* TableViewWithPropertyListTests.swift */; };
07E35D9A1A2E475200CA606C /* Property List.plist in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D991A2E475200CA606C /* Property List.plist */; };
- 07E35D9C1A2E475900CA606C /* CeldaPersonalizada.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E35D9B1A2E475900CA606C /* CeldaPersonalizada.swift */; };
07E35DA51A2E47C800CA606C /* djTux.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D9D1A2E47C800CA606C /* djTux.png */; };
07E35DA61A2E47C800CA606C /* einsteinTux.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D9E1A2E47C800CA606C /* einsteinTux.png */; };
07E35DA71A2E47C800CA606C /* indianaTux.png in Resources */ = {isa = PBXBuildFile; fileRef = 07E35D9F1A2E47C800CA606C /* indianaTux.png */; };
@@ -36,6 +36,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 077CFA2A1ADB31E800D20B9B /* CustomCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomCell.swift; sourceTree = ""; };
07E35D641A2E470A00CA606C /* TableViewWithPropertyList.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TableViewWithPropertyList.app; sourceTree = BUILT_PRODUCTS_DIR; };
07E35D681A2E470A00CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35D691A2E470A00CA606C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
@@ -47,7 +48,6 @@
07E35D7E1A2E470A00CA606C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
07E35D7F1A2E470A00CA606C /* TableViewWithPropertyListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewWithPropertyListTests.swift; sourceTree = ""; };
07E35D991A2E475200CA606C /* Property List.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Property List.plist"; sourceTree = ""; };
- 07E35D9B1A2E475900CA606C /* CeldaPersonalizada.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CeldaPersonalizada.swift; sourceTree = ""; };
07E35D9D1A2E47C800CA606C /* djTux.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = djTux.png; sourceTree = ""; };
07E35D9E1A2E47C800CA606C /* einsteinTux.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = einsteinTux.png; sourceTree = ""; };
07E35D9F1A2E47C800CA606C /* indianaTux.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = indianaTux.png; sourceTree = ""; };
@@ -101,7 +101,7 @@
07E35D691A2E470A00CA606C /* AppDelegate.swift */,
07E35D6B1A2E470A00CA606C /* ViewController.swift */,
07E35D991A2E475200CA606C /* Property List.plist */,
- 07E35D9B1A2E475900CA606C /* CeldaPersonalizada.swift */,
+ 077CFA2A1ADB31E800D20B9B /* CustomCell.swift */,
07E35D6D1A2E470A00CA606C /* Main.storyboard */,
07E35D701A2E470A00CA606C /* Images.xcassets */,
07E35D721A2E470A00CA606C /* LaunchScreen.xib */,
@@ -260,7 +260,7 @@
buildActionMask = 2147483647;
files = (
07E35D6C1A2E470A00CA606C /* ViewController.swift in Sources */,
- 07E35D9C1A2E475900CA606C /* CeldaPersonalizada.swift in Sources */,
+ 077CFA2B1ADB31E800D20B9B /* CustomCell.swift in Sources */,
07E35D6A1A2E470A00CA606C /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -385,6 +385,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TableViewWithPropertyList/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -395,6 +396,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = TableViewWithPropertyList/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -453,6 +455,7 @@
07E35D851A2E470A00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35D861A2E470A00CA606C /* Build configuration list for PBXNativeTarget "TableViewWithPropertyListTests" */ = {
isa = XCConfigurationList;
@@ -461,6 +464,7 @@
07E35D881A2E470A00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcshareddata/TableViewWithPropertyList.xccheckout b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcshareddata/TableViewWithPropertyList.xccheckout
new file mode 100644
index 00000000..7fa83871
--- /dev/null
+++ b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcshareddata/TableViewWithPropertyList.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ DFA24D54-0219-47A8-B028-6C5D1BDC3163
+ IDESourceControlProjectName
+ TableViewWithPropertyList
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index 1e324192..e1e679d3 100644
Binary files a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..cc0ccc87
Binary files /dev/null and b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableViewWithPropertyList.xcscheme b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableViewWithPropertyList.xcscheme
new file mode 100644
index 00000000..3ab8abc0
--- /dev/null
+++ b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/TableViewWithPropertyList.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..8a3bbb67
--- /dev/null
+++ b/TableViewWithPropertyList/TableViewWithPropertyList.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ TableViewWithPropertyList.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35D631A2E470A00CA606C
+
+ primary
+
+
+ 07E35D781A2E470A00CA606C
+
+ primary
+
+
+
+
+
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/AppDelegate.swift b/TableViewWithPropertyList/TableViewWithPropertyList/AppDelegate.swift
index 0f0dead7..dab19aaa 100644
--- a/TableViewWithPropertyList/TableViewWithPropertyList/AppDelegate.swift
+++ b/TableViewWithPropertyList/TableViewWithPropertyList/AppDelegate.swift
@@ -3,7 +3,15 @@
// TableViewWithPropertyList
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/Base.lproj/Main.storyboard b/TableViewWithPropertyList/TableViewWithPropertyList/Base.lproj/Main.storyboard
index 3da9aa06..16f28af2 100644
--- a/TableViewWithPropertyList/TableViewWithPropertyList/Base.lproj/Main.storyboard
+++ b/TableViewWithPropertyList/TableViewWithPropertyList/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -20,7 +20,7 @@
-
+
@@ -46,9 +46,9 @@
-
-
-
+
+
+
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/CeldaPersonalizada.swift b/TableViewWithPropertyList/TableViewWithPropertyList/CeldaPersonalizada.swift
deleted file mode 100644
index af75d158..00000000
--- a/TableViewWithPropertyList/TableViewWithPropertyList/CeldaPersonalizada.swift
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// CeldaPersonalizada.swift
-// TableViewWithPropertyList
-//
-// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class CeldaPersonalizada: UITableViewCell {
-
- @IBOutlet weak var imagen: UIImageView!
- @IBOutlet weak var titulo: UILabel!
- @IBOutlet weak var subtitulo: UILabel!
-
-
- override func awakeFromNib() {
- super.awakeFromNib()
- // Initialization code
- }
-
- override func setSelected(selected: Bool, animated: Bool) {
- super.setSelected(selected, animated: animated)
-
- // Configure the view for the selected state
- }
-
-}
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/CustomCell.swift b/TableViewWithPropertyList/TableViewWithPropertyList/CustomCell.swift
new file mode 100644
index 00000000..f95f092c
--- /dev/null
+++ b/TableViewWithPropertyList/TableViewWithPropertyList/CustomCell.swift
@@ -0,0 +1,37 @@
+//
+// CustomCell.swift
+// TableViewWithPropertyList
+//
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class CustomCell: UITableViewCell {
+
+ @IBOutlet weak var myImage: UIImageView!
+ @IBOutlet weak var myTitle: UILabel!
+ @IBOutlet weak var mySubtitle: UILabel!
+
+
+ override func awakeFromNib() {
+ super.awakeFromNib()
+ // Initialization code
+ }
+
+ override func setSelected(selected: Bool, animated: Bool) {
+ super.setSelected(selected, animated: animated)
+
+ // Configure the view for the selected state
+ }
+
+}
\ No newline at end of file
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/Property List.plist b/TableViewWithPropertyList/TableViewWithPropertyList/Property List.plist
index fc60fefa..2c9dd755 100644
--- a/TableViewWithPropertyList/TableViewWithPropertyList/Property List.plist
+++ b/TableViewWithPropertyList/TableViewWithPropertyList/Property List.plist
@@ -2,76 +2,76 @@
- celda0
+ cell0
- imagen
+ image
djTux.png
- subtitulo
+ subtitle
Music
- titulo
+ title
DJ Tux
- celda1
+ cell1
- imagen
+ image
einsteinTux.png
- subtitulo
+ subtitle
Science
- titulo
+ title
Einstein
- celda2
+ cell2
- imagen
+ image
indianaTux.png
- subtitulo
+ subtitle
Adventure
- titulo
+ title
Indiana
- celda3
+ cell3
- imagen
+ image
matrixTux.png
- subtitulo
+ subtitle
Science Fiction
- titulo
+ title
NEO
- celda4
+ cell4
- imagen
+ image
ramboTux.png
- subtitulo
+ subtitle
War
- titulo
+ title
Rambo
- celda5
+ cell5
- imagen
+ image
samouraiTux.png
- subtitulo
+ subtitle
War
- titulo
+ title
Samourai
- celda6
+ cell6
- imagen
+ image
scienceTux.png
- subtitulo
+ subtitle
Science
- titulo
+ title
Scientist
- celda7
+ cell7
- imagen
+ image
yodaTux.png
- subtitulo
+ subtitle
Star Wars
- titulo
+ title
Yoda
diff --git a/TableViewWithPropertyList/TableViewWithPropertyList/ViewController.swift b/TableViewWithPropertyList/TableViewWithPropertyList/ViewController.swift
index 17170475..00304ff9 100644
--- a/TableViewWithPropertyList/TableViewWithPropertyList/ViewController.swift
+++ b/TableViewWithPropertyList/TableViewWithPropertyList/ViewController.swift
@@ -3,55 +3,59 @@
// TableViewWithPropertyList
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
- var celdas : NSDictionary? //Variable Global
+ var cells : NSDictionary? // Global Variable
override func viewDidLoad() {
super.viewDidLoad()
let path = NSBundle.mainBundle().bundlePath
let plistName:NSString = "Property List.plist"
- let finalPath:NSString = path.stringByAppendingPathComponent(plistName)
- celdas = NSDictionary(contentsOfFile:finalPath)
+ let finalPath:NSString = path.stringByAppendingPathComponent(plistName as String)
+ cells = NSDictionary(contentsOfFile:finalPath as String)
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return celdas!.count
+ return cells!.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCell {
- //let cell:UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier: nil)
- let cell:CeldaPersonalizada = tableView.dequeueReusableCellWithIdentifier("CeldaPersonalizada") as CeldaPersonalizada
+ let cell:CustomCell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as! CustomCell
- let celda: AnyObject = celdas!.objectForKey("celda\(indexPath.row)") as NSDictionary
+ let myCell: AnyObject = cells!.objectForKey("cell\(indexPath.row)") as! NSDictionary
- //cell.textLabel?.text = celda.objectForKey("titulo") as? String
- //cell.detailTextLabel?.text = celda.objectForKey("subtitulo") as? String
- //cell.imageView?.image = UIImage(named: celda.objectForKey("imagen") as String)
- cell.titulo?.text = celda.objectForKey("titulo") as? String
- cell.subtitulo?.text = celda.objectForKey("subtitulo") as? String
- cell.imagen?.image = UIImage(named: celda.objectForKey("imagen") as String)
+ cell.myTitle?.text = myCell.objectForKey("title") as? String
+ cell.mySubtitle?.text = myCell.objectForKey("subtitle") as? String
+ cell.myImage?.image = UIImage(named: myCell.objectForKey("image") as! String)
return cell
}
- func tableView(tableView: UITableView, titleForHeaderInSection section:Int) -> String {
+ func tableView(tableView: UITableView, titleForHeaderInSection section:Int) -> String? {
return "TuxMania"
}
- func tableView(tableView: UITableView, titleForFooterInSection section:Int) -> String {
+ func tableView(tableView: UITableView, titleForFooterInSection section:Int) -> String? {
- return "Hazte con Todos"
+ return "Get all the Tux"
}
diff --git a/UIImagePickerControllerCamera/.DS_Store b/UIImagePickerControllerCamera/.DS_Store
new file mode 100644
index 00000000..9a2d41b6
Binary files /dev/null and b/UIImagePickerControllerCamera/.DS_Store differ
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.pbxproj b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index 1ec604bb..fe866c8b
--- a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.pbxproj
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.pbxproj
@@ -341,6 +341,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UIImagePickerControllerCamera/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -351,6 +352,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UIImagePickerControllerCamera/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -409,6 +411,7 @@
0732A6C21A3634BC00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0732A6C31A3634BC00F6CEC3 /* Build configuration list for PBXNativeTarget "UIImagePickerControllerCameraTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +420,7 @@
0732A6C51A3634BC00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCamera.xccheckout b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCamera.xccheckout
new file mode 100644
index 00000000..7486919d
--- /dev/null
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCamera.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 09FAC8EC-887F-4219-A1A1-036560598D6C
+ IDESourceControlProjectName
+ UIImagePickerControllerCamera
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index 37bb3fdb..5bbfde38
Binary files a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..11b4c0aa
Binary files /dev/null and b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UIImagePickerControllerCamera.xcscheme b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UIImagePickerControllerCamera.xcscheme
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCamera.xcscheme b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCamera.xcscheme
new file mode 100644
index 00000000..398d2105
--- /dev/null
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCamera.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..a3ab9551
--- /dev/null
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ UIImagePickerControllerCamera.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0732A6A01A3634BC00F6CEC3
+
+ primary
+
+
+ 0732A6B51A3634BC00F6CEC3
+
+ primary
+
+
+
+
+
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/AppDelegate.swift b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/AppDelegate.swift
old mode 100644
new mode 100755
index a91c068b..2f95e3ba
--- a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/AppDelegate.swift
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/AppDelegate.swift
@@ -3,7 +3,15 @@
// UIImagePickerControllerCamera
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/LaunchScreen.xib b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/Main.storyboard b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
index 43ffa1fe..66ac408f
--- a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/Main.storyboard
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -32,7 +32,7 @@
-
+
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Images.xcassets/AppIcon.appiconset/Contents.json b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Info.plist b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/Info.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/ViewController.swift b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/ViewController.swift
old mode 100644
new mode 100755
index abbe18a9..4a08b860
--- a/UIImagePickerControllerCamera/UIImagePickerControllerCamera/ViewController.swift
+++ b/UIImagePickerControllerCamera/UIImagePickerControllerCamera/ViewController.swift
@@ -3,7 +3,15 @@
// UIImagePickerControllerCamera
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,13 +22,13 @@ import MobileCoreServices
class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var myImage: UIImageView!
@IBAction func useCamera(sender: UIButton) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
- //para seleccionar solo los controles de camara y no de video
+ //to select only camera controls, not video
imagePicker.mediaTypes = [kUTTypeImage]
imagePicker.showsCameraControls = true
//imagePicker.allowsEditing = true
@@ -36,20 +44,20 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
// Dispose of any resources that can be recreated.
}
- func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]!){
+ func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
- let image = info[UIImagePickerControllerOriginalImage] as UIImage
+ let image = info[UIImagePickerControllerOriginalImage] as! UIImage
let imageData = UIImagePNGRepresentation(image) as NSData
- //guarda en album de fotos
+ //save in photo album
UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
- //guarda en documents
- let documentsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last as NSString
+ //save in documents
+ let documentsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last as! NSString
let filePath = documentsPath.stringByAppendingPathComponent("pic.png")
imageData.writeToFile(filePath, atomically: true)
- imagen.image = image
+ myImage.image = image
self.dismissViewControllerAnimated(true, completion: nil)
}
@@ -64,7 +72,7 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
- func imagePickerControllerDidCancel(picker: UIImagePickerController!){
+ func imagePickerControllerDidCancel(picker: UIImagePickerController){
self.dismissViewControllerAnimated(true, completion: nil)
}
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCameraTests/Info.plist b/UIImagePickerControllerCamera/UIImagePickerControllerCameraTests/Info.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCamera/UIImagePickerControllerCameraTests/UIImagePickerControllerCameraTests.swift b/UIImagePickerControllerCamera/UIImagePickerControllerCameraTests/UIImagePickerControllerCameraTests.swift
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.pbxproj b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index 4ad32711..38b28b96
--- a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.pbxproj
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.pbxproj
@@ -341,6 +341,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UIImagePickerControllerCameraEditImage/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -351,6 +352,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UIImagePickerControllerCameraEditImage/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -409,6 +411,7 @@
0732A6F21A36358D00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0732A6F31A36358D00F6CEC3 /* Build configuration list for PBXNativeTarget "UIImagePickerControllerCameraEditImageTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +420,7 @@
0732A6F51A36358D00F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCameraEditImage.xccheckout b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCameraEditImage.xccheckout
new file mode 100644
index 00000000..3d73d717
--- /dev/null
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcshareddata/UIImagePickerControllerCameraEditImage.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ FE5E5660-1AAE-4F0A-8C1B-3928E123C8AD
+ IDESourceControlProjectName
+ UIImagePickerControllerCameraEditImage
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index 2ccbc30e..e88314f9
Binary files a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..65a9515a
Binary files /dev/null and b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UIImagePickerControllerCameraEditImage.xcscheme b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UIImagePickerControllerCameraEditImage.xcscheme
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCameraEditImage.xcscheme b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCameraEditImage.xcscheme
new file mode 100644
index 00000000..e7c73426
--- /dev/null
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UIImagePickerControllerCameraEditImage.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..6d2d9b9e
--- /dev/null
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ UIImagePickerControllerCameraEditImage.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0732A6D01A36358D00F6CEC3
+
+ primary
+
+
+ 0732A6E51A36358D00F6CEC3
+
+ primary
+
+
+
+
+
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/AppDelegate.swift b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/AppDelegate.swift
old mode 100644
new mode 100755
index 7b9471d2..b2231f4f
--- a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/AppDelegate.swift
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/AppDelegate.swift
@@ -3,7 +3,15 @@
// UIImagePickerControllerCameraEditImage
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/LaunchScreen.xib b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/Main.storyboard b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
index 97230c2a..dd761036
--- a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/Main.storyboard
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -35,8 +35,8 @@
-
-
+
+
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Images.xcassets/AppIcon.appiconset/Contents.json b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Info.plist b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/Info.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/ViewController.swift b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/ViewController.swift
old mode 100644
new mode 100755
index 2ad9b4e0..6aa138f6
--- a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/ViewController.swift
+++ b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImage/ViewController.swift
@@ -3,7 +3,15 @@
// UIImagePickerControllerCameraEditImage
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -14,14 +22,14 @@ import MobileCoreServices
class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate {
- @IBOutlet weak var imagenRecortada: UIImageView!
- @IBOutlet weak var imagen: UIImageView!
+ @IBOutlet weak var cutImage: UIImageView!
+ @IBOutlet weak var myImage: UIImageView!
@IBAction func useCamera(sender: UIButton) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
- //para seleccionar solo los controles de camara y no de video
+ //to select only camera control, not video
imagePicker.mediaTypes = [kUTTypeImage]
imagePicker.showsCameraControls = true
imagePicker.allowsEditing = true
@@ -37,22 +45,22 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
// Dispose of any resources that can be recreated.
}
- func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]!){
+ func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]){
- let image = info[UIImagePickerControllerOriginalImage] as UIImage
- let imageEdited = info[UIImagePickerControllerEditedImage] as UIImage
+ let image = info[UIImagePickerControllerOriginalImage] as! UIImage
+ let imageEdited = info[UIImagePickerControllerEditedImage] as! UIImage
let imageData = UIImagePNGRepresentation(image) as NSData
//guarda en album de fotos
UIImageWriteToSavedPhotosAlbum(image, self, "image:didFinishSavingWithError:contextInfo:", nil)
//guarda en documents
- let documentsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last as NSString
+ let documentsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last as! NSString
let filePath = documentsPath.stringByAppendingPathComponent("pic.png")
imageData.writeToFile(filePath, atomically: true)
- imagen.image = image
- imagenRecortada.image = imageEdited
+ myImage.image = image
+ cutImage.image = imageEdited
self.dismissViewControllerAnimated(true, completion: nil)
}
@@ -67,7 +75,7 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
- func imagePickerControllerDidCancel(picker: UIImagePickerController!){
+ func imagePickerControllerDidCancel(picker: UIImagePickerController){
self.dismissViewControllerAnimated(true, completion: nil)
}
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImageTests/Info.plist b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImageTests/Info.plist
old mode 100644
new mode 100755
diff --git a/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImageTests/UIImagePickerControllerCameraEditImageTests.swift b/UIImagePickerControllerCameraEditImage/UIImagePickerControllerCameraEditImageTests/UIImagePickerControllerCameraEditImageTests.swift
old mode 100644
new mode 100755
diff --git a/UILocalNotification/.DS_Store b/UILocalNotification/.DS_Store
new file mode 100644
index 00000000..b186d8ae
Binary files /dev/null and b/UILocalNotification/.DS_Store differ
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/project.pbxproj b/UILocalNotification/UILocalNotification.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index c494ebcf..f332408f
--- a/UILocalNotification/UILocalNotification.xcodeproj/project.pbxproj
+++ b/UILocalNotification/UILocalNotification.xcodeproj/project.pbxproj
@@ -337,6 +337,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UILocalNotification/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -347,6 +348,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = UILocalNotification/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -405,6 +407,7 @@
0732A6941A3631D000F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
0732A6951A3631D000F6CEC3 /* Build configuration list for PBXNativeTarget "UILocalNotificationTests" */ = {
isa = XCConfigurationList;
@@ -413,6 +416,7 @@
0732A6971A3631D000F6CEC3 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcshareddata/UILocalNotification.xccheckout b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcshareddata/UILocalNotification.xccheckout
new file mode 100644
index 00000000..61e81f16
--- /dev/null
+++ b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcshareddata/UILocalNotification.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 99B52698-BBB0-4E9B-A545-15CD900B6478
+ IDESourceControlProjectName
+ UILocalNotification
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ UILocalNotification/UILocalNotification.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index 26b5bb46..469d2440
Binary files a/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..c59f140f
Binary files /dev/null and b/UILocalNotification/UILocalNotification.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UILocalNotification.xcscheme b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/UILocalNotification.xcscheme
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UILocalNotification.xcscheme b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UILocalNotification.xcscheme
new file mode 100644
index 00000000..c84792db
--- /dev/null
+++ b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/UILocalNotification.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..fdb99c39
--- /dev/null
+++ b/UILocalNotification/UILocalNotification.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ UILocalNotification.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 0732A6721A3631CF00F6CEC3
+
+ primary
+
+
+ 0732A6871A3631D000F6CEC3
+
+ primary
+
+
+
+
+
diff --git a/UILocalNotification/UILocalNotification/AppDelegate.swift b/UILocalNotification/UILocalNotification/AppDelegate.swift
old mode 100644
new mode 100755
index 5cae84b8..54b9f06f
--- a/UILocalNotification/UILocalNotification/AppDelegate.swift
+++ b/UILocalNotification/UILocalNotification/AppDelegate.swift
@@ -3,7 +3,15 @@
// UILocalNotification
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/UILocalNotification/UILocalNotification/Base.lproj/LaunchScreen.xib b/UILocalNotification/UILocalNotification/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification/Base.lproj/Main.storyboard b/UILocalNotification/UILocalNotification/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification/Images.xcassets/AppIcon.appiconset/Contents.json b/UILocalNotification/UILocalNotification/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification/Info.plist b/UILocalNotification/UILocalNotification/Info.plist
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotification/ViewController.swift b/UILocalNotification/UILocalNotification/ViewController.swift
old mode 100644
new mode 100755
index bd5d6c40..b5d2450b
--- a/UILocalNotification/UILocalNotification/ViewController.swift
+++ b/UILocalNotification/UILocalNotification/ViewController.swift
@@ -3,7 +3,15 @@
// UILocalNotification
//
// Created by Carlos Butron on 08/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -15,7 +23,7 @@ class ViewController: UIViewController {
var notification = UILocalNotification()
notification.fireDate = NSDate().dateByAddingTimeInterval(10)
- notification.alertBody = "Alerta"
+ notification.alertBody = "Alert"
UIApplication.sharedApplication().scheduleLocalNotification(notification)
// Do any additional setup after loading the view, typically from a nib.
}
diff --git a/UILocalNotification/UILocalNotificationTests/Info.plist b/UILocalNotification/UILocalNotificationTests/Info.plist
old mode 100644
new mode 100755
diff --git a/UILocalNotification/UILocalNotificationTests/UILocalNotificationTests.swift b/UILocalNotification/UILocalNotificationTests/UILocalNotificationTests.swift
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/.DS_Store b/XIBwithStoryboard/.DS_Store
new file mode 100644
index 00000000..e3585a6e
Binary files /dev/null and b/XIBwithStoryboard/.DS_Store differ
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.pbxproj b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index ba1d5bb1..58fd63b0
--- a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.pbxproj
+++ b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.pbxproj
@@ -13,8 +13,8 @@
075FD3D41A34C11700513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3D31A34C11700513A3A /* Images.xcassets */; };
075FD3D71A34C11700513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3D51A34C11700513A3A /* LaunchScreen.xib */; };
075FD3E31A34C11700513A3A /* SegueWithpresentViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3E21A34C11700513A3A /* SegueWithpresentViewControllerTests.swift */; };
- 075FD3EE1A34C14600513A3A /* NuevaClase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD3EC1A34C14600513A3A /* NuevaClase.swift */; };
- 075FD3EF1A34C14600513A3A /* NuevaClase.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3ED1A34C14600513A3A /* NuevaClase.xib */; };
+ 075FD3EF1A34C14600513A3A /* NewClass.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD3ED1A34C14600513A3A /* NewClass.xib */; };
+ 077CFA2F1ADB412300D20B9B /* NewClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 077CFA2E1ADB412300D20B9B /* NewClass.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -38,8 +38,8 @@
075FD3DC1A34C11700513A3A /* SegueWithpresentViewControllerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SegueWithpresentViewControllerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
075FD3E11A34C11700513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD3E21A34C11700513A3A /* SegueWithpresentViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SegueWithpresentViewControllerTests.swift; sourceTree = ""; };
- 075FD3EC1A34C14600513A3A /* NuevaClase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NuevaClase.swift; sourceTree = ""; };
- 075FD3ED1A34C14600513A3A /* NuevaClase.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NuevaClase.xib; sourceTree = ""; };
+ 075FD3ED1A34C14600513A3A /* NewClass.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NewClass.xib; sourceTree = ""; };
+ 077CFA2E1ADB412300D20B9B /* NewClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewClass.swift; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -86,8 +86,8 @@
075FD3D01A34C11700513A3A /* Main.storyboard */,
075FD3D31A34C11700513A3A /* Images.xcassets */,
075FD3D51A34C11700513A3A /* LaunchScreen.xib */,
- 075FD3EC1A34C14600513A3A /* NuevaClase.swift */,
- 075FD3ED1A34C14600513A3A /* NuevaClase.xib */,
+ 077CFA2E1ADB412300D20B9B /* NewClass.swift */,
+ 075FD3ED1A34C14600513A3A /* NewClass.xib */,
075FD3CA1A34C11700513A3A /* Supporting Files */,
);
path = SegueWithpresentViewController;
@@ -200,7 +200,7 @@
files = (
075FD3D21A34C11700513A3A /* Main.storyboard in Resources */,
075FD3D71A34C11700513A3A /* LaunchScreen.xib in Resources */,
- 075FD3EF1A34C14600513A3A /* NuevaClase.xib in Resources */,
+ 075FD3EF1A34C14600513A3A /* NewClass.xib in Resources */,
075FD3D41A34C11700513A3A /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -220,7 +220,7 @@
buildActionMask = 2147483647;
files = (
075FD3CF1A34C11700513A3A /* ViewController.swift in Sources */,
- 075FD3EE1A34C14600513A3A /* NuevaClase.swift in Sources */,
+ 077CFA2F1ADB412300D20B9B /* NewClass.swift in Sources */,
075FD3CD1A34C11700513A3A /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -345,6 +345,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SegueWithpresentViewController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -355,6 +356,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = SegueWithpresentViewController/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -413,6 +415,7 @@
075FD3E81A34C11700513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD3E91A34C11700513A3A /* Build configuration list for PBXNativeTarget "SegueWithpresentViewControllerTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +424,7 @@
075FD3EB1A34C11700513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcshareddata/SegueWithpresentViewController.xccheckout b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcshareddata/SegueWithpresentViewController.xccheckout
new file mode 100644
index 00000000..b18ea5ed
--- /dev/null
+++ b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcshareddata/SegueWithpresentViewController.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 0C46F91C-7CF3-416B-AB6C-1576ADC39CB8
+ IDESourceControlProjectName
+ SegueWithpresentViewController
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ XIBwithStoryboard/SegueWithpresentViewController.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index 98e0d693..ecb1a1d8
Binary files a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..b2f905de
Binary files /dev/null and b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme
new file mode 100644
index 00000000..51c29a69
--- /dev/null
+++ b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/SegueWithpresentViewController.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..2e59443d
--- /dev/null
+++ b/XIBwithStoryboard/SegueWithpresentViewController.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ SegueWithpresentViewController.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD3C61A34C11700513A3A
+
+ primary
+
+
+ 075FD3DB1A34C11700513A3A
+
+ primary
+
+
+
+
+
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/AppDelegate.swift b/XIBwithStoryboard/SegueWithpresentViewController/AppDelegate.swift
old mode 100644
new mode 100755
index 85c23e92..d7f52db2
--- a/XIBwithStoryboard/SegueWithpresentViewController/AppDelegate.swift
+++ b/XIBwithStoryboard/SegueWithpresentViewController/AppDelegate.swift
@@ -3,7 +3,15 @@
// SegueWithpresentViewController
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib b/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/Main.storyboard b/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
index 78081fcf..337975c7
--- a/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/Main.storyboard
+++ b/XIBwithStoryboard/SegueWithpresentViewController/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/Images.xcassets/AppIcon.appiconset/Contents.json b/XIBwithStoryboard/SegueWithpresentViewController/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/Info.plist b/XIBwithStoryboard/SegueWithpresentViewController/Info.plist
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/NewClass.swift b/XIBwithStoryboard/SegueWithpresentViewController/NewClass.swift
new file mode 100644
index 00000000..c272210f
--- /dev/null
+++ b/XIBwithStoryboard/SegueWithpresentViewController/NewClass.swift
@@ -0,0 +1,43 @@
+//
+// NewClass.swift
+// SegueWithpresentViewController
+//
+// Created by Carlos Butron on 13/04/15.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
+import UIKit
+
+class NuevaClase: UIViewController {
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ // Do any additional setup after loading the view.
+ }
+
+ override func didReceiveMemoryWarning() {
+ super.didReceiveMemoryWarning()
+ // Dispose of any resources that can be recreated.
+ }
+
+
+ /*
+ // MARK: - Navigation
+
+ // In a storyboard-based application, you will often want to do a little preparation before navigation
+ override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
+ // Get the new view controller using segue.destinationViewController.
+ // Pass the selected object to the new view controller.
+ }
+ */
+
+}
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.xib b/XIBwithStoryboard/SegueWithpresentViewController/NewClass.xib
old mode 100644
new mode 100755
similarity index 91%
rename from XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.xib
rename to XIBwithStoryboard/SegueWithpresentViewController/NewClass.xib
index 0102da07..b0873a45
--- a/XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.xib
+++ b/XIBwithStoryboard/SegueWithpresentViewController/NewClass.xib
@@ -1,10 +1,10 @@
-
+
-
+
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.swift b/XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.swift
deleted file mode 100644
index e79dd321..00000000
--- a/XIBwithStoryboard/SegueWithpresentViewController/NuevaClase.swift
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// NuevaClase.swift
-// T3E3CarlosButron
-//
-// Created by Carlos Butron on 31/10/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
-//
-
-import UIKit
-
-class NuevaClase: UIViewController {
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- // Do any additional setup after loading the view.
- }
-
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
-
- /*
- // MARK: - Navigation
-
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
-
-}
diff --git a/XIBwithStoryboard/SegueWithpresentViewController/ViewController.swift b/XIBwithStoryboard/SegueWithpresentViewController/ViewController.swift
old mode 100644
new mode 100755
index aaf42890..d7a67bf8
--- a/XIBwithStoryboard/SegueWithpresentViewController/ViewController.swift
+++ b/XIBwithStoryboard/SegueWithpresentViewController/ViewController.swift
@@ -3,7 +3,15 @@
// SegueWithpresentViewController
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -12,7 +20,7 @@ class ViewController: UIViewController {
@IBAction func buttonAction(sender: UIButton) {
var storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
- var viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("NuevoViewController") as UIViewController
+ var viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("NewViewController") as! UIViewController
self.presentViewController(viewController, animated: true,
completion: nil)
}
@@ -20,7 +28,7 @@ class ViewController: UIViewController {
@IBAction func buttonAction2(sender: UIButton) {
- var newControlador = UIViewController (nibName: "NuevaClase", bundle: nil)
+ var newControlador = UIViewController (nibName: "NewClass", bundle: nil)
self.presentViewController(newControlador, animated: true,
completion: nil)
}
diff --git a/XIBwithStoryboard/SegueWithpresentViewControllerTests/Info.plist b/XIBwithStoryboard/SegueWithpresentViewControllerTests/Info.plist
old mode 100644
new mode 100755
diff --git a/XIBwithStoryboard/SegueWithpresentViewControllerTests/SegueWithpresentViewControllerTests.swift b/XIBwithStoryboard/SegueWithpresentViewControllerTests/SegueWithpresentViewControllerTests.swift
old mode 100644
new mode 100755
diff --git a/XML/.DS_Store b/XML/.DS_Store
new file mode 100644
index 00000000..3f4bf557
Binary files /dev/null and b/XML/.DS_Store differ
diff --git a/XML/XML.xcodeproj/project.pbxproj b/XML/XML.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index b41dea43..7f4eb3a5
--- a/XML/XML.xcodeproj/project.pbxproj
+++ b/XML/XML.xcodeproj/project.pbxproj
@@ -162,7 +162,9 @@
07E35CF31A2E358C00CA606C /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0610;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Carlos Butron";
TargetAttributes = {
07E35CFA1A2E358C00CA606C = {
@@ -283,6 +285,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -297,7 +300,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -333,7 +336,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
@@ -345,7 +348,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = XML/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -355,7 +360,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = XML/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -374,6 +381,7 @@
);
INFOPLIST_FILE = XMLTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/XML.app/XML";
};
@@ -389,6 +397,7 @@
);
INFOPLIST_FILE = XMLTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/XML.app/XML";
};
@@ -413,6 +422,7 @@
07E35D1C1A2E358C00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
07E35D1D1A2E358C00CA606C /* Build configuration list for PBXNativeTarget "XMLTests" */ = {
isa = XCConfigurationList;
@@ -421,6 +431,7 @@
07E35D1F1A2E358C00CA606C /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/XML/XML.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/XML/XML.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/XML/XML.xcodeproj/project.xcworkspace/xcshareddata/XML.xccheckout b/XML/XML.xcodeproj/project.xcworkspace/xcshareddata/XML.xccheckout
new file mode 100644
index 00000000..e080c9e5
--- /dev/null
+++ b/XML/XML.xcodeproj/project.xcworkspace/xcshareddata/XML.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 6E8158F1-8086-4D83-B7B6-E2D4D17E44F6
+ IDESourceControlProjectName
+ XML
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ XML/XML.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index f1f6fe65..03a7e593
Binary files a/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..83c018a2
Binary files /dev/null and b/XML/XML.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML 2.xcscheme b/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML 2.xcscheme
new file mode 100644
index 00000000..ee1301d4
--- /dev/null
+++ b/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML 2.xcscheme
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML.xcscheme b/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML.xcscheme
old mode 100644
new mode 100755
index c520eb1a..7aa8eed9
--- a/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML.xcscheme
+++ b/XML/XML.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XML.xcscheme
@@ -1,6 +1,6 @@
+ shouldUseLaunchSchemeArgsEnv = "YES">
@@ -62,17 +62,21 @@
ReferencedContainer = "container:XML.xcodeproj">
+
+
-
+
-
+
SchemeUserState
+ XML 2.xcscheme
+
+ orderHint
+ 1
+
XML.xcscheme
orderHint
diff --git a/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XML.xcscheme b/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XML.xcscheme
new file mode 100644
index 00000000..efa5ec9a
--- /dev/null
+++ b/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XML.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..26730adf
--- /dev/null
+++ b/XML/XML.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ XML.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 07E35CFA1A2E358C00CA606C
+
+ primary
+
+
+ 07E35D0F1A2E358C00CA606C
+
+ primary
+
+
+
+
+
diff --git a/XML/XML/AppDelegate.swift b/XML/XML/AppDelegate.swift
old mode 100644
new mode 100755
index 52bbd589..8293bfce
--- a/XML/XML/AppDelegate.swift
+++ b/XML/XML/AppDelegate.swift
@@ -3,7 +3,15 @@
// XML
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/XML/XML/Base.lproj/LaunchScreen.xib b/XML/XML/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/XML/XML/Base.lproj/Main.storyboard b/XML/XML/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
diff --git a/XML/XML/Images.xcassets/AppIcon.appiconset/Contents.json b/XML/XML/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/XML/XML/Info.plist b/XML/XML/Info.plist
old mode 100644
new mode 100755
index 9172527e..2b4828bb
--- a/XML/XML/Info.plist
+++ b/XML/XML/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/XML/XML/RootViewController.swift b/XML/XML/RootViewController.swift
old mode 100644
new mode 100755
index 6e119bc7..690ad523
--- a/XML/XML/RootViewController.swift
+++ b/XML/XML/RootViewController.swift
@@ -3,7 +3,15 @@
// XML
//
// Created by Carlos Butron on 02/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -21,11 +29,16 @@ class RootViewController: UITableViewController, NSURLConnectionDelegate, NSXMLP
super.viewDidLoad()
- println("Primera Ejecución")
- var url = NSURL(string: "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/topsongs/limit=10/xml")
- var request = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData, timeoutInterval: 30)
+ print("First Ejecution")
+ let url = NSURL(string: "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/topsongs/limit=10/xml")
+ let request = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData, timeoutInterval: 30)
self.xmlData = NSMutableData()
NSURLConnection(request: request, delegate: self)
+
+
+
+
+
}
override func didReceiveMemoryWarning() {
@@ -41,17 +54,19 @@ class RootViewController: UITableViewController, NSURLConnectionDelegate, NSXMLP
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- println("AAAAAA \(songs.count)")
+ print("AAAAAA \(songs.count)")
return songs.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
- var cell = tableView.dequeueReusableCellWithIdentifier("celda") as UITableViewCell
- var elem = songs[indexPath.row] as Song
- println("AAAAAA \(elem.titulo)")
- cell.textLabel.text = (elem.titulo) as String
+ let cell = tableView.dequeueReusableCellWithIdentifier("celda", forIndexPath: indexPath) as UITableViewCell
+ let elem = songs[indexPath.row] as! Song
+ print("AAAAAA \(elem.myTitle)")
+ cell.textLabel!.text = (elem.myTitle) as String
+
+
return cell
}
@@ -103,8 +118,8 @@ class RootViewController: UITableViewController, NSURLConnectionDelegate, NSXMLP
*/
- func connection(connection: NSURLConnection!, didFailWithError error: NSError!){
- println("Error al acceder a la URL")
+ func connection(connection: NSURLConnection, didFailWithError error: NSError){
+ print("URL access error")
self.xmlData = nil
}
@@ -113,29 +128,28 @@ class RootViewController: UITableViewController, NSURLConnectionDelegate, NSXMLP
}
func connectionDidFinishLoading(connection: NSURLConnection!){
- var xmlCheck = NSString(data: self.xmlData!, encoding: NSUTF8StringEncoding)
- //println("El xml recibido es \(xmlCheck)")
- var parser:NSXMLParser = NSXMLParser(data: self.xmlData)
+ //println("XML recived: \(xmlCheck)")
+ let parser:NSXMLParser = NSXMLParser(data: self.xmlData!)
parser.delegate = self
parser.shouldResolveExternalEntities = true
parser.parse()
for(var i=0; iCFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- es.carlosbutron.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/XML/XMLTests/XMLTests.swift b/XML/XMLTests/XMLTests.swift
old mode 100644
new mode 100755
diff --git a/XMLAppStore/.DS_Store b/XMLAppStore/.DS_Store
new file mode 100644
index 00000000..e061da56
Binary files /dev/null and b/XMLAppStore/.DS_Store differ
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/project.pbxproj b/XMLAppStore/XMLAppStore.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
index c89bd21d..4a8ba17e
--- a/XMLAppStore/XMLAppStore.xcodeproj/project.pbxproj
+++ b/XMLAppStore/XMLAppStore.xcodeproj/project.pbxproj
@@ -349,6 +349,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = XMLAppStore/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -359,6 +360,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = XMLAppStore/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -417,6 +419,7 @@
075FD3801A34BA2800513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD3811A34BA2800513A3A /* Build configuration list for PBXNativeTarget "XMLAppStoreTests" */ = {
isa = XCConfigurationList;
@@ -425,6 +428,7 @@
075FD3831A34BA2800513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcshareddata/XMLAppStore.xccheckout b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcshareddata/XMLAppStore.xccheckout
new file mode 100644
index 00000000..224a85bf
--- /dev/null
+++ b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcshareddata/XMLAppStore.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ CA4E4FB4-3DE8-4851-B173-199F81E34C90
+ IDESourceControlProjectName
+ XMLAppStore
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/iJason92/Swift.git
+
+ IDESourceControlProjectPath
+ XMLAppStore/XMLAppStore.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/iJason92/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
old mode 100644
new mode 100755
index ef4a7856..4622eec8
Binary files a/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..37bd37da
Binary files /dev/null and b/XMLAppStore/XMLAppStore.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XMLAppStore.xcscheme b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/XMLAppStore.xcscheme
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Carlos.xcuserdatad/xcschemes/xcschememanagement.plist
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XMLAppStore.xcscheme b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XMLAppStore.xcscheme
new file mode 100644
index 00000000..5b0618ad
--- /dev/null
+++ b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/XMLAppStore.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..8fb48155
--- /dev/null
+++ b/XMLAppStore/XMLAppStore.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ XMLAppStore.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD35E1A34BA2800513A3A
+
+ primary
+
+
+ 075FD3731A34BA2800513A3A
+
+ primary
+
+
+
+
+
diff --git a/XMLAppStore/XMLAppStore/AppDelegate.swift b/XMLAppStore/XMLAppStore/AppDelegate.swift
old mode 100644
new mode 100755
index 21ded074..e55db3c0
--- a/XMLAppStore/XMLAppStore/AppDelegate.swift
+++ b/XMLAppStore/XMLAppStore/AppDelegate.swift
@@ -3,7 +3,15 @@
// XMLAppStore
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/XMLAppStore/XMLAppStore/AppInfo.swift b/XMLAppStore/XMLAppStore/AppInfo.swift
old mode 100644
new mode 100755
index 295657a1..6bded3e3
--- a/XMLAppStore/XMLAppStore/AppInfo.swift
+++ b/XMLAppStore/XMLAppStore/AppInfo.swift
@@ -3,7 +3,15 @@
// XMLAppStore
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/XMLAppStore/XMLAppStore/Base.lproj/LaunchScreen.xib b/XMLAppStore/XMLAppStore/Base.lproj/LaunchScreen.xib
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore/Base.lproj/Main.storyboard b/XMLAppStore/XMLAppStore/Base.lproj/Main.storyboard
old mode 100644
new mode 100755
index 1f5de32d..e4d01373
--- a/XMLAppStore/XMLAppStore/Base.lproj/Main.storyboard
+++ b/XMLAppStore/XMLAppStore/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
diff --git a/XMLAppStore/XMLAppStore/Images.xcassets/AppIcon.appiconset/Contents.json b/XMLAppStore/XMLAppStore/Images.xcassets/AppIcon.appiconset/Contents.json
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore/ImagesOperation.swift b/XMLAppStore/XMLAppStore/ImagesOperation.swift
old mode 100644
new mode 100755
index 8f804121..e549fc5d
--- a/XMLAppStore/XMLAppStore/ImagesOperation.swift
+++ b/XMLAppStore/XMLAppStore/ImagesOperation.swift
@@ -3,7 +3,15 @@
// XMLAppStore
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -31,7 +39,7 @@ class ImagesOperation: NSOperation, NSURLConnectionDelegate {
self.currentData.appendData(data)
}
- func connection(connection: NSURLConnection!, didFailWithError error: NSError!){
+ func connection(connection: NSURLConnection, didFailWithError error: NSError){
self.currentData = nil
}
diff --git a/XMLAppStore/XMLAppStore/Info.plist b/XMLAppStore/XMLAppStore/Info.plist
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStore/ViewController.swift b/XMLAppStore/XMLAppStore/ViewController.swift
old mode 100644
new mode 100755
index 405c5f96..193cd9fd
--- a/XMLAppStore/XMLAppStore/ViewController.swift
+++ b/XMLAppStore/XMLAppStore/ViewController.swift
@@ -3,7 +3,15 @@
// XMLAppStore
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -47,7 +55,7 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
var queue = NSOperationQueue()
for it in apps{
var imagesOperation = ImagesOperation()
- imagesOperation.app = it as AppInfo
+ imagesOperation.app = it as! AppInfo
imagesOperation.delegate = self
queue.addOperation(imagesOperation)
@@ -59,7 +67,7 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
// Dispose of any resources that can be recreated.
}
- func parser(parser: NSXMLParser!, didStartElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!, attributes attributeDict: [NSObject : AnyObject]!){
+ func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [NSObject : AnyObject]){
let elementsToParse = NSArray(objects: "id","im:name","im:image")
@@ -70,7 +78,7 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
}
- func parser(parser: NSXMLParser!, didEndElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!){
+ func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?){
if(self.currentApp != nil){
//if(shouldParse || elementName == "entry"){
var trimmedString = currentString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
@@ -97,10 +105,10 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
}
- func parser(parser: NSXMLParser!, foundCharacters string: String!)
+ func parser(parser: NSXMLParser, foundCharacters string: String?)
{
if((shouldParse) != nil){
- currentString.appendString(string)
+ currentString.appendString(string!)
}
}
@@ -112,11 +120,11 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
- var cell = tabla.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell
- var label: UILabel = cell.viewWithTag(101) as UILabel
- var app = apps.objectAtIndex(indexPath.row) as AppInfo
+ var cell = tabla.dequeueReusableCellWithIdentifier("Cell") as! UITableViewCell
+ var label: UILabel = cell.viewWithTag(101) as! UILabel
+ var app = apps.objectAtIndex(indexPath.row) as! AppInfo
label.text = app.name
- var imageView = cell.viewWithTag(100) as UIImageView
+ var imageView = cell.viewWithTag(100) as! UIImageView
imageView.image = app.image
return cell
@@ -124,11 +132,11 @@ class ViewController: UIViewController, NSURLConnectionDelegate, NSXMLParserDele
func imageOperation(imagesOperation:ImagesOperation, app:AppInfo){
var visibleCells = tabla.visibleCells()
- var firstIndex = tabla.indexPathForCell(visibleCells[0] as UITableViewCell)?.row
- var lastIndex = tabla.indexPathForCell(visibleCells.last as UITableViewCell)?.row
+ var firstIndex = tabla.indexPathForCell(visibleCells[0] as! UITableViewCell)?.row
+ var lastIndex = tabla.indexPathForCell(visibleCells.last as! UITableViewCell)?.row
if(app.index >= firstIndex && app.index <= lastIndex){
var cell = tabla.cellForRowAtIndexPath(NSIndexPath(forRow: app.index, inSection: 0))
- var imageView = cell?.viewWithTag(100) as UIImageView
+ var imageView = cell?.viewWithTag(100) as! UIImageView
imageView.image = app.image
}
}
diff --git a/XMLAppStore/XMLAppStoreTests/Info.plist b/XMLAppStore/XMLAppStoreTests/Info.plist
old mode 100644
new mode 100755
diff --git a/XMLAppStore/XMLAppStoreTests/XMLAppStoreTests.swift b/XMLAppStore/XMLAppStoreTests/XMLAppStoreTests.swift
old mode 100644
new mode 100755
diff --git a/iAdFramework/.DS_Store b/iAdFramework/.DS_Store
new file mode 100644
index 00000000..afcc34e0
Binary files /dev/null and b/iAdFramework/.DS_Store differ
diff --git a/iAdFramework/iAdFramework.xcodeproj/project.pbxproj b/iAdFramework/iAdFramework.xcodeproj/project.pbxproj
index ffcd099b..cabf7b0e 100644
--- a/iAdFramework/iAdFramework.xcodeproj/project.pbxproj
+++ b/iAdFramework/iAdFramework.xcodeproj/project.pbxproj
@@ -341,6 +341,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = iAdFramework/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -351,6 +352,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = iAdFramework/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -409,6 +411,7 @@
075FD45A1A34CEBD00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD45B1A34CEBD00513A3A /* Build configuration list for PBXNativeTarget "iAdFrameworkTests" */ = {
isa = XCConfigurationList;
@@ -417,6 +420,7 @@
075FD45D1A34CEBD00513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcshareddata/iAdFramework.xccheckout b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcshareddata/iAdFramework.xccheckout
new file mode 100644
index 00000000..1143c867
--- /dev/null
+++ b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcshareddata/iAdFramework.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ 836ACCFB-0A86-4112-AF75-143445FFBFE2
+ IDESourceControlProjectName
+ iAdFramework
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ iAdFramework/iAdFramework.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index f2df6d3a..1a003973 100644
Binary files a/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..39085627
Binary files /dev/null and b/iAdFramework/iAdFramework.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iAdFramework.xcscheme b/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iAdFramework.xcscheme
new file mode 100644
index 00000000..20d71c7a
--- /dev/null
+++ b/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iAdFramework.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..67635529
--- /dev/null
+++ b/iAdFramework/iAdFramework.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ iAdFramework.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD4381A34CEBD00513A3A
+
+ primary
+
+
+ 075FD44D1A34CEBD00513A3A
+
+ primary
+
+
+
+
+
diff --git a/iAdFramework/iAdFramework/AppDelegate.swift b/iAdFramework/iAdFramework/AppDelegate.swift
index 5cd46552..99941616 100644
--- a/iAdFramework/iAdFramework/AppDelegate.swift
+++ b/iAdFramework/iAdFramework/AppDelegate.swift
@@ -3,8 +3,17 @@
// iAdFramework
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
import UIKit
diff --git a/iAdFramework/iAdFramework/ViewController.swift b/iAdFramework/iAdFramework/ViewController.swift
index 24394ef1..79110f41 100644
--- a/iAdFramework/iAdFramework/ViewController.swift
+++ b/iAdFramework/iAdFramework/ViewController.swift
@@ -3,8 +3,17 @@
// iAdFramework
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+//
+
import UIKit
import iAd
diff --git a/iCloud/.DS_Store b/iCloud/.DS_Store
new file mode 100644
index 00000000..1acbe50d
Binary files /dev/null and b/iCloud/.DS_Store differ
diff --git a/iCloud/iCloud.xcodeproj/project.pbxproj b/iCloud/iCloud.xcodeproj/project.pbxproj
index 6d1a1153..1569c95b 100644
--- a/iCloud/iCloud.xcodeproj/project.pbxproj
+++ b/iCloud/iCloud.xcodeproj/project.pbxproj
@@ -13,8 +13,8 @@
075FD2CF1A34858200513A3A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2CE1A34858200513A3A /* Images.xcassets */; };
075FD2D21A34858200513A3A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2D01A34858200513A3A /* LaunchScreen.xib */; };
075FD2DE1A34858200513A3A /* iCloudTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD2DD1A34858200513A3A /* iCloudTests.swift */; };
- 075FD2E91A34859400513A3A /* imagen1.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2E71A34859400513A3A /* imagen1.png */; };
- 075FD2EA1A34859400513A3A /* fondo1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2E81A34859400513A3A /* fondo1.jpg */; };
+ 075FD2E91A34859400513A3A /* image1.png in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2E71A34859400513A3A /* image1.png */; };
+ 075FD2EA1A34859400513A3A /* background1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 075FD2E81A34859400513A3A /* background1.jpg */; };
075FD2EE1A3485A500513A3A /* DocumentPhoto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 075FD2ED1A3485A500513A3A /* DocumentPhoto.swift */; };
075FD2F11A34884F00513A3A /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 075FD2F01A34884F00513A3A /* CloudKit.framework */; };
/* End PBXBuildFile section */
@@ -40,8 +40,8 @@
075FD2D71A34858200513A3A /* iCloudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iCloudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
075FD2DC1A34858200513A3A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
075FD2DD1A34858200513A3A /* iCloudTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iCloudTests.swift; sourceTree = ""; };
- 075FD2E71A34859400513A3A /* imagen1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = imagen1.png; sourceTree = ""; };
- 075FD2E81A34859400513A3A /* fondo1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = fondo1.jpg; sourceTree = ""; };
+ 075FD2E71A34859400513A3A /* image1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image1.png; sourceTree = ""; };
+ 075FD2E81A34859400513A3A /* background1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = background1.jpg; sourceTree = ""; };
075FD2ED1A3485A500513A3A /* DocumentPhoto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocumentPhoto.swift; sourceTree = ""; };
075FD2EF1A3487C300513A3A /* iCloud.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = iCloud.entitlements; sourceTree = ""; };
075FD2F01A34884F00513A3A /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
@@ -89,8 +89,8 @@
isa = PBXGroup;
children = (
075FD2EF1A3487C300513A3A /* iCloud.entitlements */,
- 075FD2E71A34859400513A3A /* imagen1.png */,
- 075FD2E81A34859400513A3A /* fondo1.jpg */,
+ 075FD2E71A34859400513A3A /* image1.png */,
+ 075FD2E81A34859400513A3A /* background1.jpg */,
075FD2C71A34858200513A3A /* AppDelegate.swift */,
075FD2C91A34858200513A3A /* ViewController.swift */,
075FD2ED1A3485A500513A3A /* DocumentPhoto.swift */,
@@ -213,11 +213,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 075FD2E91A34859400513A3A /* imagen1.png in Resources */,
+ 075FD2E91A34859400513A3A /* image1.png in Resources */,
075FD2CD1A34858200513A3A /* Main.storyboard in Resources */,
075FD2D21A34858200513A3A /* LaunchScreen.xib in Resources */,
075FD2CF1A34858200513A3A /* Images.xcassets in Resources */,
- 075FD2EA1A34859400513A3A /* fondo1.jpg in Resources */,
+ 075FD2EA1A34859400513A3A /* background1.jpg in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -364,6 +364,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
INFOPLIST_FILE = iCloud/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
@@ -378,6 +379,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
INFOPLIST_FILE = iCloud/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.4;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
@@ -437,6 +439,7 @@
075FD2E31A34858200513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
075FD2E41A34858200513A3A /* Build configuration list for PBXNativeTarget "iCloudTests" */ = {
isa = XCConfigurationList;
@@ -445,6 +448,7 @@
075FD2E61A34858200513A3A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/iCloud/iCloud.xcodeproj/project.xcworkspace/xcshareddata/iCloud.xccheckout b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcshareddata/iCloud.xccheckout
new file mode 100644
index 00000000..02e5e4e8
--- /dev/null
+++ b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcshareddata/iCloud.xccheckout
@@ -0,0 +1,41 @@
+
+
+
+
+ IDESourceControlProjectFavoriteDictionaryKey
+
+ IDESourceControlProjectIdentifier
+ A633D403-4CEC-4CC0-8F79-0EEA8C941D1D
+ IDESourceControlProjectName
+ iCloud
+ IDESourceControlProjectOriginsDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ https://github.com/CarlosButron/Swift.git
+
+ IDESourceControlProjectPath
+ iCloud/iCloud.xcodeproj
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ ../../..
+
+ IDESourceControlProjectURL
+ https://github.com/CarlosButron/Swift.git
+ IDESourceControlProjectVersion
+ 111
+ IDESourceControlProjectWCCIdentifier
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 9FCBC930A8DBEE5E1E1094396CDFC4C7EE814530
+ IDESourceControlWCCName
+ Swift
+
+
+
+
diff --git a/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate
index d530aefb..716ec432 100644
Binary files a/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate and b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Carlos.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 00000000..2e23cc87
Binary files /dev/null and b/iCloud/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Jason.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iCloud.xcscheme b/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iCloud.xcscheme
new file mode 100644
index 00000000..bcc2ba9d
--- /dev/null
+++ b/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/iCloud.xcscheme
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist b/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 00000000..e8f131cf
--- /dev/null
+++ b/iCloud/iCloud.xcodeproj/xcuserdata/Jason.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ iCloud.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 075FD2C11A34858200513A3A
+
+ primary
+
+
+ 075FD2D61A34858200513A3A
+
+ primary
+
+
+
+
+
diff --git a/iCloud/iCloud/AppDelegate.swift b/iCloud/iCloud/AppDelegate.swift
index c5eccb18..55011021 100644
--- a/iCloud/iCloud/AppDelegate.swift
+++ b/iCloud/iCloud/AppDelegate.swift
@@ -3,8 +3,16 @@
// iCloud
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
+
import UIKit
diff --git a/iCloud/iCloud/Base.lproj/Main.storyboard b/iCloud/iCloud/Base.lproj/Main.storyboard
index fdd52c71..3b7ec710 100644
--- a/iCloud/iCloud/Base.lproj/Main.storyboard
+++ b/iCloud/iCloud/Base.lproj/Main.storyboard
@@ -1,7 +1,7 @@
-
+
-
+
@@ -19,20 +19,16 @@
-
-
-
-
-
+
-
+
-
+
-
+
@@ -40,10 +36,6 @@
-
-
-
-
@@ -74,7 +66,6 @@
-
diff --git a/iCloud/iCloud/DocumentPhoto.swift b/iCloud/iCloud/DocumentPhoto.swift
index a8ec0b15..aed255ce 100644
--- a/iCloud/iCloud/DocumentPhoto.swift
+++ b/iCloud/iCloud/DocumentPhoto.swift
@@ -3,7 +3,15 @@
// iCloud
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
diff --git a/iCloud/iCloud/ViewController.swift b/iCloud/iCloud/ViewController.swift
index 21cad09a..0a8f26bb 100644
--- a/iCloud/iCloud/ViewController.swift
+++ b/iCloud/iCloud/ViewController.swift
@@ -3,7 +3,15 @@
// iCloud
//
// Created by Carlos Butron on 07/12/14.
-// Copyright (c) 2014 Carlos Butron. All rights reserved.
+// Copyright (c) 2014 Carlos Butron.
+//
+// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
+// version.
+// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License along with this program. If not, see
+// http:/www.gnu.org/licenses/.
//
import UIKit
@@ -19,32 +27,32 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
@IBOutlet weak var collectionView: UICollectionView!
- @IBAction func borrarFotos(sender: UIBarButtonItem) {
+ @IBAction func deletePhotos(sender: UIBarButtonItem) {
removeImagesFromICloud()
}
- @IBAction func elegirFotos(sender: UIBarButtonItem) {
- var action = UIAlertController (title: "Fotos", message: "¿De dónde quieres obtener las fotos?", preferredStyle: UIAlertControllerStyle.ActionSheet)
- action.addAction(UIAlertAction(title: "Cámara", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
- println("Elegimos de la camara")
- self.capturaFotos(true)
+ @IBAction func choosePhotos(sender: UIBarButtonItem) {
+ var action = UIAlertController (title: "Photos", message: "Select source", preferredStyle: UIAlertControllerStyle.ActionSheet)
+ action.addAction(UIAlertAction(title: "Camera", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
+ println("Choose camera")
+ self.getPhoto(true)
}))
- action.addAction(UIAlertAction(title: "Galería", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
- println("Elegimos de la galería")
- self.capturaFotos(false)
+ action.addAction(UIAlertAction(title: "Galery", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
+ println("Choose galery")
+ self.getPhoto(false)
}))
self.presentViewController(action, animated: true, completion: nil)
}
- func capturaFotos (camara: Bool){
+ func getPhoto (camera: Bool){
let picker = UIImagePickerController()
picker.delegate = self
- if (camara){
+ if (camera){
picker.sourceType = UIImagePickerControllerSourceType.Camera
}else{
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
- println("Elegimos de la galería2")
+ println("Choose from galery 2")
}
picker.allowsEditing = false
self.presentViewController(picker, animated: true, completion: nil)
@@ -55,30 +63,30 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
self.dismissViewControllerAnimated(true, completion: nil)
- var fullImage = (info as NSDictionary)[UIImagePickerControllerOriginalImage] as UIImage
- println("Elegimos de la galería3")
+ var fullImage = (info as NSDictionary)[UIImagePickerControllerOriginalImage] as! UIImage
+ println("Choose from galery 3")
savePhotoICloud(fullImage)
}
- func savePhotoICloud (imagen: UIImage){
- var fecha = NSDate()
+ func savePhotoICloud (image: UIImage){
+ var date = NSDate()
var df = NSDateFormatter()
df.dateFormat = "dd_MM_yy_hh_mm_ss"
- var photoName = NSString (format: "PHOTO_%@", df.stringFromDate(fecha))
+ var photoName = NSString (format: "PHOTO_%@", df.stringFromDate(date))
if (container != nil){
- var fileURLiCloud = container!.URLByAppendingPathComponent("Documents").URLByAppendingPathComponent(photoName)
+ var fileURLiCloud = container!.URLByAppendingPathComponent("Documents").URLByAppendingPathComponent(photoName as String)
var photo = DocumentPhoto (fileURL: fileURLiCloud)
- photo.image = imagen
+ photo.image = image
photo.saveToURL(fileURLiCloud, forSaveOperation: UIDocumentSaveOperation.ForCreating, completionHandler: { (success) -> Void
in
- self.celdas.addObject(imagen)
- println("Elegimos de la galería4")
+ self.celdas.addObject(image)
+ println("Choose from galery 4")
self.collectionView.reloadData()
})
}
@@ -88,7 +96,7 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
func removeImagesFromICloud (){
if (container != nil){
self.metadataQuery = NSMetadataQuery()
- self.metadataQuery.searchScopes = NSArray (object: NSMetadataQueryUbiquitousDocumentsScope)
+ self.metadataQuery.searchScopes = NSArray (object: NSMetadataQueryUbiquitousDocumentsScope) as [AnyObject]
var predicate = NSPredicate(format: "%K like 'PHOTO*'", NSMetadataItemFSNameKey)
self.metadataQuery.predicate = predicate
@@ -103,7 +111,7 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
func loadImagesFromICloud (){
if (container != nil){
self.metadataQuery = NSMetadataQuery()
- self.metadataQuery.searchScopes = NSArray (object: NSMetadataQueryUbiquitousDocumentsScope)
+ self.metadataQuery.searchScopes = NSArray (object: NSMetadataQueryUbiquitousDocumentsScope) as [AnyObject]
var predicate = NSPredicate(format: "%K like 'PHOTO*'", NSMetadataItemFSNameKey)
self.metadataQuery.predicate = predicate
@@ -116,14 +124,14 @@ class ViewController: UIViewController, UINavigationControllerDelegate, UIImageP
}
func queryFinished(notification: NSNotification){
- var mq = notification.object as NSMetadataQuery
+ var mq = notification.object as! NSMetadataQuery
mq.disableUpdates()
mq.stopQuery()
celdas.removeAllObjects()
for (var i = 0; i UICollectionViewCell {
var identifier:NSString = "CollectionCell"
- var cell = collectionView.dequeueReusableCellWithReuseIdentifier(identifier, forIndexPath: indexPath) as UICollectionViewCell
+ var cell = collectionView.dequeueReusableCellWithReuseIdentifier(identifier as String, forIndexPath: indexPath) as! UICollectionViewCell
- var imageView:UIImageView = cell.viewWithTag(1) as UIImageView
+ var imageView:UIImageView = cell.viewWithTag(1) as! UIImageView
imageView.image = celdas.objectAtIndex(indexPath.row) as? UIImage
// imageView.image = UIImage(named: "imagen1.png")
diff --git a/iCloud/iCloud/fondo1.jpg b/iCloud/iCloud/background1.jpg
similarity index 100%
rename from iCloud/iCloud/fondo1.jpg
rename to iCloud/iCloud/background1.jpg
diff --git a/iCloud/iCloud/imagen1.png b/iCloud/iCloud/image1.png
similarity index 100%
rename from iCloud/iCloud/imagen1.png
rename to iCloud/iCloud/image1.png