From 0e392e8fb8df6e6b17a4cc73d7e44f450d19f04b Mon Sep 17 00:00:00 2001 From: Shane Logsdon Date: Fri, 28 Apr 2017 13:03:33 -0400 Subject: [PATCH 1/5] update files to swift 3 compatibility --- .../Pods/Local Podspecs/RXPiOS.podspec.json | 2 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 410 ++++++++++-------- .../Pods-RXPiOS_Example/Info.plist | 2 +- ...s-RXPiOS_Example-acknowledgements.markdown | 7 +- ...Pods-RXPiOS_Example-acknowledgements.plist | 9 +- .../Pods-RXPiOS_Example-frameworks.sh | 18 +- .../Pods-RXPiOS_Example-resources.sh | 98 +++-- .../Pods-RXPiOS_Example-umbrella.h | 10 + .../Pods-RXPiOS_Example.debug.xcconfig | 8 +- .../Pods-RXPiOS_Example.release.xcconfig | 8 +- .../Pods-RXPiOS_Tests/Info.plist | 2 +- ...ods-RXPiOS_Tests-acknowledgements.markdown | 7 +- .../Pods-RXPiOS_Tests-acknowledgements.plist | 9 +- .../Pods-RXPiOS_Tests-frameworks.sh | 18 +- .../Pods-RXPiOS_Tests-resources.sh | 98 +++-- .../Pods-RXPiOS_Tests-umbrella.h | 10 + .../Pods-RXPiOS_Tests.debug.xcconfig | 8 +- .../Pods-RXPiOS_Tests.release.xcconfig | 8 +- .../Target Support Files/RXPiOS/Info.plist | 4 +- .../RXPiOS/RXPiOS-prefix.pch | 8 + .../RXPiOS/RXPiOS-umbrella.h | 10 + .../RXPiOS/RXPiOS.xcconfig | 9 +- Example/RXPiOS.xcodeproj/project.pbxproj | 46 +- Example/RXPiOS/AppDelegate.swift | 12 +- Example/RXPiOS/Base.lproj/LaunchScreen.xib | 11 +- Example/RXPiOS/Base.lproj/Main.storyboard | 14 +- Example/RXPiOS/ViewController.swift | 12 +- .../Dictionary+URLDictionary.swift | 2 +- Pod/Classes/RealexComponent/HPPManager.swift | 162 +++---- .../RealexComponent/HPPViewController.swift | 104 ++--- .../RealexComponent/String+URLString.swift | 6 +- Pod/Classes/RealexRemote/RealexRemote.swift | 58 ++- 32 files changed, 677 insertions(+), 513 deletions(-) diff --git a/Example/Pods/Local Podspecs/RXPiOS.podspec.json b/Example/Pods/Local Podspecs/RXPiOS.podspec.json index 2a430cb..f1b4fac 100644 --- a/Example/Pods/Local Podspecs/RXPiOS.podspec.json +++ b/Example/Pods/Local Podspecs/RXPiOS.podspec.json @@ -9,7 +9,7 @@ "Realex Payments": "developers@realexpayments.com" }, "source": { - "git": "https://github.com/realexpayments-developers/rxp-ios.git", + "git": "https://github.com/realexpayments/rxp-ios.git", "tag": "1.1.0" }, "platforms": { diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index ce4c5be..62fe940 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,48 +7,48 @@ objects = { /* Begin PBXBuildFile section */ - 03D048B27CA65C182B532E0A07CEEB73 /* Pods-RXPiOS_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59388EBB79B863D0244FFEF5970B6E90 /* Pods-RXPiOS_Example-dummy.m */; }; - 24DE82BEB13B372C71616959DAAA9639 /* RXPiOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C900E949D7C598F793CDCED0F146A590 /* RXPiOS-dummy.m */; }; - 297C629B5AA49BFAEA4BFA1BDAAD0FD8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; - 29CC99147B5E4ECB0038AA1A54AA75D9 /* Pods-RXPiOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FA93293E387E8AE92FFF6867DB6520D /* Pods-RXPiOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4E14EA19481F64279C755E5826181BB7 /* RXPiOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F8FC37EB105BA387B8FC50B8E1DD46FB /* RXPiOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 512C14477FF264697FFB48612AA4C646 /* RealexRemote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */; }; - 6C395BB224014EFDC93DAC7273E58568 /* String+URLString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */; }; - 838D4B873A40FE9C97ACC39B7187385B /* Pods-RXPiOS_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 601AA33B9A1B2B82C58C48B4D5588A75 /* Pods-RXPiOS_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95780E8AED13D2F89F8AE7CA392E7CA1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; - A90BE853BF635B2B4E39B9AEBAD681B7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */; }; - ACBB49F55983FC0A1D726BA1F4153B71 /* Dictionary+URLDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */; }; - B7DA961A8CE7D2773E785DE657A0DAFB /* Pods-RXPiOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6D37166F8CFE468C0B35B2CF5973B4 /* Pods-RXPiOS_Tests-dummy.m */; }; - EEB60ADF81F5306853671E66D46F78BE /* HPPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */; }; - FEC22670843EB906E083F55A39D6906B /* HPPManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */; }; + 1DF6BECFFDC07ACE808F15B7B9B7347C /* Pods-RXPiOS_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 601AA33B9A1B2B82C58C48B4D5588A75 /* Pods-RXPiOS_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4018970D00E6444A20BE71C2CE67FC6A /* RealexRemote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */; }; + 4695EF157FB61DF757DED364A8797142 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; + 5BD555952D8153B5ADD90954DD818D92 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; + 6B67D08C6D6CA3D31F8EFA605290E7E4 /* Pods-RXPiOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6D37166F8CFE468C0B35B2CF5973B4 /* Pods-RXPiOS_Tests-dummy.m */; }; + 74733745AF3F59F7B29E39F80428A7F0 /* Pods-RXPiOS_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59388EBB79B863D0244FFEF5970B6E90 /* Pods-RXPiOS_Example-dummy.m */; }; + B9B32322B0BAFAA8F2B52C89AAE4955E /* Pods-RXPiOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FA93293E387E8AE92FFF6867DB6520D /* Pods-RXPiOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B9C8C7FAC04BDA7CB0EF198EF7F6E313 /* HPPManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */; }; + D72866C30DAC07D68B28B46CC253B886 /* HPPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */; }; + DF05BC4964C8AFE9D95034BE7E55C9A3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; + E9FAECFBFDC42BB7218CC2AE0430153B /* RXPiOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F8FC37EB105BA387B8FC50B8E1DD46FB /* RXPiOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA1AC29D750A9E894EA29EA40024DFCA /* Dictionary+URLDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */; }; + EB7432A5BC2BF13860E7F53CFEA708B5 /* String+URLString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */; }; + FB93D01D1D507F899B81192A7B53D182 /* RXPiOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C900E949D7C598F793CDCED0F146A590 /* RXPiOS-dummy.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 25A838A54E5500BDA5B070AF8FB1C9FC /* PBXContainerItemProxy */ = { + 72059E249096011C6A03C183C8AC7AA7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 4C6646EB68470922D765D3D73A41BAE7; + remoteGlobalIDString = 7FA4F02FCB3089D0D2120D4DF5202AE3; remoteInfo = RXPiOS; }; - 3DFADCF8D8B916F050A7160227BA4C86 /* PBXContainerItemProxy */ = { + 98A0CB2DFB7585AC42C05745E68E319C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 4C6646EB68470922D765D3D73A41BAE7; + remoteGlobalIDString = 7FA4F02FCB3089D0D2120D4DF5202AE3; remoteInfo = RXPiOS; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RealexRemote.swift; sourceTree = ""; }; - 2CA5E3286DBF87F42497AEBAD769BE8C /* Pods_RXPiOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B18EDA82243919BC377ADF98788851E /* Pods_RXPiOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 2DBCBB6F852E6516588FE661796F658D /* RXPiOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RXPiOS.modulemap; sourceTree = ""; }; 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+URLString.swift"; sourceTree = ""; }; - 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 3F632A3AE0A5753E0325161BF41BD1C9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 41FC14DE0DCF25C9209AA46A31EFFB8C /* Pods-RXPiOS_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-RXPiOS_Example.modulemap"; sourceTree = ""; }; 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Example.debug.xcconfig"; sourceTree = ""; }; + 47E3E92E67A52D12F3D53C2B2FAE5131 /* Pods_RXPiOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4FBF450930F26E43670A127B6D0A6BCB /* Pods-RXPiOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Tests.debug.xcconfig"; sourceTree = ""; }; 56205297DA8FBFCCE0DB780A4CB3B8C8 /* Pods-RXPiOS_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Example-frameworks.sh"; sourceTree = ""; }; 59388EBB79B863D0244FFEF5970B6E90 /* Pods-RXPiOS_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RXPiOS_Example-dummy.m"; sourceTree = ""; }; @@ -56,51 +56,51 @@ 5E6D37166F8CFE468C0B35B2CF5973B4 /* Pods-RXPiOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RXPiOS_Tests-dummy.m"; sourceTree = ""; }; 601AA33B9A1B2B82C58C48B4D5588A75 /* Pods-RXPiOS_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-RXPiOS_Example-umbrella.h"; sourceTree = ""; }; 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Tests.release.xcconfig"; sourceTree = ""; }; - 71275396D6F428125EB5BEBECCDFFF56 /* Pods_RXPiOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7442975895DB77CD6D947EA8D6E08992 /* RXPiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RXPiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 756B9BD5F72F0EB6A8E1B844DA0644BE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 75CB018B9FCFFD95AF0CD4E9A1834131 /* Pods-RXPiOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RXPiOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; 7953D8988D06C7B435D410F915AF8E4C /* Pods-RXPiOS_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RXPiOS_Example-acknowledgements.markdown"; sourceTree = ""; }; 79935988B160174D93CE501E8E3799EC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7B9F3D9F9E2FA9A4F5DC9C35E0939FA0 /* Pods-RXPiOS_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RXPiOS_Example-acknowledgements.plist"; sourceTree = ""; }; 7FA93293E387E8AE92FFF6867DB6520D /* Pods-RXPiOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-RXPiOS_Tests-umbrella.h"; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HPPManager.swift; sourceTree = ""; }; 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Dictionary+URLDictionary.swift"; sourceTree = ""; }; B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Example.release.xcconfig"; sourceTree = ""; }; B4AC20533F874DFC739687F2BA6B068A /* Pods-RXPiOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-RXPiOS_Tests.modulemap"; sourceTree = ""; }; B73DE492EAA55DE889CD03EA8E284A9C /* Pods-RXPiOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Tests-frameworks.sh"; sourceTree = ""; }; - BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; C1228CE8E1D35CD5030D0A877BB5F3C7 /* Pods-RXPiOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RXPiOS_Tests-acknowledgements.plist"; sourceTree = ""; }; C900E949D7C598F793CDCED0F146A590 /* RXPiOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RXPiOS-dummy.m"; sourceTree = ""; }; + CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; D752C01C378358DD2D0A86F4B22F7C26 /* RXPiOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RXPiOS-prefix.pch"; sourceTree = ""; }; E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RXPiOS.xcconfig; sourceTree = ""; }; F3411ACAD180C81FF14B77B8C96578B6 /* Pods-RXPiOS_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Example-resources.sh"; sourceTree = ""; }; F8FC37EB105BA387B8FC50B8E1DD46FB /* RXPiOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RXPiOS-umbrella.h"; sourceTree = ""; }; FBAE972D2B4423856185A7B2AF4E15E8 /* Pods-RXPiOS_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Tests-resources.sh"; sourceTree = ""; }; - FD37A0DFB16E9216F31B1C2E1E2647A6 /* RXPiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RXPiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 9223011A232BE66683B54AD1CEA7D0DC /* Frameworks */ = { + 091E1361D8B450E33EAE6E5B8805EFFF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 297C629B5AA49BFAEA4BFA1BDAAD0FD8 /* Foundation.framework in Frameworks */, + 5BD555952D8153B5ADD90954DD818D92 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C0EF74E3561866F3565181D075C17D88 /* Frameworks */ = { + 7DBD9C50653B8B44A9C2604776443388 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 95780E8AED13D2F89F8AE7CA392E7CA1 /* Foundation.framework in Frameworks */, + DF05BC4964C8AFE9D95034BE7E55C9A3 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FC1D8A21F684ABB9250D5DCEAD7DAB40 /* Frameworks */ = { + 8C700A4BF4D4A360A0C98A8E444F673C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A90BE853BF635B2B4E39B9AEBAD681B7 /* Foundation.framework in Frameworks */, + 4695EF157FB61DF757DED364A8797142 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -147,9 +147,9 @@ 46C983B39AA7DEB60CDA9A5DEB381571 /* RealexComponent */ = { isa = PBXGroup; children = ( + 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */, 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */, 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */, - 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */, 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */, ); path = RealexComponent; @@ -177,6 +177,14 @@ path = RealexRemote; sourceTree = ""; }; + 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */ = { + isa = PBXGroup; + children = ( + CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; 7785D9888657CDCC2F4B645394B9561F /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -189,24 +197,14 @@ 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 847E95BB95F0FDE6100DABDC118843F5 /* Development Pods */, BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - 7FD4E81A570B1C8389C20B185EBD1F43 /* Products */, + EC9FC16E2EBB49A5438BA902E0975474 /* Products */, 7785D9888657CDCC2F4B645394B9561F /* Targets Support Files */, ); sourceTree = ""; }; - 7FD4E81A570B1C8389C20B185EBD1F43 /* Products */ = { - isa = PBXGroup; - children = ( - 71275396D6F428125EB5BEBECCDFFF56 /* Pods_RXPiOS_Example.framework */, - 2CA5E3286DBF87F42497AEBAD769BE8C /* Pods_RXPiOS_Tests.framework */, - FD37A0DFB16E9216F31B1C2E1E2647A6 /* RXPiOS.framework */, - ); - name = Products; - sourceTree = ""; - }; 847E95BB95F0FDE6100DABDC118843F5 /* Development Pods */ = { isa = PBXGroup; children = ( @@ -218,17 +216,19 @@ BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { isa = PBXGroup; children = ( - BF6342C8B29F4CEEA088EFF7AB4DE362 /* iOS */, + 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */, ); name = Frameworks; sourceTree = ""; }; - BF6342C8B29F4CEEA088EFF7AB4DE362 /* iOS */ = { + EC9FC16E2EBB49A5438BA902E0975474 /* Products */ = { isa = PBXGroup; children = ( - 3E4E89230EF59BC255123B67864ACF77 /* Foundation.framework */, + 2B18EDA82243919BC377ADF98788851E /* Pods_RXPiOS_Example.framework */, + 47E3E92E67A52D12F3D53C2B2FAE5131 /* Pods_RXPiOS_Tests.framework */, + 7442975895DB77CD6D947EA8D6E08992 /* RXPiOS.framework */, ); - name = iOS; + name = Products; sourceTree = ""; }; F8B9517865CE697FA0563706A645F9F8 /* Pod */ = { @@ -260,84 +260,84 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 174EE2B5C09C03F09EA04BF7CA8EFFD8 /* Headers */ = { + 0DA41C49F6F33957106FB57F09DA119B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 838D4B873A40FE9C97ACC39B7187385B /* Pods-RXPiOS_Example-umbrella.h in Headers */, + E9FAECFBFDC42BB7218CC2AE0430153B /* RXPiOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6BC611C36C3594C4220078882D0471D5 /* Headers */ = { + A28AEA0042DF5D70B89230B068DD3558 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29CC99147B5E4ECB0038AA1A54AA75D9 /* Pods-RXPiOS_Tests-umbrella.h in Headers */, + B9B32322B0BAFAA8F2B52C89AAE4955E /* Pods-RXPiOS_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 88FAFB492EF26FC1C1E52F45369882C6 /* Headers */ = { + CA594C6B5E0114D13063DBC71741F9F2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4E14EA19481F64279C755E5826181BB7 /* RXPiOS-umbrella.h in Headers */, + 1DF6BECFFDC07ACE808F15B7B9B7347C /* Pods-RXPiOS_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 4C6646EB68470922D765D3D73A41BAE7 /* RXPiOS */ = { + 3F9CAD5905EA9DEE8D64B95AE65DECF5 /* Pods-RXPiOS_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = ECB2638357CFA00E1E9C082E78865B8A /* Build configuration list for PBXNativeTarget "RXPiOS" */; + buildConfigurationList = 6279EEA69BFE02DD740F50812032D753 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Example" */; buildPhases = ( - 53E6B1DB8CA42102B10CEA21227213ED /* Sources */, - C0EF74E3561866F3565181D075C17D88 /* Frameworks */, - 88FAFB492EF26FC1C1E52F45369882C6 /* Headers */, + D9457F78D883BB3501809DAB1A2A3FB7 /* Sources */, + 8C700A4BF4D4A360A0C98A8E444F673C /* Frameworks */, + CA594C6B5E0114D13063DBC71741F9F2 /* Headers */, ); buildRules = ( ); dependencies = ( + F2FAD5A0344ED66DA3ADA1555011CAF7 /* PBXTargetDependency */, ); - name = RXPiOS; - productName = RXPiOS; - productReference = FD37A0DFB16E9216F31B1C2E1E2647A6 /* RXPiOS.framework */; + name = "Pods-RXPiOS_Example"; + productName = "Pods-RXPiOS_Example"; + productReference = 2B18EDA82243919BC377ADF98788851E /* Pods_RXPiOS_Example.framework */; productType = "com.apple.product-type.framework"; }; - AE217883B8C1F319E78ADDD38B99EEBB /* Pods-RXPiOS_Tests */ = { + 7FA4F02FCB3089D0D2120D4DF5202AE3 /* RXPiOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 27879F04B520951DBEA48ECE908FDBBC /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Tests" */; + buildConfigurationList = 7903924977EBC54244F6B11A0239AA50 /* Build configuration list for PBXNativeTarget "RXPiOS" */; buildPhases = ( - 1D870FF003C91CACBC12D91A4E1D440D /* Sources */, - FC1D8A21F684ABB9250D5DCEAD7DAB40 /* Frameworks */, - 6BC611C36C3594C4220078882D0471D5 /* Headers */, + D16EC3DF33370EDD27C503836792BB5C /* Sources */, + 091E1361D8B450E33EAE6E5B8805EFFF /* Frameworks */, + 0DA41C49F6F33957106FB57F09DA119B /* Headers */, ); buildRules = ( ); dependencies = ( - A42CB3FCF4DE7FF3E0E5B480204D965C /* PBXTargetDependency */, ); - name = "Pods-RXPiOS_Tests"; - productName = "Pods-RXPiOS_Tests"; - productReference = 2CA5E3286DBF87F42497AEBAD769BE8C /* Pods_RXPiOS_Tests.framework */; + name = RXPiOS; + productName = RXPiOS; + productReference = 7442975895DB77CD6D947EA8D6E08992 /* RXPiOS.framework */; productType = "com.apple.product-type.framework"; }; - FEC6697A0CA7B1BE7A1EA353D34EE526 /* Pods-RXPiOS_Example */ = { + ACA3F431CBF6521F60C9FA499A21156B /* Pods-RXPiOS_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = B5E0A868538AC392AEC5C6AC0FAEE0A3 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Example" */; + buildConfigurationList = BFC9CF0FCE8E0F5AB5EBD21E209B5DD0 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Tests" */; buildPhases = ( - 0961277C122D6479EF959646BF58F12D /* Sources */, - 9223011A232BE66683B54AD1CEA7D0DC /* Frameworks */, - 174EE2B5C09C03F09EA04BF7CA8EFFD8 /* Headers */, + 0E4A9FB530B5ADA8A9DF34FF55476477 /* Sources */, + 7DBD9C50653B8B44A9C2604776443388 /* Frameworks */, + A28AEA0042DF5D70B89230B068DD3558 /* Headers */, ); buildRules = ( ); dependencies = ( - 6FD51198008C1B7EC5513EEC68971F0A /* PBXTargetDependency */, + 7C194DCD178FE8FB7AEA07885E30A8C7 /* PBXTargetDependency */, ); - name = "Pods-RXPiOS_Example"; - productName = "Pods-RXPiOS_Example"; - productReference = 71275396D6F428125EB5BEBECCDFFF56 /* Pods_RXPiOS_Example.framework */; + name = "Pods-RXPiOS_Tests"; + productName = "Pods-RXPiOS_Tests"; + productReference = 47E3E92E67A52D12F3D53C2B2FAE5131 /* Pods_RXPiOS_Tests.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -346,8 +346,19 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0700; + LastSwiftUpdateCheck = 0730; LastUpgradeCheck = 0700; + TargetAttributes = { + 3F9CAD5905EA9DEE8D64B95AE65DECF5 = { + LastSwiftMigration = 0820; + }; + 7FA4F02FCB3089D0D2120D4DF5202AE3 = { + LastSwiftMigration = 0820; + }; + ACA3F431CBF6521F60C9FA499A21156B = { + LastSwiftMigration = 0820; + }; + }; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -357,246 +368,281 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 7FD4E81A570B1C8389C20B185EBD1F43 /* Products */; + productRefGroup = EC9FC16E2EBB49A5438BA902E0975474 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - FEC6697A0CA7B1BE7A1EA353D34EE526 /* Pods-RXPiOS_Example */, - AE217883B8C1F319E78ADDD38B99EEBB /* Pods-RXPiOS_Tests */, - 4C6646EB68470922D765D3D73A41BAE7 /* RXPiOS */, + 3F9CAD5905EA9DEE8D64B95AE65DECF5 /* Pods-RXPiOS_Example */, + ACA3F431CBF6521F60C9FA499A21156B /* Pods-RXPiOS_Tests */, + 7FA4F02FCB3089D0D2120D4DF5202AE3 /* RXPiOS */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 0961277C122D6479EF959646BF58F12D /* Sources */ = { + 0E4A9FB530B5ADA8A9DF34FF55476477 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 03D048B27CA65C182B532E0A07CEEB73 /* Pods-RXPiOS_Example-dummy.m in Sources */, + 6B67D08C6D6CA3D31F8EFA605290E7E4 /* Pods-RXPiOS_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1D870FF003C91CACBC12D91A4E1D440D /* Sources */ = { + D16EC3DF33370EDD27C503836792BB5C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B7DA961A8CE7D2773E785DE657A0DAFB /* Pods-RXPiOS_Tests-dummy.m in Sources */, + EA1AC29D750A9E894EA29EA40024DFCA /* Dictionary+URLDictionary.swift in Sources */, + B9C8C7FAC04BDA7CB0EF198EF7F6E313 /* HPPManager.swift in Sources */, + D72866C30DAC07D68B28B46CC253B886 /* HPPViewController.swift in Sources */, + 4018970D00E6444A20BE71C2CE67FC6A /* RealexRemote.swift in Sources */, + FB93D01D1D507F899B81192A7B53D182 /* RXPiOS-dummy.m in Sources */, + EB7432A5BC2BF13860E7F53CFEA708B5 /* String+URLString.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 53E6B1DB8CA42102B10CEA21227213ED /* Sources */ = { + D9457F78D883BB3501809DAB1A2A3FB7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ACBB49F55983FC0A1D726BA1F4153B71 /* Dictionary+URLDictionary.swift in Sources */, - FEC22670843EB906E083F55A39D6906B /* HPPManager.swift in Sources */, - EEB60ADF81F5306853671E66D46F78BE /* HPPViewController.swift in Sources */, - 512C14477FF264697FFB48612AA4C646 /* RealexRemote.swift in Sources */, - 24DE82BEB13B372C71616959DAAA9639 /* RXPiOS-dummy.m in Sources */, - 6C395BB224014EFDC93DAC7273E58568 /* String+URLString.swift in Sources */, + 74733745AF3F59F7B29E39F80428A7F0 /* Pods-RXPiOS_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 6FD51198008C1B7EC5513EEC68971F0A /* PBXTargetDependency */ = { + 7C194DCD178FE8FB7AEA07885E30A8C7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RXPiOS; - target = 4C6646EB68470922D765D3D73A41BAE7 /* RXPiOS */; - targetProxy = 25A838A54E5500BDA5B070AF8FB1C9FC /* PBXContainerItemProxy */; + target = 7FA4F02FCB3089D0D2120D4DF5202AE3 /* RXPiOS */; + targetProxy = 98A0CB2DFB7585AC42C05745E68E319C /* PBXContainerItemProxy */; }; - A42CB3FCF4DE7FF3E0E5B480204D965C /* PBXTargetDependency */ = { + F2FAD5A0344ED66DA3ADA1555011CAF7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = RXPiOS; - target = 4C6646EB68470922D765D3D73A41BAE7 /* RXPiOS */; - targetProxy = 3DFADCF8D8B916F050A7160227BA4C86 /* PBXContainerItemProxy */; + target = 7FA4F02FCB3089D0D2120D4DF5202AE3 /* RXPiOS */; + targetProxy = 72059E249096011C6A03C183C8AC7AA7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 2B4385DE5F04A855AB4EA45678D79311 /* Debug */ = { + 163584BEA968BB19FC1DC675FA0FAE5C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4FBF450930F26E43670A127B6D0A6BCB /* Pods-RXPiOS_Tests.debug.xcconfig */; + baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_RXPiOS_Tests; + MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = RXPiOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 3BA250567D10E1513B623804281B3BA3 /* Release */ = { + 1DA44F80CAE6AF9910A314E9852997C5 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_NAME = RXPiOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 473CE5AADA56E723E2E03F9647D6BCC0 /* Debug */ = { + 2EE29581B9EF6CECD4DC57243F6FCD82 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */; + baseConfigurationReference = B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = Pods_RXPiOS_Example; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 4D68B2CC69DCEC715B531E2C03EE4E3A /* Release */ = { + 491538890C9EC9C75DD716A841534338 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */; + baseConfigurationReference = 4FBF450930F26E43670A127B6D0A6BCB /* Pods-RXPiOS_Tests.debug.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_RXPiOS_Example; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_RXPiOS_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 584B3C55A92527EA5C9CCB2DFA8A7FE0 /* Debug */ = { + 5D298A17B650A28226E52F46070361C6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; + baseConfigurationReference = 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = RXPiOS; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_RXPiOS_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - BD9CFBD614767AD3BBFEDB5402DF14E8 /* Release */ = { + 6F6FD2CF5DA032657499675B4E61BE47 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */; + baseConfigurationReference = 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_RXPiOS_Tests; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_RXPiOS_Example; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - C074F63C9EE7CB4D8C618390A32CEC35 /* Debug */ = { + AD24A8B772A3AB80F338EF6B452909A0 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -610,15 +656,14 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -626,16 +671,18 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.1; - ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - E43846B588E1892F3093F3B7082B6DFB /* Release */ = { + F15098F4E21DD883A1445CB810C455E8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -649,10 +696,18 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -660,47 +715,48 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.1; + ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 27879F04B520951DBEA48ECE908FDBBC /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Tests" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2B4385DE5F04A855AB4EA45678D79311 /* Debug */, - BD9CFBD614767AD3BBFEDB5402DF14E8 /* Release */, + F15098F4E21DD883A1445CB810C455E8 /* Debug */, + AD24A8B772A3AB80F338EF6B452909A0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 6279EEA69BFE02DD740F50812032D753 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - C074F63C9EE7CB4D8C618390A32CEC35 /* Debug */, - E43846B588E1892F3093F3B7082B6DFB /* Release */, + 6F6FD2CF5DA032657499675B4E61BE47 /* Debug */, + 2EE29581B9EF6CECD4DC57243F6FCD82 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B5E0A868538AC392AEC5C6AC0FAEE0A3 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Example" */ = { + 7903924977EBC54244F6B11A0239AA50 /* Build configuration list for PBXNativeTarget "RXPiOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 473CE5AADA56E723E2E03F9647D6BCC0 /* Debug */, - 4D68B2CC69DCEC715B531E2C03EE4E3A /* Release */, + 1DA44F80CAE6AF9910A314E9852997C5 /* Debug */, + 163584BEA968BB19FC1DC675FA0FAE5C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - ECB2638357CFA00E1E9C082E78865B8A /* Build configuration list for PBXNativeTarget "RXPiOS" */ = { + BFC9CF0FCE8E0F5AB5EBD21E209B5DD0 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 584B3C55A92527EA5C9CCB2DFA8A7FE0 /* Debug */, - 3BA250567D10E1513B623804281B3BA3 /* Release */, + 491538890C9EC9C75DD716A841534338 /* Debug */, + 5D298A17B650A28226E52F46070361C6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Info.plist b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Info.plist index 6974542..2243fe6 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Info.plist +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.markdown index 1a51789..d07bb18 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.markdown @@ -5,7 +5,7 @@ This application makes use of the following third party libraries: The MIT License (MIT) -Copyright (c) 2016 Pay and Shop Ltd t/a Realex Payments +Copyright (c) 2017 Pay and Shop Ltd t/a Realex Payments Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23,5 +23,6 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -Generated by CocoaPods - http://cocoapods.org +THE SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.plist index 32ce635..3c86335 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-acknowledgements.plist @@ -16,7 +16,7 @@ FooterText The MIT License (MIT) -Copyright (c) 2016 Pay and Shop Ltd t/a Realex Payments +Copyright (c) 2017 Pay and Shop Ltd t/a Realex Payments Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -34,7 +34,10 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE. + + License + MIT Title RXPiOS Type @@ -42,7 +45,7 @@ THE SOFTWARE. FooterText - Generated by CocoaPods - http://cocoapods.org + Generated by CocoaPods - https://cocoapods.org Title Type diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-frameworks.sh index fd55bd7..9810b34 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-frameworks.sh @@ -16,7 +16,7 @@ install_framework() local source="$1" fi - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then echo "Symlinked..." @@ -59,8 +59,13 @@ code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" fi } @@ -84,8 +89,11 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "Pods-RXPiOS_Example/RXPiOS.framework" + install_framework "$BUILT_PRODUCTS_DIR/RXPiOS/RXPiOS.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "Pods-RXPiOS_Example/RXPiOS.framework" + install_framework "$BUILT_PRODUCTS_DIR/RXPiOS/RXPiOS.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait fi diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh index 16774fb..4602c68 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh @@ -1,65 +1,84 @@ #!/bin/sh set -e -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt > "$RESOURCES_TO_COPY" XCASSET_FILES=() -realpath() { - DIRECTORY="$(cd "${1%/*}" && pwd)" - FILENAME="${1##*/}" - echo "$DIRECTORY/$FILENAME" -} +case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac install_resource() { - case $1 in + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) - ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" + echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac } -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -68,28 +87,13 @@ rm -f "$RESOURCES_TO_COPY" if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) while read line; do - if [[ $line != "`realpath $PODS_ROOT`*" ]]; then + if [[ $line != "${PODS_ROOT}*" ]]; then XCASSET_FILES+=("$line") fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-umbrella.h b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-umbrella.h index 13fe7a2..7f90d36 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-umbrella.h +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-umbrella.h @@ -1,4 +1,14 @@ +#ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif FOUNDATION_EXPORT double Pods_RXPiOS_ExampleVersionNumber; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig index 97550c1..f168553 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig @@ -1,8 +1,10 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/RXPiOS.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS/RXPiOS.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-RXPiOS_Example -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig index 97550c1..f168553 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig @@ -1,8 +1,10 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/RXPiOS.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS/RXPiOS.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-RXPiOS_Example -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Info.plist b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Info.plist index 6974542..2243fe6 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Info.plist +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.markdown index 1a51789..d07bb18 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.markdown @@ -5,7 +5,7 @@ This application makes use of the following third party libraries: The MIT License (MIT) -Copyright (c) 2016 Pay and Shop Ltd t/a Realex Payments +Copyright (c) 2017 Pay and Shop Ltd t/a Realex Payments Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -23,5 +23,6 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -Generated by CocoaPods - http://cocoapods.org +THE SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.plist index 32ce635..3c86335 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-acknowledgements.plist @@ -16,7 +16,7 @@ FooterText The MIT License (MIT) -Copyright (c) 2016 Pay and Shop Ltd t/a Realex Payments +Copyright (c) 2017 Pay and Shop Ltd t/a Realex Payments Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -34,7 +34,10 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE. + + License + MIT Title RXPiOS Type @@ -42,7 +45,7 @@ THE SOFTWARE. FooterText - Generated by CocoaPods - http://cocoapods.org + Generated by CocoaPods - https://cocoapods.org Title Type diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-frameworks.sh index 279fcda..9810b34 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-frameworks.sh @@ -16,7 +16,7 @@ install_framework() local source="$1" fi - local destination="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then echo "Symlinked..." @@ -59,8 +59,13 @@ code_sign_if_enabled() { if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" fi } @@ -84,8 +89,11 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "Pods-RXPiOS_Tests/RXPiOS.framework" + install_framework "$BUILT_PRODUCTS_DIR/RXPiOS/RXPiOS.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "Pods-RXPiOS_Tests/RXPiOS.framework" + install_framework "$BUILT_PRODUCTS_DIR/RXPiOS/RXPiOS.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait fi diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh index 16774fb..4602c68 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh @@ -1,65 +1,84 @@ #!/bin/sh set -e -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt > "$RESOURCES_TO_COPY" XCASSET_FILES=() -realpath() { - DIRECTORY="$(cd "${1%/*}" && pwd)" - FILENAME="${1##*/}" - echo "$DIRECTORY/$FILENAME" -} +case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac install_resource() { - case $1 in + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} ;; *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" ;; *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" ;; *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" ;; *.xcmappingmodel) - echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" - xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" ;; *.xcassets) - ABSOLUTE_XCASSET_FILE=$(realpath "${PODS_ROOT}/$1") + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" + echo "$RESOURCE_PATH" + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" ;; esac } -mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -68,28 +87,13 @@ rm -f "$RESOURCES_TO_COPY" if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) while read line; do - if [[ $line != "`realpath $PODS_ROOT`*" ]]; then + if [[ $line != "${PODS_ROOT}*" ]]; then XCASSET_FILES+=("$line") fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-umbrella.h b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-umbrella.h index 816bff5..b134c2f 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-umbrella.h +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-umbrella.h @@ -1,4 +1,14 @@ +#ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif FOUNDATION_EXPORT double Pods_RXPiOS_TestsVersionNumber; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig index 7bb2499..f168553 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig @@ -1,8 +1,10 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/RXPiOS.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS/RXPiOS.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-RXPiOS_Tests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig index 7bb2499..f168553 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig @@ -1,8 +1,10 @@ EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/RXPiOS.framework/Headers" +OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS/RXPiOS.framework/Headers" OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-RXPiOS_Tests -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/RXPiOS/Info.plist b/Example/Pods/Target Support Files/RXPiOS/Info.plist index 6974542..21a30b4 100644 --- a/Example/Pods/Target Support Files/RXPiOS/Info.plist +++ b/Example/Pods/Target Support Files/RXPiOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 1.1.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/RXPiOS/RXPiOS-prefix.pch b/Example/Pods/Target Support Files/RXPiOS/RXPiOS-prefix.pch index aa992a4..beb2a24 100644 --- a/Example/Pods/Target Support Files/RXPiOS/RXPiOS-prefix.pch +++ b/Example/Pods/Target Support Files/RXPiOS/RXPiOS-prefix.pch @@ -1,4 +1,12 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/RXPiOS/RXPiOS-umbrella.h b/Example/Pods/Target Support Files/RXPiOS/RXPiOS-umbrella.h index 5357cb4..9056fca 100644 --- a/Example/Pods/Target Support Files/RXPiOS/RXPiOS-umbrella.h +++ b/Example/Pods/Target Support Files/RXPiOS/RXPiOS-umbrella.h @@ -1,4 +1,14 @@ +#ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif FOUNDATION_EXPORT double RXPiOSVersionNumber; diff --git a/Example/Pods/Target Support Files/RXPiOS/RXPiOS.xcconfig b/Example/Pods/Target Support Files/RXPiOS/RXPiOS.xcconfig index e897928..9565dd3 100644 --- a/Example/Pods/Target Support Files/RXPiOS/RXPiOS.xcconfig +++ b/Example/Pods/Target Support Files/RXPiOS/RXPiOS.xcconfig @@ -1,5 +1,10 @@ +CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RXPiOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/RXPiOS" "${PODS_ROOT}/Headers/Public" +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" +PODS_BUILD_DIR = $BUILD_DIR +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/RXPiOS.xcodeproj/project.pbxproj b/Example/RXPiOS.xcodeproj/project.pbxproj index 8193306..d929382 100644 --- a/Example/RXPiOS.xcodeproj/project.pbxproj +++ b/Example/RXPiOS.xcodeproj/project.pbxproj @@ -168,12 +168,12 @@ isa = PBXNativeTarget; buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "RXPiOS_Example" */; buildPhases = ( - FC01CAA2010F0593B37F1804 /* Check Pods Manifest.lock */, + FC01CAA2010F0593B37F1804 /* [CP] Check Pods Manifest.lock */, 607FACCC1AFB9204008FA782 /* Sources */, 607FACCD1AFB9204008FA782 /* Frameworks */, 607FACCE1AFB9204008FA782 /* Resources */, - 925E070AE29198B79C1A5124 /* Embed Pods Frameworks */, - E81DC22DC4F417575C5587EA /* Copy Pods Resources */, + 925E070AE29198B79C1A5124 /* [CP] Embed Pods Frameworks */, + E81DC22DC4F417575C5587EA /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -188,12 +188,12 @@ isa = PBXNativeTarget; buildConfigurationList = 607FACF21AFB9204008FA782 /* Build configuration list for PBXNativeTarget "RXPiOS_Tests" */; buildPhases = ( - 1419806CD3A0DCE0546986C6 /* Check Pods Manifest.lock */, + 1419806CD3A0DCE0546986C6 /* [CP] Check Pods Manifest.lock */, 607FACE11AFB9204008FA782 /* Sources */, 607FACE21AFB9204008FA782 /* Frameworks */, 607FACE31AFB9204008FA782 /* Resources */, - DAABF8E943A0D4CFD37FFD1A /* Embed Pods Frameworks */, - 522349400747F8503E9C5B46 /* Copy Pods Resources */, + DAABF8E943A0D4CFD37FFD1A /* [CP] Embed Pods Frameworks */, + 522349400747F8503E9C5B46 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -217,9 +217,11 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; + LastSwiftMigration = 0820; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; + LastSwiftMigration = 0820; TestTargetID = 607FACCF1AFB9204008FA782; }; }; @@ -264,29 +266,29 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1419806CD3A0DCE0546986C6 /* Check Pods Manifest.lock */ = { + 1419806CD3A0DCE0546986C6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Check Pods Manifest.lock"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - 522349400747F8503E9C5B46 /* Copy Pods Resources */ = { + 522349400747F8503E9C5B46 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Copy Pods Resources"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -294,14 +296,14 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 925E070AE29198B79C1A5124 /* Embed Pods Frameworks */ = { + 925E070AE29198B79C1A5124 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Embed Pods Frameworks"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -309,14 +311,14 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - DAABF8E943A0D4CFD37FFD1A /* Embed Pods Frameworks */ = { + DAABF8E943A0D4CFD37FFD1A /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Embed Pods Frameworks"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -324,14 +326,14 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E81DC22DC4F417575C5587EA /* Copy Pods Resources */ = { + E81DC22DC4F417575C5587EA /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Copy Pods Resources"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -339,19 +341,19 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - FC01CAA2010F0593B37F1804 /* Check Pods Manifest.lock */ = { + FC01CAA2010F0593B37F1804 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Check Pods Manifest.lock"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -498,6 +500,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -514,6 +517,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Release; }; @@ -533,6 +537,7 @@ INFOPLIST_FILE = Tests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RXPiOS_Example.app/RXPiOS_Example"; }; name = Debug; @@ -549,6 +554,7 @@ INFOPLIST_FILE = Tests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RXPiOS_Example.app/RXPiOS_Example"; }; name = Release; diff --git a/Example/RXPiOS/AppDelegate.swift b/Example/RXPiOS/AppDelegate.swift index b6921a2..9a5df0e 100644 --- a/Example/RXPiOS/AppDelegate.swift +++ b/Example/RXPiOS/AppDelegate.swift @@ -11,30 +11,30 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } - func applicationWillResignActive(application: UIApplication) { + 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) { + 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) { + 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) { + 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) { + func applicationWillTerminate(_ application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } diff --git a/Example/RXPiOS/Base.lproj/LaunchScreen.xib b/Example/RXPiOS/Base.lproj/LaunchScreen.xib index abbd3ad..d2ff907 100644 --- a/Example/RXPiOS/Base.lproj/LaunchScreen.xib +++ b/Example/RXPiOS/Base.lproj/LaunchScreen.xib @@ -1,8 +1,13 @@ - + + + + - + + + @@ -24,7 +29,7 @@ - + diff --git a/Example/RXPiOS/Base.lproj/Main.storyboard b/Example/RXPiOS/Base.lproj/Main.storyboard index c06e996..cf2b1a0 100644 --- a/Example/RXPiOS/Base.lproj/Main.storyboard +++ b/Example/RXPiOS/Base.lproj/Main.storyboard @@ -1,8 +1,12 @@ - + + + + - + + @@ -14,10 +18,10 @@ - + - - + diff --git a/Example/RXPiOS/ViewController.swift b/Example/RXPiOS/ViewController.swift index 3f9c202..9c4a3f6 100644 --- a/Example/RXPiOS/ViewController.swift +++ b/Example/RXPiOS/ViewController.swift @@ -19,13 +19,13 @@ class ViewController: UIViewController, HPPManagerDelegate { } - @IBAction func payButtonAction(sender: AnyObject) { + @IBAction func payButtonAction(_ sender: AnyObject) { let hppManager = HPPManager() - hppManager.HPPRequestProducerURL = NSURL(string: "https://myserver.com/hppRequestProducer") - hppManager.HPPURL = NSURL(string: "https://pay.sandbox.realexpayments.com/pay") - hppManager.HPPResponseConsumerURL = NSURL(string: "https://myserver.com/hppResponseConsumer") + hppManager.HPPRequestProducerURL = URL(string: "https://dev.rlxcarts.com/mobileSDKs/request.php") + hppManager.HPPURL = URL(string: "https://pay.sandbox.realexpayments.com/pay") + hppManager.HPPResponseConsumerURL = URL(string: "https://dev.rlxcarts.com/mobileSDKs/response.php") hppManager.merchantId = "realexsandbox" hppManager.account = "internet" @@ -39,12 +39,12 @@ class ViewController: UIViewController, HPPManagerDelegate { //MARK: - HPPManagerDelegate - func HPPManagerCompletedWithResult(result: Dictionary ) { + func HPPManagerCompletedWithResult(_ result: Dictionary ) { // success print(NSString(format: "%@", result) as String) } - func HPPManagerFailedWithError(error: NSError?) { + func HPPManagerFailedWithError(_ error: NSError?) { // error if let hppError = error { print(hppError.localizedDescription) diff --git a/Pod/Classes/RealexComponent/Dictionary+URLDictionary.swift b/Pod/Classes/RealexComponent/Dictionary+URLDictionary.swift index 87eb134..9ffa98b 100644 --- a/Pod/Classes/RealexComponent/Dictionary+URLDictionary.swift +++ b/Pod/Classes/RealexComponent/Dictionary+URLDictionary.swift @@ -20,7 +20,7 @@ extension Dictionary { let percentEscapedValue = (value as! String).stringByAddingPercentEncodingForURLQueryValue()! return "\(percentEscapedKey)=\(percentEscapedValue)" } - return parameterArray.joinWithSeparator("&") + return parameterArray.joined(separator: "&") } } diff --git a/Pod/Classes/RealexComponent/HPPManager.swift b/Pod/Classes/RealexComponent/HPPManager.swift index d6d03a4..d8640af 100644 --- a/Pod/Classes/RealexComponent/HPPManager.swift +++ b/Pod/Classes/RealexComponent/HPPManager.swift @@ -9,62 +9,62 @@ import UIKit */ @objc public protocol HPPManagerDelegate { - optional func HPPManagerCompletedWithResult(result: Dictionary ); - optional func HPPManagerFailedWithError(error: NSError?); - optional func HPPManagerCancelled(); + @objc optional func HPPManagerCompletedWithResult(_ result: Dictionary ); + @objc optional func HPPManagerFailedWithError(_ error: NSError?); + @objc optional func HPPManagerCancelled(); } /// The main object the host app creates. -public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate { +open class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate { /** * The request producer which takes the request from the component and encodes it using the shared secret stored on the server side. */ - public var HPPRequestProducerURL: NSURL! + open var HPPRequestProducerURL: URL! /** * The response consumer which takes the encoded response received back from HPP. */ - public var HPPResponseConsumerURL: NSURL! + open var HPPResponseConsumerURL: URL! /** * The HPP server where the component sends the encoded request. */ - public var HPPURL: NSURL! = NSURL(string: "https://pay.realexpayments.com/pay") + open var HPPURL: URL! = URL(string: "https://pay.realexpayments.com/pay") /** * The merchant ID supplied by Realex Payments – note this is not the merchant number supplied by your bank. */ - public var merchantId:String! = "" + open var merchantId:String! = "" /** * The sub-account to use for this transaction. If not present, the default sub-account will be used. */ - public var account:String! = "" + open var account:String! = "" /** * A unique alphanumeric id that’s used to identify the transaction. No spaces are allowed. */ - public var orderId:String! = "" + open var orderId:String! = "" /** * Total amount to authorise in the lowest unit of the currency – i.e. 100 euro would be entered as 10000. * If there is no decimal in the currency (e.g. JPY Yen) then contact Realex Payments. No decimal points are allowed. * Amount should be set to 0 for OTB transactions (i.e. where validate card only is set to 1). */ - public var amount:String! = "" + open var amount:String! = "" /** * A three-letter currency code (Eg. EUR, GBP). A list of currency codes can be provided by your account manager. */ - public var currency:String! = "" + open var currency:String! = "" /** * Date and time of the transaction. Entered in the following format: YYYYMMDDHHMMSS. Must be within 24 hours of the current time. */ - public var timestamp:String! = "" + open var timestamp:String! = "" /** * Used to signify whether or not you wish the transaction to be captured in the next batch. @@ -73,127 +73,127 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate * This option can be used if a merchant wishes to delay the payment until after the goods have been shipped. * Transactions can be settled for up to 115% of the original amount and must be settled within a certain period of time agreed with your issuing bank. */ - public var autoSettleFlag:String! = "" + open var autoSettleFlag:String! = "" /** * A freeform comment to describe the transaction. */ - public var commentOne:String! = "" + open var commentOne:String! = "" /** * A freeform comment to describe the transaction. */ - public var commentTwo:String! = "" + open var commentTwo:String! = "" /** * Used to signify whether or not you want a Transaction Suitability Score for this transaction. * Can be "0" for no and "1" for yes. */ - public var returnTss:String! = "" + open var returnTss:String! = "" /** * The postcode or ZIP of the shipping address. */ - public var shippingCode:String! = "" + open var shippingCode:String! = "" /** * The country of the shipping address. */ - public var shippingCountry:String! = "" + open var shippingCountry:String! = "" /** * The postcode or ZIP of the billing address. */ - public var billingCode:String! = "" + open var billingCode:String! = "" /** * The country of the billing address. */ - public var billingCountry:String! = "" + open var billingCountry:String! = "" /** * The customer number of the customer. You can send in any additional information about the transaction in this field, * which will be visible under the transaction in the RealControl application. */ - public var customerNumber:String! = "" + open var customerNumber:String! = "" /** * A variable reference also associated with this customer. You can send in any additional information about the transaction in this field, * which will be visible under the transaction in the RealControl application. */ - public var variableReference:String! = "" + open var variableReference:String! = "" /** * A product id associated with this product. You can send in any additional information about the transaction in this field, * which will be visible under the transaction in the RealControl application. */ - public var productId:String! = "" + open var productId:String! = "" /** * Used to set what language HPP is displayed in. Currently HPP is available in English, Spanish and German, with other languages to follow. * If the field is not sent in, the default language is the language that is set in your account configuration. This can be set by your account manager. */ - public var language:String! = "" + open var language:String! = "" /** * Used to set what text is displayed on the payment button for card transactions. If this field is not sent in, "Pay Now" is displayed on the button by default. */ - public var cardPaymentButtonText:String! = "" + open var cardPaymentButtonText:String! = "" /** * Enable card storage. */ - public var cardStorageEnable:String! = "" + open var cardStorageEnable:String! = "" /** * Offer to save the card. */ - public var offerSaveCard:String! = "" + open var offerSaveCard:String! = "" /** * The payer reference. */ - public var payerReference:String! = "" + open var payerReference:String! = "" /** * The payment reference. */ - public var paymentReference:String! = "" + open var paymentReference:String! = "" /** * Flag to indicate if the payer exists. */ - public var payerExists:String! = "" + open var payerExists:String! = "" /** * Used to identify an OTB transaction. */ - public var validateCardOnly:String! = "" + open var validateCardOnly:String! = "" /** * Transaction level configuration to enable/disable a DCC request. (Only if the merchant is configured). */ - public var dccEnable:String! = "" + open var dccEnable:String! = "" /** * Supplementary data to be sent to Realex Payments. This will be returned in the HPP response. */ - public var supplementaryData:Dictionary! = [:] + open var supplementaryData:Dictionary! = [:] /** * The HPPManager's delegate to receive the result of the interaction. */ - public var delegate:HPPManagerDelegate? + open var delegate:HPPManagerDelegate? /** * Dictionary to hold the reqeust sent to HPP. */ - private var HPPRequest: NSDictionary! + fileprivate var HPPRequest: NSDictionary! /** * The view owned by the HPP Manager, which encapsulates the web view. */ - private var hppViewController: HPPViewController! + fileprivate var hppViewController: HPPViewController! /** The initialiser which when HPPManager is created, also creaes and instance of the HPPViewController. @@ -210,12 +210,12 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - parameter viewController: The view controller from which HPPManager will display it's view. */ - public func presentViewInViewController(viewController: UIViewController) { + open func presentViewInViewController(_ viewController: UIViewController) { if self.HPPRequestProducerURL.absoluteString != "" { self.getHPPRequest() let navigationController = UINavigationController(rootViewController: self.hppViewController) - viewController.presentViewController(navigationController, animated: true, completion: nil) + viewController.present(navigationController, animated: true, completion: nil) } else { // error print("HPPRequestProducerURL can't be blank") @@ -229,7 +229,7 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - returns: The data encoded HTML string representation of the paramaters and values. */ - private func httpBodyWithJSON(json: NSDictionary) -> NSData { + fileprivate func httpBodyWithJSON(_ json: NSDictionary) -> Data { var parameters: Dictionary! = [:] for (key, value) in json { @@ -240,7 +240,7 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate parameters["HPP_ORIGIN"] = self.HPPRequestProducerURL.scheme! + "://" + self.HPPRequestProducerURL.host! let parameterString = parameters.stringFromHttpParameters() - return parameterString.dataUsingEncoding(NSUTF8StringEncoding)!; + return parameterString.data(using: String.Encoding.utf8)!; } /** @@ -248,7 +248,7 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - returns: The HTML string representation of the HPP paramaters which have been set. */ - private func getParametersString() -> String { + fileprivate func getParametersString() -> String { var parameters: Dictionary! = [:] if self.merchantId != "" { @@ -345,62 +345,62 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate /** Encoded whatever paramaters have been set and makes a network call to the HPP Request Producer to get the encoded request to sent to HPP. */ - private func getHPPRequest() { + fileprivate func getHPPRequest() { - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + UIApplication.shared.isNetworkActivityIndicatorVisible = true - let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData - let request = NSMutableURLRequest(URL: self.HPPRequestProducerURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) - request.HTTPMethod = "POST" + let cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData + let request = NSMutableURLRequest(url: self.HPPRequestProducerURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) + request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.setValue("*/*", forHTTPHeaderField: "Accept") - request.HTTPBody = self.getParametersString().dataUsingEncoding(NSUTF8StringEncoding) + request.httpBody = self.getParametersString().data(using: String.Encoding.utf8) - let session = NSURLSession.sharedSession() - let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in + let session = URLSession.shared + let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data:Data?, response:URLResponse?, error:Error?) -> Void in do { if let receivedData = data { // success - self.HPPRequest = try NSJSONSerialization.JSONObjectWithData(receivedData, options: []) as! NSDictionary + self.HPPRequest = try JSONSerialization.jsonObject(with: receivedData, options: []) as! NSDictionary self.getPaymentForm() } else { // error - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + UIApplication.shared.isNetworkActivityIndicatorVisible = false self.delegate?.HPPManagerFailedWithError!(error! as NSError) - self.hppViewController.dismissViewControllerAnimated(true, completion: nil) + self.hppViewController.dismiss(animated: true, completion: nil) } } catch { // error - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + UIApplication.shared.isNetworkActivityIndicatorVisible = false self.delegate?.HPPManagerFailedWithError!(error as NSError) - self.hppViewController.dismissViewControllerAnimated(true, completion: nil) + self.hppViewController.dismiss(animated: true, completion: nil) } - } + }) dataTask.resume() } /** Makes a network request to HPP, passing the encoded HPP Reqeust we received from the HPP Request Producer, the responce is a HTML Payment form which is displayed in the Web View. */ - private func getPaymentForm() { + fileprivate func getPaymentForm() { - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + UIApplication.shared.isNetworkActivityIndicatorVisible = true - let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData - let request = NSMutableURLRequest(URL: self.HPPURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) + let cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData + let request = NSMutableURLRequest(url: self.HPPURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) - request.HTTPMethod = "POST" + request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.setValue("text/html", forHTTPHeaderField: "Accept") - request.HTTPBody = self.httpBodyWithJSON(self.HPPRequest) + request.httpBody = self.httpBodyWithJSON(self.HPPRequest) //print("Request: \n" + (request.URL?.absoluteString)!) - self.hppViewController.loadRequest(request) + self.hppViewController.loadRequest(request as URLRequest) } @@ -409,44 +409,44 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - parameter hppResponse: The response from HPP which is to be decoded. */ - private func decodeHPPResponse(hppResponse: String) { + fileprivate func decodeHPPResponse(_ hppResponse: String) { - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + UIApplication.shared.isNetworkActivityIndicatorVisible = true - let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData - let request = NSMutableURLRequest(URL: self.HPPResponseConsumerURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) + let cachePolicy = URLRequest.CachePolicy.reloadIgnoringLocalCacheData + var request = URLRequest(url: self.HPPResponseConsumerURL, cachePolicy: cachePolicy, timeoutInterval: 30.0) - request.HTTPMethod = "POST" + request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.setValue("*/*", forHTTPHeaderField: "Accept") - + let parameters = "hppResponse=" + hppResponse - request.HTTPBody = parameters.dataUsingEncoding(NSUTF8StringEncoding) + request.httpBody = parameters.data(using: String.Encoding.utf8) - let session = NSURLSession.sharedSession() - let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in + let session = URLSession.shared + let dataTask = session.dataTask(with: request, completionHandler: { (data:Data?, response:URLResponse?, error:Error?) -> Void in do { // Stop the spinner - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + UIApplication.shared.isNetworkActivityIndicatorVisible = false if let receivedData = data { // success - let decodedResponse = try NSJSONSerialization.JSONObjectWithData(receivedData, options: [NSJSONReadingOptions.AllowFragments]) as! Dictionary + let decodedResponse = try JSONSerialization.jsonObject(with: receivedData, options: [JSONSerialization.ReadingOptions.allowFragments]) as! Dictionary self.delegate?.HPPManagerCompletedWithResult!(decodedResponse) } else { // error self.delegate?.HPPManagerFailedWithError!(error! as NSError) - self.hppViewController.dismissViewControllerAnimated(true, completion: nil) + self.hppViewController.dismiss(animated: true, completion: nil) } } catch { // error self.delegate?.HPPManagerFailedWithError!(error as NSError) - self.hppViewController.dismissViewControllerAnimated(true, completion: nil) + self.hppViewController.dismiss(animated: true, completion: nil) } - } + }) dataTask.resume() } @@ -459,7 +459,7 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - parameter hppResponse: The response the webview received from HPP. */ - func HPPViewControllerCompletedWithResult(hppResponse: String) { + func HPPViewControllerCompletedWithResult(_ hppResponse: String) { self.decodeHPPResponse(hppResponse); } @@ -469,9 +469,9 @@ public class HPPManager: NSObject, UIWebViewDelegate, HPPViewControllerDelegate - parameter error: The error which occured. */ - func HPPViewControllerFailedWithError(error: NSError?) { - self.delegate?.HPPManagerFailedWithError!(error) - self.hppViewController.dismissViewControllerAnimated(true, completion: nil) + func HPPViewControllerFailedWithError(_ error: Error?) { + self.delegate?.HPPManagerFailedWithError!(error as NSError?) + self.hppViewController.dismiss(animated: true, completion: nil) } /** diff --git a/Pod/Classes/RealexComponent/HPPViewController.swift b/Pod/Classes/RealexComponent/HPPViewController.swift index 8727e94..fe6ad1b 100644 --- a/Pod/Classes/RealexComponent/HPPViewController.swift +++ b/Pod/Classes/RealexComponent/HPPViewController.swift @@ -10,9 +10,9 @@ import WebKit * THe delegate callbacks which allow the HPPManager to receive back the results from the webview. */ @objc protocol HPPViewControllerDelegate { - optional func HPPViewControllerWillDismiss() - optional func HPPViewControllerCompletedWithResult(result: String); - optional func HPPViewControllerFailedWithError(error: NSError?); + @objc optional func HPPViewControllerWillDismiss() + @objc optional func HPPViewControllerCompletedWithResult(_ result: String); + @objc optional func HPPViewControllerFailedWithError(_ error: NSError?); } /// The Web View Controller which encapsulates the management of the webivew and the interaction with the HPP web page. @@ -40,7 +40,7 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, self.initaliseLegacyWebView() } - let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "closeView") + let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.plain, target: self, action: #selector(HPPViewController.closeView)) self.navigationItem.leftBarButtonItem = cancelButton } @@ -49,14 +49,14 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, initialises the WKWebview. */ - private func initialiseWebView() { + fileprivate func initialiseWebView() { let viewScriptString = "var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);"; - let viewScript = WKUserScript(source: viewScriptString, injectionTime: .AtDocumentEnd, forMainFrameOnly: true) + let viewScript = WKUserScript(source: viewScriptString, injectionTime: .atDocumentEnd, forMainFrameOnly: true) let userContentController = WKUserContentController() userContentController.addUserScript(viewScript) - userContentController.addScriptMessageHandler(self, name: "callbackHandler") + userContentController.add(self, name: "callbackHandler") let configuration = WKWebViewConfiguration() configuration.userContentController = userContentController @@ -70,7 +70,7 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, Initalises UIWebview. */ - private func initaliseLegacyWebView() { + fileprivate func initaliseLegacyWebView() { self.legacyWebView = UIWebView(frame: self.view.bounds) self.legacyWebView?.delegate = self @@ -83,7 +83,7 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, */ func closeView() { self.delegate?.HPPViewControllerWillDismiss!() - self.dismissViewControllerAnimated(true, completion: nil) + self.dismiss(animated: true, completion: nil) } /** @@ -91,31 +91,31 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, - parameter request: The network request to be loaded. */ - func loadRequest (request: NSURLRequest) { + func loadRequest (_ request: URLRequest) { if #available(iOS 9.0, *) { //load request in new WKWebView - let session = NSURLSession.sharedSession() - let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in + let session = URLSession.shared + let dataTask = session.dataTask(with: request, completionHandler: { (data:Data?, response:URLResponse?, error:Error?) -> Void in if error != nil { - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + UIApplication.shared.isNetworkActivityIndicatorVisible = false - self.delegate?.HPPViewControllerFailedWithError!(error) - self.dismissViewControllerAnimated(true, completion: nil) + self.delegate?.HPPViewControllerFailedWithError!(error as NSError?) + self.dismiss(animated: true, completion: nil) } - else if data?.length == 0 { - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + else if data?.count == 0 { + UIApplication.shared.isNetworkActivityIndicatorVisible = false self.delegate?.HPPViewControllerFailedWithError!(nil) - self.dismissViewControllerAnimated(true, completion: nil) + self.dismiss(animated: true, completion: nil) } else { - let htmlString = String(data: data!, encoding: NSUTF8StringEncoding) - self.webView!.loadHTMLString(htmlString!, baseURL: request.URL) + let htmlString = String(data: data!, encoding: String.Encoding.utf8) + self.webView!.loadHTMLString(htmlString!, baseURL: request.url) } - } + }) dataTask.resume() } else { @@ -129,46 +129,46 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, /* Start the network activity indicator when the web view is loading */ - func webView(webView: WKWebView, + func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation){ // Start the network activity indicator when the web view is loading - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + UIApplication.shared.isNetworkActivityIndicatorVisible = true } /* Stop the network activity indicator when the loading finishes */ - func webView(webView: WKWebView, - didFinishNavigation navigation: WKNavigation){ - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + func webView(_ webView: WKWebView, + didFinish navigation: WKNavigation){ + UIApplication.shared.isNetworkActivityIndicatorVisible = false } /* Stop the network activity indicator when the loading fails and report back to HPPManager */ - func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) { - UIApplication.sharedApplication().networkActivityIndicatorVisible = false - self.delegate?.HPPViewControllerFailedWithError!(error) + func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { + UIApplication.shared.isNetworkActivityIndicatorVisible = false + self.delegate?.HPPViewControllerFailedWithError!(error as NSError?) } /* allow all requests to be loaded */ - func webView(webView: WKWebView, - decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, - decisionHandler: (WKNavigationResponsePolicy) -> Void){ + func webView(_ webView: WKWebView, + decidePolicyFor navigationResponse: WKNavigationResponse, + decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void){ - decisionHandler(.Allow) + decisionHandler(.allow) } /* allow all navigation actions */ - func webView(webView: WKWebView, - decidePolicyForNavigationAction navigationAction: WKNavigationAction, - decisionHandler: (WKNavigationActionPolicy) -> Void) { + func webView(_ webView: WKWebView, + decidePolicyFor navigationAction: WKNavigationAction, + decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { - decisionHandler(.Allow) + decisionHandler(.allow) } //MARK: - Javascript Message Callback /* Delegate callback which receives any massages from the Javascript bridge. */ - func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) { + func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { if let messageString = message.body as? String { self.delegate?.HPPViewControllerCompletedWithResult!(messageString) @@ -178,7 +178,7 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, self.delegate?.HPPViewControllerFailedWithError!(nil) } - self.dismissViewControllerAnimated(true, completion: nil) + self.dismiss(animated: true, completion: nil) } @@ -186,36 +186,36 @@ class HPPViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, /* intercepts any URL load requests and checks the URL Scheme, if it is custom scheme 'callbackhandler' this is a message from the webpage and is reported back to the HPP Manager. */ - func webView(webView: UIWebView, - shouldStartLoadWithRequest request: NSURLRequest, + func webView(_ webView: UIWebView, + shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { - if (request.URL?.scheme == "callbackhandler") { + if (request.url?.scheme == "callbackhandler") { - let message = request.URL?.host!.stringByRemovingPercentEncoding! + let message = request.url?.host!.removingPercentEncoding self.delegate?.HPPViewControllerCompletedWithResult!(message!) - self.dismissViewControllerAnimated(true, completion: nil) + self.dismiss(animated: true, completion: nil) } return true } /* Start the network activity indicator when the web view is loading */ - func webViewDidStartLoad(webView: UIWebView) { - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + func webViewDidStartLoad(_ webView: UIWebView) { + UIApplication.shared.isNetworkActivityIndicatorVisible = true } /* Stop the network activity indicator when the loading finishes */ - func webViewDidFinishLoad(webView: UIWebView) { - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + func webViewDidFinishLoad(_ webView: UIWebView) { + UIApplication.shared.isNetworkActivityIndicatorVisible = false } /* Stop the network activity indicator when the loading fails and report back to HPPManager */ - func webView(webView: UIWebView, - didFailLoadWithError error: NSError?) { - UIApplication.sharedApplication().networkActivityIndicatorVisible = false - self.delegate?.HPPViewControllerFailedWithError!(error) + func webView(_ webView: UIWebView, + didFailLoadWithError error: Error) { + UIApplication.shared.isNetworkActivityIndicatorVisible = false + self.delegate?.HPPViewControllerFailedWithError!(error as NSError?) } } diff --git a/Pod/Classes/RealexComponent/String+URLString.swift b/Pod/Classes/RealexComponent/String+URLString.swift index 82cb0dc..ec80b58 100644 --- a/Pod/Classes/RealexComponent/String+URLString.swift +++ b/Pod/Classes/RealexComponent/String+URLString.swift @@ -15,10 +15,10 @@ extension String { - returns: The precent escaped string */ func stringByAddingPercentEncodingForURLQueryValue() -> String? { - let characterSet = NSMutableCharacterSet.alphanumericCharacterSet() - characterSet.addCharactersInString("-._~") + let characterSet = NSMutableCharacterSet.alphanumeric() + characterSet.addCharacters(in: "-._~") - return self.stringByAddingPercentEncodingWithAllowedCharacters(characterSet) + return self.addingPercentEncoding(withAllowedCharacters: characterSet as CharacterSet) } } diff --git a/Pod/Classes/RealexRemote/RealexRemote.swift b/Pod/Classes/RealexRemote/RealexRemote.swift index 3ca5e4d..173f54d 100644 --- a/Pod/Classes/RealexRemote/RealexRemote.swift +++ b/Pod/Classes/RealexRemote/RealexRemote.swift @@ -4,6 +4,19 @@ // import UIKit +// FIXME: comparison operators with optionals were removed from the Swift Standard Libary. +// Consider refactoring the code to use the non-optional operators. +fileprivate func < (lhs: T?, rhs: T?) -> Bool { + switch (lhs, rhs) { + case let (l?, r?): + return l < r + case (nil, _?): + return true + default: + return false + } +} + class RealexRemote: NSObject { @@ -14,13 +27,13 @@ class RealexRemote: NSObject { - returns: Returns true if the card number is valid */ - class func validateCardNumber(cardNumber: String?) -> Bool { + class func validateCardNumber(_ cardNumber: String?) -> Bool { if let number = cardNumber { // test numeric and length between 12 and 19 let regex = "^\\d{12,19}$" - if number.rangeOfString(regex, options: .RegularExpressionSearch) == nil { + if number.range(of: regex, options: .regularExpression) == nil { return false } @@ -29,10 +42,10 @@ class RealexRemote: NSObject { var digit = 0; var addend = 0; var timesTwo = false; + let length = number.characters.count - 1; - for (var i = (number.characters.count - 1); i >= 0; i--) { - digit = Int(number.substringWithRange(Range(start: number.startIndex.advancedBy(i), - end: number.startIndex.advancedBy(i+1))))! + for i in (0...length).reversed() { + digit = Int(number.substring(with: (number.characters.index(number.startIndex, offsetBy: i) ..< number.characters.index(number.startIndex, offsetBy: i+1))))! if (timesTwo) { addend = digit * 2; @@ -64,19 +77,19 @@ class RealexRemote: NSObject { - returns: Returns true if the card holder's name is valid */ - class func validateCardHolderName(cardHolderName: String?) -> Bool { + class func validateCardHolderName(_ cardHolderName: String?) -> Bool { // test for undefined if let name = cardHolderName { // test white space only - let trimmedString = name.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) + let trimmedString = name.trimmingCharacters(in: CharacterSet.whitespaces) if trimmedString == "" { return false } // test ISO/IEC 8859-1 characters between 1 and 100 let regex = "^[\\u0020-\\u007E\\u00A0-\\u00FF]{1,100}$" - if name.rangeOfString(regex, options: .RegularExpressionSearch) == nil { + if name.range(of: regex, options: .regularExpression) == nil { return false } @@ -93,11 +106,11 @@ class RealexRemote: NSObject { - returns: Returns true if the Amex CVN is valid */ - class func validateAmexCvn(cvn: String?) -> Bool { + class func validateAmexCvn(_ cvn: String?) -> Bool { if let cvnNumber = cvn { // test numeric length 4 let regex = "^\\d{4}$" - if cvnNumber.rangeOfString(regex, options: .RegularExpressionSearch) == nil { + if cvnNumber.range(of: regex, options: .regularExpression) == nil { return false } return true @@ -113,11 +126,11 @@ class RealexRemote: NSObject { - returns: Returns true if the CVN is valid */ - class func validateCvn(cvn: String?) -> Bool { + class func validateCvn(_ cvn: String?) -> Bool { if let cvnNumber = cvn { // test numeric length 3 let regex = "^\\d{3}$" - if cvnNumber.rangeOfString(regex, options: .RegularExpressionSearch) == nil { + if cvnNumber.range(of: regex, options: .regularExpression) == nil { return false } return true @@ -132,15 +145,14 @@ class RealexRemote: NSObject { - returns: Returns true if the expiry date is valid */ - class func validateExpiryDateFormat(expiryDate: String?) -> Bool { + class func validateExpiryDateFormat(_ expiryDate: String?) -> Bool { if let date = expiryDate { // test numeric of length 4 let regex = "^\\d{4}$" - if date.rangeOfString(regex, options: .RegularExpressionSearch) == nil { + if date.range(of: regex, options: .regularExpression) == nil { return false } - let month = Int(date.substringWithRange(Range(start: date.startIndex.advancedBy(0), - end: date.startIndex.advancedBy(2))))! + let month = Int(date.substring(with: (date.characters.index(date.startIndex, offsetBy: 0) ..< date.characters.index(date.startIndex, offsetBy: 2))))! // test month range is 1-12 if (month < 1 || month > 12) { @@ -158,25 +170,23 @@ class RealexRemote: NSObject { - returns: Returns true if the expiry date is not in the past */ - class func validateExpiryDateNotInPast(expiryDate: String?) -> Bool { + class func validateExpiryDateNotInPast(_ expiryDate: String?) -> Bool { if let date = expiryDate { // test valid format if self.validateExpiryDateFormat(date) == false { return false } - let month = Int(date.substringWithRange(Range(start: date.startIndex.advancedBy(0), - end: date.startIndex.advancedBy(2)))) - let year = Int(date.substringWithRange(Range(start: date.startIndex.advancedBy(2), - end: date.startIndex.advancedBy(4)))) + let month = Int(date.substring(with: (date.characters.index(date.startIndex, offsetBy: 0) ..< date.characters.index(date.startIndex, offsetBy: 2)))) + let year = Int(date.substring(with: (date.characters.index(date.startIndex, offsetBy: 2) ..< date.characters.index(date.startIndex, offsetBy: 4)))) - let components = NSCalendar.currentCalendar().components([NSCalendarUnit.Year, NSCalendarUnit.Month], fromDate: NSDate()) + let components = (Calendar.current as NSCalendar).components([NSCalendar.Unit.year, NSCalendar.Unit.month], from: Date()) let currentMonth = components.month let currentYear = components.year - if (year < (currentYear % 100)) { + if (year! < (currentYear! % 100)) { return false; - } else if (year == (currentYear % 100) && month < currentMonth) { + } else if (year! == (currentYear! % 100) && month! < currentMonth!) { return false; } return true From fe6880375f3e27c32b6ea787332827e0fae0ff26 Mon Sep 17 00:00:00 2001 From: Shane Logsdon Date: Fri, 28 Apr 2017 13:03:55 -0400 Subject: [PATCH 2/5] update tests to include RealexRemote tests --- Example/Tests/Tests.swift | 94 ++++++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 17 deletions(-) diff --git a/Example/Tests/Tests.swift b/Example/Tests/Tests.swift index 3e2c542..ff83912 100644 --- a/Example/Tests/Tests.swift +++ b/Example/Tests/Tests.swift @@ -1,29 +1,89 @@ -import UIKit +// +// rxp_iosTests.swift +// rxp-iosTests +// +// Copyright © 2015 realexpayments. All rights reserved. +// + import XCTest -import RXPiOS +@testable import RXPiOS -class Tests: XCTestCase { +class rxp_iosTests: XCTestCase { + + func testValidateCardNumber() { + XCTAssertTrue(RealexRemote.validateCardNumber("424242424242424242"), "valid card") + XCTAssertFalse(RealexRemote.validateCardNumber("a24242424242424242"), "non-numeric card") + XCTAssertFalse(RealexRemote.validateCardNumber("4242 424242424242"), "card with spaces") + XCTAssertFalse(RealexRemote.validateCardNumber(""), "empty card") + XCTAssertFalse(RealexRemote.validateCardNumber(nil), "undefined card") + XCTAssertFalse(RealexRemote.validateCardNumber(" "), "white space only") + XCTAssertFalse(RealexRemote.validateCardNumber("42424242420"), "length < 12") + XCTAssertFalse(RealexRemote.validateCardNumber("42424242424242424242"), "length > 19") + XCTAssertTrue(RealexRemote.validateCardNumber("424242424242"), "length = 12") + XCTAssertTrue(RealexRemote.validateCardNumber("4242424242424242428"), "length = 19") + XCTAssertFalse(RealexRemote.validateCardNumber("4242424242424242427"), "luhn check") + } - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. + func testValidateCardHolderName() { + XCTAssertTrue(RealexRemote.validateCardHolderName("Joe Smith"), "valid name") + XCTAssertFalse(RealexRemote.validateCardHolderName(""), "empty name") + XCTAssertFalse(RealexRemote.validateCardHolderName(nil), "undefined name") + XCTAssertFalse(RealexRemote.validateCardHolderName(" "), "white space only") + XCTAssertTrue(RealexRemote.validateCardHolderName("abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij"), "name of 100 characters") + XCTAssertFalse(RealexRemote.validateCardHolderName("abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghija"), "name over 100 characters") + XCTAssertTrue(RealexRemote.validateCardHolderName("!\" # $ % & \' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R"), "ISO/IEC 8859-1 characters 1") + XCTAssertTrue(RealexRemote.validateCardHolderName("S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ ¡ ¢ £ ¤ ¥"), "ISO/IEC 8859-1 characters 2") + XCTAssertTrue(RealexRemote.validateCardHolderName("¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö"), "ISO/IEC 8859-1 characters 3") + XCTAssertTrue(RealexRemote.validateCardHolderName("× Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ"), "ISO/IEC 8859-1 characters 4") + XCTAssertFalse(RealexRemote.validateCardHolderName("€"), "non-ISO/IEC 8859-1 characters") } - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() + func testValidateAmexCvn() { + XCTAssertTrue(RealexRemote.validateAmexCvn("1234"), "valid Amex CVN") + XCTAssertFalse(RealexRemote.validateAmexCvn(""), "empty CVN") + XCTAssertFalse(RealexRemote.validateAmexCvn(nil), "undefined CVN") + XCTAssertFalse(RealexRemote.validateAmexCvn(" "), "white space only") + XCTAssertFalse(RealexRemote.validateAmexCvn("12345"), "Amex CVN of 5 numbers") + XCTAssertFalse(RealexRemote.validateAmexCvn("123"), "Amex CVN of 3 numbers") + XCTAssertFalse(RealexRemote.validateAmexCvn("123a"), "non-numeric Amex CVN of 4 characters") } - func testExample() { - // This is an example of a functional test case. - XCTAssert(true, "Pass") + func testValidateCvn() { + XCTAssertTrue(RealexRemote.validateCvn("123"), "valid non-Amex CVN") + XCTAssertFalse(RealexRemote.validateCvn(""), "empty CVN") + XCTAssertFalse(RealexRemote.validateCvn(nil), "undefined CVN") + XCTAssertFalse(RealexRemote.validateCvn(" "), "white space only") + XCTAssertFalse(RealexRemote.validateCvn("1234"), "non-Amex CVN of 4 numbers") + XCTAssertFalse(RealexRemote.validateCvn("12"), "non-Amex CVN of 2 numbers") + XCTAssertFalse(RealexRemote.validateCvn("12a"), "non-numeric non-Amex CVN of 3 characters") } - func testPerformanceExample() { - // This is an example of a performance test case. - self.measureBlock() { - // Put the code you want to measure the time of here. - } + func testValidateExpiryDateFormat() { + XCTAssertTrue(RealexRemote.validateExpiryDateFormat("1299"), "valid date 1299") + XCTAssertTrue(RealexRemote.validateExpiryDateFormat("0199"), "valid date 0199") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("a199"), "non-numeric date") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("1 99"), "date with spaces") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat(""), "empty date") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat(nil), "undefined date") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat(" "), "white space only") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("12099"), "length > 4") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("199"), "length < 4") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("0099"), "invalid month 00") + XCTAssertFalse(RealexRemote.validateExpiryDateFormat("1399"), "invalid month 13") } + func testValidateExpiryDateNotInPast() { + XCTAssertFalse(RealexRemote.validateExpiryDateNotInPast("0615"), "date in past") + + let currentDate = Date() + let calendar = Calendar.current + let components = calendar.dateComponents([Calendar.Component.year, Calendar.Component.month], from: currentDate) + var nowMonth = String(describing: components.month!) + nowMonth = nowMonth.characters.count < 2 ? "0" + nowMonth : nowMonth + let year = String(describing: components.year!) + let nowYear = year.substring(from: year.index(year.startIndex, offsetBy: 2)) + let nowDate = nowMonth + nowYear + + XCTAssertTrue(RealexRemote.validateExpiryDateNotInPast(nowDate), "current month") + } } From f8403c4ffa7f6877d1ea267dc4add2f25fb9bfb9 Mon Sep 17 00:00:00 2001 From: Shane Logsdon Date: Mon, 8 May 2017 16:47:28 -0400 Subject: [PATCH 3/5] change deployment target to 8.0 --- Example/Podfile | 4 + .../Pods/Local Podspecs/RXPiOS.podspec.json | 2 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 309 +++++++++--------- .../Pods-RXPiOS_Example-resources.sh | 3 + .../Pods-RXPiOS_Example.debug.xcconfig | 3 +- .../Pods-RXPiOS_Example.release.xcconfig | 3 +- .../Pods-RXPiOS_Tests-resources.sh | 3 + .../Pods-RXPiOS_Tests.debug.xcconfig | 3 +- .../Pods-RXPiOS_Tests.release.xcconfig | 3 +- Example/RXPiOS.xcodeproj/project.pbxproj | 6 +- .../AppIcon.appiconset/Contents.json | 12 +- RXPiOS.podspec | 2 +- 12 files changed, 196 insertions(+), 157 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index d700081..1b6e8a8 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -2,9 +2,13 @@ source 'https://github.com/CocoaPods/Specs.git' use_frameworks! target 'RXPiOS_Example' do + platform :ios, '8.0' + pod "RXPiOS", :path => "../" end target 'RXPiOS_Tests' do + platform :ios, '8.0' + pod "RXPiOS", :path => "../" end diff --git a/Example/Pods/Local Podspecs/RXPiOS.podspec.json b/Example/Pods/Local Podspecs/RXPiOS.podspec.json index f1b4fac..cdfe933 100644 --- a/Example/Pods/Local Podspecs/RXPiOS.podspec.json +++ b/Example/Pods/Local Podspecs/RXPiOS.podspec.json @@ -13,7 +13,7 @@ "tag": "1.1.0" }, "platforms": { - "ios": "9.0" + "ios": "8.0" }, "requires_arc": true, "source_files": "Pod/Classes/**/*" diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 62fe940..3a30b75 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,19 +7,19 @@ objects = { /* Begin PBXBuildFile section */ + 1967DEBFAAF5675D169FE80240F95EBD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; 1DF6BECFFDC07ACE808F15B7B9B7347C /* Pods-RXPiOS_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 601AA33B9A1B2B82C58C48B4D5588A75 /* Pods-RXPiOS_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4018970D00E6444A20BE71C2CE67FC6A /* RealexRemote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */; }; - 4695EF157FB61DF757DED364A8797142 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; - 5BD555952D8153B5ADD90954DD818D92 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; + 619FE3EDD54745101E58073A535FA4E8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; 6B67D08C6D6CA3D31F8EFA605290E7E4 /* Pods-RXPiOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E6D37166F8CFE468C0B35B2CF5973B4 /* Pods-RXPiOS_Tests-dummy.m */; }; 74733745AF3F59F7B29E39F80428A7F0 /* Pods-RXPiOS_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59388EBB79B863D0244FFEF5970B6E90 /* Pods-RXPiOS_Example-dummy.m */; }; B9B32322B0BAFAA8F2B52C89AAE4955E /* Pods-RXPiOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FA93293E387E8AE92FFF6867DB6520D /* Pods-RXPiOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; B9C8C7FAC04BDA7CB0EF198EF7F6E313 /* HPPManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */; }; D72866C30DAC07D68B28B46CC253B886 /* HPPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */; }; - DF05BC4964C8AFE9D95034BE7E55C9A3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; E9FAECFBFDC42BB7218CC2AE0430153B /* RXPiOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F8FC37EB105BA387B8FC50B8E1DD46FB /* RXPiOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; EA1AC29D750A9E894EA29EA40024DFCA /* Dictionary+URLDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */; }; EB7432A5BC2BF13860E7F53CFEA708B5 /* String+URLString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */; }; + EC04B459517BF90C6B0BA5E7D3EEA66E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; FB93D01D1D507F899B81192A7B53D182 /* RXPiOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C900E949D7C598F793CDCED0F146A590 /* RXPiOS-dummy.m */; }; /* End PBXBuildFile section */ @@ -42,36 +42,36 @@ /* Begin PBXFileReference section */ 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RealexRemote.swift; sourceTree = ""; }; - 2B18EDA82243919BC377ADF98788851E /* Pods_RXPiOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DBCBB6F852E6516588FE661796F658D /* RXPiOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = RXPiOS.modulemap; sourceTree = ""; }; + 2B18EDA82243919BC377ADF98788851E /* Pods_RXPiOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_RXPiOS_Example.framework; path = "Pods-RXPiOS_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2DBCBB6F852E6516588FE661796F658D /* RXPiOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = RXPiOS.modulemap; sourceTree = ""; }; 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+URLString.swift"; sourceTree = ""; }; 3F632A3AE0A5753E0325161BF41BD1C9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 41FC14DE0DCF25C9209AA46A31EFFB8C /* Pods-RXPiOS_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-RXPiOS_Example.modulemap"; sourceTree = ""; }; + 41FC14DE0DCF25C9209AA46A31EFFB8C /* Pods-RXPiOS_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-RXPiOS_Example.modulemap"; sourceTree = ""; }; 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Example.debug.xcconfig"; sourceTree = ""; }; - 47E3E92E67A52D12F3D53C2B2FAE5131 /* Pods_RXPiOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RXPiOS_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 47E3E92E67A52D12F3D53C2B2FAE5131 /* Pods_RXPiOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_RXPiOS_Tests.framework; path = "Pods-RXPiOS_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 4FBF450930F26E43670A127B6D0A6BCB /* Pods-RXPiOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Tests.debug.xcconfig"; sourceTree = ""; }; 56205297DA8FBFCCE0DB780A4CB3B8C8 /* Pods-RXPiOS_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Example-frameworks.sh"; sourceTree = ""; }; 59388EBB79B863D0244FFEF5970B6E90 /* Pods-RXPiOS_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RXPiOS_Example-dummy.m"; sourceTree = ""; }; 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HPPViewController.swift; sourceTree = ""; }; 5E6D37166F8CFE468C0B35B2CF5973B4 /* Pods-RXPiOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RXPiOS_Tests-dummy.m"; sourceTree = ""; }; 601AA33B9A1B2B82C58C48B4D5588A75 /* Pods-RXPiOS_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-RXPiOS_Example-umbrella.h"; sourceTree = ""; }; + 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Tests.release.xcconfig"; sourceTree = ""; }; - 7442975895DB77CD6D947EA8D6E08992 /* RXPiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RXPiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7442975895DB77CD6D947EA8D6E08992 /* RXPiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RXPiOS.framework; path = RXPiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 756B9BD5F72F0EB6A8E1B844DA0644BE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 75CB018B9FCFFD95AF0CD4E9A1834131 /* Pods-RXPiOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RXPiOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; 7953D8988D06C7B435D410F915AF8E4C /* Pods-RXPiOS_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RXPiOS_Example-acknowledgements.markdown"; sourceTree = ""; }; 79935988B160174D93CE501E8E3799EC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7B9F3D9F9E2FA9A4F5DC9C35E0939FA0 /* Pods-RXPiOS_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RXPiOS_Example-acknowledgements.plist"; sourceTree = ""; }; 7FA93293E387E8AE92FFF6867DB6520D /* Pods-RXPiOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-RXPiOS_Tests-umbrella.h"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9455DD7091B967F06C3A2459C19D676C /* HPPManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HPPManager.swift; sourceTree = ""; }; 965293A91401DA6B3E69A4417DE588C4 /* Dictionary+URLDictionary.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Dictionary+URLDictionary.swift"; sourceTree = ""; }; B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RXPiOS_Example.release.xcconfig"; sourceTree = ""; }; - B4AC20533F874DFC739687F2BA6B068A /* Pods-RXPiOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-RXPiOS_Tests.modulemap"; sourceTree = ""; }; + B4AC20533F874DFC739687F2BA6B068A /* Pods-RXPiOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-RXPiOS_Tests.modulemap"; sourceTree = ""; }; B73DE492EAA55DE889CD03EA8E284A9C /* Pods-RXPiOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Tests-frameworks.sh"; sourceTree = ""; }; C1228CE8E1D35CD5030D0A877BB5F3C7 /* Pods-RXPiOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RXPiOS_Tests-acknowledgements.plist"; sourceTree = ""; }; C900E949D7C598F793CDCED0F146A590 /* RXPiOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RXPiOS-dummy.m"; sourceTree = ""; }; - CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; D752C01C378358DD2D0A86F4B22F7C26 /* RXPiOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RXPiOS-prefix.pch"; sourceTree = ""; }; E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RXPiOS.xcconfig; sourceTree = ""; }; F3411ACAD180C81FF14B77B8C96578B6 /* Pods-RXPiOS_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RXPiOS_Example-resources.sh"; sourceTree = ""; }; @@ -84,7 +84,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5BD555952D8153B5ADD90954DD818D92 /* Foundation.framework in Frameworks */, + 1967DEBFAAF5675D169FE80240F95EBD /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -92,7 +92,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DF05BC4964C8AFE9D95034BE7E55C9A3 /* Foundation.framework in Frameworks */, + 619FE3EDD54745101E58073A535FA4E8 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -100,7 +100,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4695EF157FB61DF757DED364A8797142 /* Foundation.framework in Frameworks */, + EC04B459517BF90C6B0BA5E7D3EEA66E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -123,6 +123,7 @@ 46C983B39AA7DEB60CDA9A5DEB381571 /* RealexComponent */, 57B021AB3B6F738E517A374589D1FA5C /* RealexRemote */, ); + name = Classes; path = Classes; sourceTree = ""; }; @@ -152,6 +153,7 @@ 5AA9B280125EAE9C16D0A0920E62D0E3 /* HPPViewController.swift */, 35BE1F406C40E0FB6DD54F74463AB9FF /* String+URLString.swift */, ); + name = RealexComponent; path = RealexComponent; sourceTree = ""; }; @@ -174,17 +176,10 @@ children = ( 27D24DE1BEA98469D56108AD819A8523 /* RealexRemote.swift */, ); + name = RealexRemote; path = RealexRemote; sourceTree = ""; }; - 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */ = { - isa = PBXGroup; - children = ( - CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; 7785D9888657CDCC2F4B645394B9561F /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -216,11 +211,19 @@ BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { isa = PBXGroup; children = ( - 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */, + D35AF013A5F0BAD4F32504907A52519E /* iOS */, ); name = Frameworks; sourceTree = ""; }; + D35AF013A5F0BAD4F32504907A52519E /* iOS */ = { + isa = PBXGroup; + children = ( + 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; EC9FC16E2EBB49A5438BA902E0975474 /* Products */ = { isa = PBXGroup; children = ( @@ -236,6 +239,7 @@ children = ( 12422750A424B6E8F15CD0AC1257EE72 /* Classes */, ); + name = Pod; path = Pod; sourceTree = ""; }; @@ -346,19 +350,8 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0730; + LastSwiftUpdateCheck = 0830; LastUpgradeCheck = 0700; - TargetAttributes = { - 3F9CAD5905EA9DEE8D64B95AE65DECF5 = { - LastSwiftMigration = 0820; - }; - 7FA4F02FCB3089D0D2120D4DF5202AE3 = { - LastSwiftMigration = 0820; - }; - ACA3F431CBF6521F60C9FA499A21156B = { - LastSwiftMigration = 0820; - }; - }; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -427,10 +420,11 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 163584BEA968BB19FC1DC675FA0FAE5C /* Release */ = { + 0103D66C056E0AB6C64FD8E954770873 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -445,13 +439,14 @@ GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = RXPiOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -459,43 +454,11 @@ }; name = Release; }; - 1DA44F80CAE6AF9910A314E9852997C5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = RXPiOS; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 2EE29581B9EF6CECD4DC57243F6FCD82 /* Release */ = { + 1246FF13E404B8555409FDA28387F944 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */; + baseConfigurationReference = 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -507,20 +470,21 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_RXPiOS_Example; + PRODUCT_NAME = Pods_RXPiOS_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -528,10 +492,55 @@ }; name = Release; }; - 491538890C9EC9C75DD716A841534338 /* Debug */ = { + 34FE9531DA9AF2820790339988D5FF41 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; + 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; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 413582EDCEAB01DC7B3FE95FE2484878 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 4FBF450930F26E43670A127B6D0A6BCB /* Pods-RXPiOS_Tests.debug.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -545,7 +554,7 @@ GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; @@ -557,6 +566,7 @@ PRODUCT_NAME = Pods_RXPiOS_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -565,46 +575,50 @@ }; name = Debug; }; - 5D298A17B650A28226E52F46070361C6 /* Release */ = { + 625830699AA6CB5D9560900BA7A9B32C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6DBAE1FE46E7ABBAEAAE5059ACA23B8A /* Pods-RXPiOS_Tests.release.xcconfig */; + baseConfigurationReference = 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_RXPiOS_Tests; + PRODUCT_NAME = Pods_RXPiOS_Example; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 6F6FD2CF5DA032657499675B4E61BE47 /* Debug */ = { + A54D4FE0CA7C529A3992B33136309782 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 47B2F95EDCE81A66A597FE9D4FC5D8FB /* Pods-RXPiOS_Example.debug.xcconfig */; + baseConfigurationReference = E6C96DD268D6A4352DEC36C3D18341B3 /* RXPiOS.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -616,20 +630,17 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/RXPiOS/RXPiOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/RXPiOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/RXPiOS/RXPiOS.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_RXPiOS_Example; + PRODUCT_NAME = RXPiOS; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -638,51 +649,12 @@ }; name = Debug; }; - AD24A8B772A3AB80F338EF6B452909A0 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - 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; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - F15098F4E21DD883A1445CB810C455E8 /* Debug */ = { + C104F7F091290C3D1E248192F07FE689 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -690,10 +662,13 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; @@ -714,7 +689,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; ONLY_ACTIVE_ARCH = YES; PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; @@ -722,14 +697,52 @@ }; name = Debug; }; + D0CABBE4B094A9C16FF91B642D38A9DB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B16E86038D80F98C5974108389C066BE /* Pods-RXPiOS_Example.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-RXPiOS_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_RXPiOS_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - F15098F4E21DD883A1445CB810C455E8 /* Debug */, - AD24A8B772A3AB80F338EF6B452909A0 /* Release */, + C104F7F091290C3D1E248192F07FE689 /* Debug */, + 34FE9531DA9AF2820790339988D5FF41 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -737,8 +750,8 @@ 6279EEA69BFE02DD740F50812032D753 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6F6FD2CF5DA032657499675B4E61BE47 /* Debug */, - 2EE29581B9EF6CECD4DC57243F6FCD82 /* Release */, + 625830699AA6CB5D9560900BA7A9B32C /* Debug */, + D0CABBE4B094A9C16FF91B642D38A9DB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -746,8 +759,8 @@ 7903924977EBC54244F6B11A0239AA50 /* Build configuration list for PBXNativeTarget "RXPiOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DA44F80CAE6AF9910A314E9852997C5 /* Debug */, - 163584BEA968BB19FC1DC675FA0FAE5C /* Release */, + A54D4FE0CA7C529A3992B33136309782 /* Debug */, + 0103D66C056E0AB6C64FD8E954770873 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -755,8 +768,8 @@ BFC9CF0FCE8E0F5AB5EBD21E209B5DD0 /* Build configuration list for PBXNativeTarget "Pods-RXPiOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 491538890C9EC9C75DD716A841534338 /* Debug */, - 5D298A17B650A28226E52F46070361C6 /* Release */, + 413582EDCEAB01DC7B3FE95FE2484878 /* Debug */, + 1246FF13E404B8555409FDA28387F944 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh index 4602c68..aed060f 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example-resources.sh @@ -21,6 +21,9 @@ case "${TARGETED_DEVICE_FAMILY}" in 3) TARGET_DEVICE_ARGS="--target-device tv" ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; *) TARGET_DEVICE_ARGS="--target-device mac" ;; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig index f168553..02d7a8a 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.debug.xcconfig @@ -1,4 +1,4 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' @@ -7,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig index f168553..02d7a8a 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Example/Pods-RXPiOS_Example.release.xcconfig @@ -1,4 +1,4 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' @@ -7,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh index 4602c68..aed060f 100755 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests-resources.sh @@ -21,6 +21,9 @@ case "${TARGETED_DEVICE_FAMILY}" in 3) TARGET_DEVICE_ARGS="--target-device tv" ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; *) TARGET_DEVICE_ARGS="--target-device mac" ;; diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig index f168553..02d7a8a 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.debug.xcconfig @@ -1,4 +1,4 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' @@ -7,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig index f168553..02d7a8a 100644 --- a/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-RXPiOS_Tests/Pods-RXPiOS_Tests.release.xcconfig @@ -1,4 +1,4 @@ -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RXPiOS" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' @@ -7,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "RXPiOS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = $BUILD_DIR PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/RXPiOS.xcodeproj/project.pbxproj b/Example/RXPiOS.xcodeproj/project.pbxproj index d929382..c32687e 100644 --- a/Example/RXPiOS.xcodeproj/project.pbxproj +++ b/Example/RXPiOS.xcodeproj/project.pbxproj @@ -278,7 +278,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; 522349400747F8503E9C5B46 /* [CP] Copy Pods Resources */ = { @@ -353,7 +353,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -497,6 +497,7 @@ "$(PROJECT_DIR)/build/Debug-iphoneos", ); INFOPLIST_FILE = RXPiOS/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -514,6 +515,7 @@ "$(PROJECT_DIR)/build/Debug-iphoneos", ); INFOPLIST_FILE = RXPiOS/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Example/RXPiOS/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/RXPiOS/Images.xcassets/AppIcon.appiconset/Contents.json index d3942e9..b8236c6 100644 --- a/Example/RXPiOS/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/RXPiOS/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", @@ -35,4 +45,4 @@ "version" : 1, "author" : "xcode" } -} +} \ No newline at end of file diff --git a/RXPiOS.podspec b/RXPiOS.podspec index 566cfcf..aa08ddc 100644 --- a/RXPiOS.podspec +++ b/RXPiOS.podspec @@ -26,7 +26,7 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/realexpayments/rxp-ios.git", :tag => "1.1.0" } # s.social_media_url = 'https://twitter.com/' - s.platform = :ios, '9.0' + s.platform = :ios, '8.0' s.requires_arc = true s.source_files = 'Pod/Classes/**/*' From b1769beeaf10be697ad83db0f076047aa70be4a6 Mon Sep 17 00:00:00 2001 From: Shane Logsdon Date: Mon, 8 May 2017 16:48:04 -0400 Subject: [PATCH 4/5] remove redundant data expressions --- Example/RXPiOS/ViewController.swift | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Example/RXPiOS/ViewController.swift b/Example/RXPiOS/ViewController.swift index 9c4a3f6..40e3ea1 100644 --- a/Example/RXPiOS/ViewController.swift +++ b/Example/RXPiOS/ViewController.swift @@ -27,11 +27,6 @@ class ViewController: UIViewController, HPPManagerDelegate { hppManager.HPPURL = URL(string: "https://pay.sandbox.realexpayments.com/pay") hppManager.HPPResponseConsumerURL = URL(string: "https://dev.rlxcarts.com/mobileSDKs/response.php") - hppManager.merchantId = "realexsandbox" - hppManager.account = "internet" - hppManager.amount = "100" - hppManager.currency = "EUR" - hppManager.delegate = self hppManager.presentViewInViewController(self) } From 9b62780ee69f0eec580f159093cb37512d86b915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=C3=A1n=20MacDomhnall?= Date: Tue, 4 Jul 2017 11:36:54 +0100 Subject: [PATCH 5/5] Removed dummy URLs, updated version number and supported iOS versions, --- Example/RXPiOS/ViewController.swift | 4 ++-- README.md | 4 ++-- RXPiOS.podspec | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Example/RXPiOS/ViewController.swift b/Example/RXPiOS/ViewController.swift index 40e3ea1..9ca689d 100644 --- a/Example/RXPiOS/ViewController.swift +++ b/Example/RXPiOS/ViewController.swift @@ -23,9 +23,9 @@ class ViewController: UIViewController, HPPManagerDelegate { let hppManager = HPPManager() - hppManager.HPPRequestProducerURL = URL(string: "https://dev.rlxcarts.com/mobileSDKs/request.php") + hppManager.HPPRequestProducerURL = URL(string: "https://myserver.com/hppRequestProducer") hppManager.HPPURL = URL(string: "https://pay.sandbox.realexpayments.com/pay") - hppManager.HPPResponseConsumerURL = URL(string: "https://dev.rlxcarts.com/mobileSDKs/response.php") + hppManager.HPPResponseConsumerURL = URL(string: "https://myserver.com/hppResponseConsumer") hppManager.delegate = self hppManager.presentViewInViewController(self) diff --git a/README.md b/README.md index 6adbde9..9f01970 100755 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ You can find more information on how to use this library and sign up for a free ## Requirements -- iOS 9.0+ +- iOS 8.0+ - Xcode 7.1.1+ ## Installation @@ -13,7 +13,7 @@ You can find more information on how to use this library and sign up for a free 1. To integrate the Realex Payments iOS Library into your Xcode project using CocoaPods, specify it in your podfile: ``` -pod 'RXPiOS', '~> 1.1.0' +pod 'RXPiOS', '~> 1.2.0' ``` 2. Then, run the following command: diff --git a/RXPiOS.podspec b/RXPiOS.podspec index aa08ddc..25d3114 100644 --- a/RXPiOS.podspec +++ b/RXPiOS.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "RXPiOS" - s.version = "1.1.0" + s.version = "1.2.0" s.summary = "The official Realex Payments iOS SDK for HPP and Remote API." # This description is used to generate tags and improve search results. @@ -23,7 +23,7 @@ Pod::Spec.new do |s| # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" s.license = 'MIT' s.author = { "Damian Sullivan" => "damian@brightstarsoftware.com", "Realex Payments" => "developers@realexpayments.com" } - s.source = { :git => "https://github.com/realexpayments/rxp-ios.git", :tag => "1.1.0" } + s.source = { :git => "https://github.com/realexpayments/rxp-ios.git", :tag => "1.2.0" } # s.social_media_url = 'https://twitter.com/' s.platform = :ios, '8.0'