From 91834404ed6be0b38498f8ceec3fd1fdd650fbea Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 20:46:59 +0100 Subject: [PATCH 01/12] fixes deprecated typo --- Classes/NSString+HTML.h | 2 +- Classes/NSString+XMLEntities.h | 2 +- Classes/NSString+XMLEntities.m | 2 +- MWFeedParser.xcodeproj/project.pbxproj | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Classes/NSString+HTML.h b/Classes/NSString+HTML.h index 334f27b..2fe0059 100644 --- a/Classes/NSString+HTML.h +++ b/Classes/NSString+HTML.h @@ -61,7 +61,7 @@ // - Adapted from http://regexlib.com/REDetails.aspx?regexp_id=96 - (NSString *)stringByLinkifyingURLs; -// DEPRECIATED - Please use NSString stringByConvertingHTMLToPlainText +// DEPRECATED - Please use NSString stringByConvertingHTMLToPlainText - (NSString *)stringByStrippingTags __attribute__((deprecated)); @end \ No newline at end of file diff --git a/Classes/NSString+XMLEntities.h b/Classes/NSString+XMLEntities.h index 7fb1617..fae4c94 100644 --- a/Classes/NSString+XMLEntities.h +++ b/Classes/NSString+XMLEntities.h @@ -32,7 +32,7 @@ // Import new HTML category #import "NSString+HTML.h" -// THIS CLASS IS DEPRECIATED 03/08/2010 +// THIS CLASS IS DEPRECATED 03/08/2010 // REPLACED BY NSString+HTML @interface NSString (XMLEntities) diff --git a/Classes/NSString+XMLEntities.m b/Classes/NSString+XMLEntities.m index a363592..09709c5 100644 --- a/Classes/NSString+XMLEntities.m +++ b/Classes/NSString+XMLEntities.m @@ -29,7 +29,7 @@ #import "NSString+XMLEntities.h" -// THIS CLASS IS DEPRECIATED 03/08/2010 +// THIS CLASS IS DEPRECATED 03/08/2010 // REPLACED BY NSString+HTML @implementation NSString (XMLEntities) diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index f7f461c..f408831 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -146,13 +146,13 @@ name = "Google Toolbox for Mac"; sourceTree = ""; }; - 4C65F3151208638600606CFC /* Depreciated */ = { + 4C65F3151208638600606CFC /* Deprecated */ = { isa = PBXGroup; children = ( 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */, 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */, ); - name = Depreciated; + name = Deprecated; sourceTree = ""; }; 4CC89602119F0CDE00ED61B6 /* MWFeedParser */ = { @@ -177,7 +177,7 @@ 4C661F42125E3F2D007F1792 /* NSDate+InternetDateTime.h */, 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */, 4C65F30F12085FF400606CFC /* Google Toolbox for Mac */, - 4C65F3151208638600606CFC /* Depreciated */, + 4C65F3151208638600606CFC /* Deprecated */, ); name = Categories; sourceTree = ""; From 6714dadbe4a5c88aff03e38409e6f17c3c14bc31 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 21:17:47 +0100 Subject: [PATCH 02/12] set project scheme as shared --- .../xcschemes/MWFeedParser.xcscheme | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser.xcscheme diff --git a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser.xcscheme b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser.xcscheme new file mode 100644 index 0000000..6726bd0 --- /dev/null +++ b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1d31a3e6da52e8dbd24e37925c6673901f078506 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 21:33:29 +0100 Subject: [PATCH 03/12] defines MWFeedParser framework for iOS --- MWFeedParser iOS Framework/Info.plist | 26 ++ .../MWFeedParser iOS Framework.h | 19 ++ MWFeedParser.xcodeproj/project.pbxproj | 274 +++++++++++++++++- .../MWFeedParser iOS Framework.xcscheme | 80 +++++ 4 files changed, 383 insertions(+), 16 deletions(-) create mode 100644 MWFeedParser iOS Framework/Info.plist create mode 100644 MWFeedParser iOS Framework/MWFeedParser iOS Framework.h create mode 100644 MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme diff --git a/MWFeedParser iOS Framework/Info.plist b/MWFeedParser iOS Framework/Info.plist new file mode 100644 index 0000000..d3de8ee --- /dev/null +++ b/MWFeedParser iOS Framework/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/MWFeedParser iOS Framework/MWFeedParser iOS Framework.h b/MWFeedParser iOS Framework/MWFeedParser iOS Framework.h new file mode 100644 index 0000000..1959f28 --- /dev/null +++ b/MWFeedParser iOS Framework/MWFeedParser iOS Framework.h @@ -0,0 +1,19 @@ +// +// MWFeedParser iOS Framework.h +// MWFeedParser iOS Framework +// +// Created by Tiago Martinho on 16/03/16. +// Copyright © 2016 Michael Waterfall. All rights reserved. +// + +#import + +//! Project version number for MWFeedParser iOS Framework. +FOUNDATION_EXPORT double MWFeedParser_iOS_FrameworkVersionNumber; + +//! Project version string for MWFeedParser iOS Framework. +FOUNDATION_EXPORT const unsigned char MWFeedParser_iOS_FrameworkVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index f408831..ed48553 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -15,18 +15,49 @@ 2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; }; 28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; }; 28F335F11007B36200424DE2 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F335F01007B36200424DE2 /* RootViewController.xib */; }; - 4C65F2EB12085ACE00606CFC /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; - 4C65F318120863F800606CFC /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; - 4C661F44125E3F2D007F1792 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; 4C661F8B125E50FA007F1792 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 4C661F8A125E50FA007F1792 /* Icon.png */; }; 4CAD0E1211DA03BD0086F5F8 /* DetailTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CAD0E1111DA03BD0086F5F8 /* DetailTableViewController.m */; }; - 4CC89609119F0CED00ED61B6 /* MWFeedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89604119F0CED00ED61B6 /* MWFeedParser.m */; }; - 4CC8960A119F0CED00ED61B6 /* MWFeedInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89606119F0CED00ED61B6 /* MWFeedInfo.m */; }; - 4CC8960B119F0CED00ED61B6 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; - 4CC8960F119F0CFB00ED61B6 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; 4CC89612119F0D0C00ED61B6 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89611119F0D0C00ED61B6 /* RootViewController.m */; }; + EAFC7D7B1C99F7A600C52496 /* MWFeedParser iOS Framework.h in Headers */ = {isa = PBXBuildFile; fileRef = EAFC7D7A1C99F7A600C52496 /* MWFeedParser iOS Framework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7D7F1C99F7A600C52496 /* MWFeedParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; }; + EAFC7D801C99F7A600C52496 /* MWFeedParser.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + EAFC7D851C99F7C000C52496 /* MWFeedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89603119F0CED00ED61B6 /* MWFeedParser.h */; }; + EAFC7D861C99F7C000C52496 /* MWFeedParser_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CAA79C911A406890009078E /* MWFeedParser_Private.h */; }; + EAFC7D871C99F7C000C52496 /* MWFeedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89604119F0CED00ED61B6 /* MWFeedParser.m */; }; + EAFC7D881C99F7C000C52496 /* MWFeedInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89605119F0CED00ED61B6 /* MWFeedInfo.h */; }; + EAFC7D891C99F7C000C52496 /* MWFeedInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89606119F0CED00ED61B6 /* MWFeedInfo.m */; }; + EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89607119F0CED00ED61B6 /* MWFeedItem.h */; }; + EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; + EAFC7D941C99F92200C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; + EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; + EAFC7D961C99F92200C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; + EAFC7D971C99F92200C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + EAFC7D7D1C99F7A600C52496 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = EAFC7D771C99F7A600C52496; + remoteInfo = "MWFeedParser iOS Framework"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + EAFC7D841C99F7A600C52496 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + EAFC7D801C99F7A600C52496 /* MWFeedParser.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 0E510BD41860B71700111161 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -60,6 +91,9 @@ 4CC89610119F0D0C00ED61B6 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = ""; }; 4CC89611119F0D0C00ED61B6 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = ""; }; 8D1107310486CEB800E47090 /* MWFeedParser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MWFeedParser-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; + EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MWFeedParser.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EAFC7D7A1C99F7A600C52496 /* MWFeedParser iOS Framework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWFeedParser iOS Framework.h"; sourceTree = ""; }; + EAFC7D7C1C99F7A600C52496 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -69,10 +103,18 @@ files = ( 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + EAFC7D7F1C99F7A600C52496 /* MWFeedParser.framework in Frameworks */, 2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7D741C99F7A600C52496 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -90,6 +132,7 @@ isa = PBXGroup; children = ( 1D6058910D05DD3D006BFB54 /* MWFeedParser.app */, + EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */, ); name = Products; sourceTree = ""; @@ -101,6 +144,7 @@ 080E96DDFE201D6D7F000001 /* Classes */, 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, + EAFC7D791C99F7A600C52496 /* MWFeedParser iOS Framework */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, ); @@ -195,8 +239,32 @@ name = App; sourceTree = ""; }; + EAFC7D791C99F7A600C52496 /* MWFeedParser iOS Framework */ = { + isa = PBXGroup; + children = ( + EAFC7D7A1C99F7A600C52496 /* MWFeedParser iOS Framework.h */, + EAFC7D7C1C99F7A600C52496 /* Info.plist */, + ); + path = "MWFeedParser iOS Framework"; + sourceTree = ""; + }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + EAFC7D751C99F7A600C52496 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7D7B1C99F7A600C52496 /* MWFeedParser iOS Framework.h in Headers */, + EAFC7D861C99F7C000C52496 /* MWFeedParser_Private.h in Headers */, + EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */, + EAFC7D881C99F7C000C52496 /* MWFeedInfo.h in Headers */, + EAFC7D851C99F7C000C52496 /* MWFeedParser.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ 1D6058900D05DD3D006BFB54 /* MWFeedParser */ = { isa = PBXNativeTarget; @@ -205,16 +273,36 @@ 1D60588D0D05DD3D006BFB54 /* Resources */, 1D60588E0D05DD3D006BFB54 /* Sources */, 1D60588F0D05DD3D006BFB54 /* Frameworks */, + EAFC7D841C99F7A600C52496 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + EAFC7D7E1C99F7A600C52496 /* PBXTargetDependency */, ); name = MWFeedParser; productName = MWFeedParser; productReference = 1D6058910D05DD3D006BFB54 /* MWFeedParser.app */; productType = "com.apple.product-type.application"; }; + EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */ = { + isa = PBXNativeTarget; + buildConfigurationList = EAFC7D831C99F7A600C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser iOS Framework" */; + buildPhases = ( + EAFC7D731C99F7A600C52496 /* Sources */, + EAFC7D741C99F7A600C52496 /* Frameworks */, + EAFC7D751C99F7A600C52496 /* Headers */, + EAFC7D761C99F7A600C52496 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "MWFeedParser iOS Framework"; + productName = "MWFeedParser iOS Framework"; + productReference = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -223,6 +311,15 @@ attributes = { LastUpgradeCheck = 0420; ORGANIZATIONNAME = "Michael Waterfall"; + TargetAttributes = { + 1D6058900D05DD3D006BFB54 = { + DevelopmentTeam = 4C34FT6ABU; + }; + EAFC7D771C99F7A600C52496 = { + CreatedOnToolsVersion = 7.2.1; + DevelopmentTeam = 4C34FT6ABU; + }; + }; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MWFeedParser" */; compatibilityVersion = "Xcode 3.2"; @@ -240,6 +337,7 @@ projectRoot = ""; targets = ( 1D6058900D05DD3D006BFB54 /* MWFeedParser */, + EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */, ); }; /* End PBXProject section */ @@ -256,6 +354,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7D761C99F7A600C52496 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -265,33 +370,51 @@ files = ( 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 1D3623260D0F684500981E51 /* MWFeedParserAppDelegate.m in Sources */, - 4CC89609119F0CED00ED61B6 /* MWFeedParser.m in Sources */, - 4CC8960A119F0CED00ED61B6 /* MWFeedInfo.m in Sources */, - 4CC8960B119F0CED00ED61B6 /* MWFeedItem.m in Sources */, - 4CC8960F119F0CFB00ED61B6 /* NSString+XMLEntities.m in Sources */, + EAFC7D971C99F92200C52496 /* NSString+XMLEntities.m in Sources */, + EAFC7D941C99F92200C52496 /* NSString+HTML.m in Sources */, 4CC89612119F0D0C00ED61B6 /* RootViewController.m in Sources */, + EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */, 4CAD0E1211DA03BD0086F5F8 /* DetailTableViewController.m in Sources */, - 4C65F2EB12085ACE00606CFC /* GTMNSString+HTML.m in Sources */, - 4C65F318120863F800606CFC /* NSString+HTML.m in Sources */, - 4C661F44125E3F2D007F1792 /* NSDate+InternetDateTime.m in Sources */, + EAFC7D961C99F92200C52496 /* GTMNSString+HTML.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EAFC7D731C99F7A600C52496 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */, + EAFC7D871C99F7C000C52496 /* MWFeedParser.m in Sources */, + EAFC7D891C99F7C000C52496 /* MWFeedInfo.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + EAFC7D7E1C99F7A600C52496 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */; + targetProxy = EAFC7D7D1C99F7A600C52496 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = MWFeedParser_Prefix.pch; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = ""; INFOPLIST_FILE = "MWFeedParser-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; VALIDATE_PRODUCT = NO; @@ -303,11 +426,14 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = MWFeedParser_Prefix.pch; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = ""; INFOPLIST_FILE = "MWFeedParser-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; VALIDATE_PRODUCT = NO; @@ -346,6 +472,114 @@ }; name = Release; }; + EAFC7D811C99F7A600C52496 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + 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; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser iOS Framework/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-iOS-Framework"; + PRODUCT_NAME = MWFeedParser; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + EAFC7D821C99F7A600C52496 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + 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_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser iOS Framework/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-iOS-Framework"; + PRODUCT_NAME = MWFeedParser; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -367,6 +601,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + EAFC7D831C99F7A600C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser iOS Framework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EAFC7D811C99F7A600C52496 /* Debug */, + EAFC7D821C99F7A600C52496 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; diff --git a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme new file mode 100644 index 0000000..8ef679f --- /dev/null +++ b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 41bb607dc870ed7d1852bb21f52cf29bcd389112 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 21:37:54 +0100 Subject: [PATCH 04/12] set deployment target to iOS 8.0 in order to use embedded frameworks --- MWFeedParser.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index ed48553..dd5ea60 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -413,7 +413,7 @@ GCC_PREFIX_HEADER = MWFeedParser_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "MWFeedParser-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; @@ -432,7 +432,7 @@ GCC_PREFIX_HEADER = MWFeedParser_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "MWFeedParser-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; @@ -516,7 +516,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; INFOPLIST_FILE = "MWFeedParser iOS Framework/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-iOS-Framework"; @@ -567,7 +567,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; INFOPLIST_FILE = "MWFeedParser iOS Framework/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-iOS-Framework"; From 342cb3d294cb7763648b08ffb3798dd2c9b49485 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 21:51:07 +0100 Subject: [PATCH 05/12] set framework headers as public --- MWFeedParser.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index dd5ea60..c5328cd 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -21,12 +21,12 @@ EAFC7D7B1C99F7A600C52496 /* MWFeedParser iOS Framework.h in Headers */ = {isa = PBXBuildFile; fileRef = EAFC7D7A1C99F7A600C52496 /* MWFeedParser iOS Framework.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7D7F1C99F7A600C52496 /* MWFeedParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; }; EAFC7D801C99F7A600C52496 /* MWFeedParser.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - EAFC7D851C99F7C000C52496 /* MWFeedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89603119F0CED00ED61B6 /* MWFeedParser.h */; }; + EAFC7D851C99F7C000C52496 /* MWFeedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89603119F0CED00ED61B6 /* MWFeedParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7D861C99F7C000C52496 /* MWFeedParser_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CAA79C911A406890009078E /* MWFeedParser_Private.h */; }; EAFC7D871C99F7C000C52496 /* MWFeedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89604119F0CED00ED61B6 /* MWFeedParser.m */; }; - EAFC7D881C99F7C000C52496 /* MWFeedInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89605119F0CED00ED61B6 /* MWFeedInfo.h */; }; + EAFC7D881C99F7C000C52496 /* MWFeedInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89605119F0CED00ED61B6 /* MWFeedInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7D891C99F7C000C52496 /* MWFeedInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89606119F0CED00ED61B6 /* MWFeedInfo.m */; }; - EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89607119F0CED00ED61B6 /* MWFeedItem.h */; }; + EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89607119F0CED00ED61B6 /* MWFeedItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; EAFC7D941C99F92200C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; From ea5edccc3f2a00f04c3f8f0436ce05a6e7f61adb Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:01:42 +0100 Subject: [PATCH 06/12] link categories with framework target instead of app --- MWFeedParser.xcodeproj/project.pbxproj | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index c5328cd..3f2c895 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -28,10 +28,15 @@ EAFC7D891C99F7C000C52496 /* MWFeedInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89606119F0CED00ED61B6 /* MWFeedInfo.m */; }; EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89607119F0CED00ED61B6 /* MWFeedItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; - EAFC7D941C99F92200C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; - EAFC7D961C99F92200C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; - EAFC7D971C99F92200C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; + EAFC7DE81C9A00E300C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; + EAFC7DE91C9A00E500C52496 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F316120863F800606CFC /* NSString+HTML.h */; }; + EAFC7DEA1C9A00EC00C52496 /* NSDate+InternetDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C661F42125E3F2D007F1792 /* NSDate+InternetDateTime.h */; }; + EAFC7DEB1C9A00EC00C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; + EAFC7DEC1C9A010000C52496 /* GTMNSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F2E912085ACE00606CFC /* GTMNSString+HTML.h */; }; + EAFC7DED1C9A010000C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; + EAFC7DEE1C9A010B00C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; }; + EAFC7DEF1C9A010B00C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -255,11 +260,15 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + EAFC7DEC1C9A010000C52496 /* GTMNSString+HTML.h in Headers */, EAFC7D7B1C99F7A600C52496 /* MWFeedParser iOS Framework.h in Headers */, + EAFC7DE91C9A00E500C52496 /* NSString+HTML.h in Headers */, + EAFC7DEA1C9A00EC00C52496 /* NSDate+InternetDateTime.h in Headers */, EAFC7D861C99F7C000C52496 /* MWFeedParser_Private.h in Headers */, EAFC7D8A1C99F7C000C52496 /* MWFeedItem.h in Headers */, EAFC7D881C99F7C000C52496 /* MWFeedInfo.h in Headers */, EAFC7D851C99F7C000C52496 /* MWFeedParser.h in Headers */, + EAFC7DEE1C9A010B00C52496 /* NSString+XMLEntities.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,12 +379,9 @@ files = ( 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 1D3623260D0F684500981E51 /* MWFeedParserAppDelegate.m in Sources */, - EAFC7D971C99F92200C52496 /* NSString+XMLEntities.m in Sources */, - EAFC7D941C99F92200C52496 /* NSString+HTML.m in Sources */, 4CC89612119F0D0C00ED61B6 /* RootViewController.m in Sources */, EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */, 4CAD0E1211DA03BD0086F5F8 /* DetailTableViewController.m in Sources */, - EAFC7D961C99F92200C52496 /* GTMNSString+HTML.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -383,9 +389,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + EAFC7DEF1C9A010B00C52496 /* NSString+XMLEntities.m in Sources */, EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */, EAFC7D871C99F7C000C52496 /* MWFeedParser.m in Sources */, + EAFC7DE81C9A00E300C52496 /* NSString+HTML.m in Sources */, EAFC7D891C99F7C000C52496 /* MWFeedInfo.m in Sources */, + EAFC7DEB1C9A00EC00C52496 /* NSDate+InternetDateTime.m in Sources */, + EAFC7DED1C9A010000C52496 /* GTMNSString+HTML.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From fb364deff132d517c8ca74a7141a57482798342a Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:03:41 +0100 Subject: [PATCH 07/12] set categories headers as public --- MWFeedParser.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index 3f2c895..524f192 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -30,12 +30,12 @@ EAFC7D8B1C99F7C000C52496 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; EAFC7D951C99F92200C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; EAFC7DE81C9A00E300C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; - EAFC7DE91C9A00E500C52496 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F316120863F800606CFC /* NSString+HTML.h */; }; - EAFC7DEA1C9A00EC00C52496 /* NSDate+InternetDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C661F42125E3F2D007F1792 /* NSDate+InternetDateTime.h */; }; + EAFC7DE91C9A00E500C52496 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F316120863F800606CFC /* NSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7DEA1C9A00EC00C52496 /* NSDate+InternetDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C661F42125E3F2D007F1792 /* NSDate+InternetDateTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7DEB1C9A00EC00C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; - EAFC7DEC1C9A010000C52496 /* GTMNSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F2E912085ACE00606CFC /* GTMNSString+HTML.h */; }; + EAFC7DEC1C9A010000C52496 /* GTMNSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F2E912085ACE00606CFC /* GTMNSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7DED1C9A010000C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; - EAFC7DEE1C9A010B00C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; }; + EAFC7DEE1C9A010B00C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7DEF1C9A010B00C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; /* End PBXBuildFile section */ From bb24f7d21ea7b026bcdab630267e8a7db6f7cb59 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:09:57 +0100 Subject: [PATCH 08/12] defines tvOS Framework target --- MWFeedParser tvOS Framework/Info.plist | 26 +++ .../MWFeedParser tvOS Framework.h | 19 ++ MWFeedParser.xcodeproj/project.pbxproj | 213 ++++++++++++++++++ .../MWFeedParser iOS Framework.xcscheme | 6 +- .../MWFeedParser tvOS Framework.xcscheme | 80 +++++++ 5 files changed, 341 insertions(+), 3 deletions(-) create mode 100644 MWFeedParser tvOS Framework/Info.plist create mode 100644 MWFeedParser tvOS Framework/MWFeedParser tvOS Framework.h create mode 100644 MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme diff --git a/MWFeedParser tvOS Framework/Info.plist b/MWFeedParser tvOS Framework/Info.plist new file mode 100644 index 0000000..d3de8ee --- /dev/null +++ b/MWFeedParser tvOS Framework/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/MWFeedParser tvOS Framework/MWFeedParser tvOS Framework.h b/MWFeedParser tvOS Framework/MWFeedParser tvOS Framework.h new file mode 100644 index 0000000..cbf3d16 --- /dev/null +++ b/MWFeedParser tvOS Framework/MWFeedParser tvOS Framework.h @@ -0,0 +1,19 @@ +// +// MWFeedParser tvOS Framework.h +// MWFeedParser tvOS Framework +// +// Created by Tiago Martinho on 16/03/16. +// Copyright © 2016 Michael Waterfall. All rights reserved. +// + +#import + +//! Project version number for MWFeedParser tvOS Framework. +FOUNDATION_EXPORT double MWFeedParser_tvOS_FrameworkVersionNumber; + +//! Project version string for MWFeedParser tvOS Framework. +FOUNDATION_EXPORT const unsigned char MWFeedParser_tvOS_FrameworkVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index 524f192..268ca6a 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -37,6 +37,22 @@ EAFC7DED1C9A010000C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; EAFC7DEE1C9A010B00C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7DEF1C9A010B00C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; + EAFC7DFB1C9A026F00C52496 /* MWFeedParser tvOS Framework.h in Headers */ = {isa = PBXBuildFile; fileRef = EAFC7DFA1C9A026E00C52496 /* MWFeedParser tvOS Framework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E001C9A02A600C52496 /* MWFeedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89603119F0CED00ED61B6 /* MWFeedParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E011C9A02A600C52496 /* MWFeedParser_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CAA79C911A406890009078E /* MWFeedParser_Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E021C9A02A600C52496 /* MWFeedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89604119F0CED00ED61B6 /* MWFeedParser.m */; }; + EAFC7E031C9A02A600C52496 /* MWFeedInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89605119F0CED00ED61B6 /* MWFeedInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E041C9A02A600C52496 /* MWFeedInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89606119F0CED00ED61B6 /* MWFeedInfo.m */; }; + EAFC7E051C9A02A600C52496 /* MWFeedItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC89607119F0CED00ED61B6 /* MWFeedItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E061C9A02A600C52496 /* MWFeedItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC89608119F0CED00ED61B6 /* MWFeedItem.m */; }; + EAFC7E071C9A02A900C52496 /* NSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F316120863F800606CFC /* NSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E081C9A02A900C52496 /* NSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F317120863F800606CFC /* NSString+HTML.m */; }; + EAFC7E091C9A02A900C52496 /* NSDate+InternetDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C661F42125E3F2D007F1792 /* NSDate+InternetDateTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E0A1C9A02A900C52496 /* NSDate+InternetDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C661F43125E3F2D007F1792 /* NSDate+InternetDateTime.m */; }; + EAFC7E0B1C9A02AD00C52496 /* GTMNSString+HTML.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C65F2E912085ACE00606CFC /* GTMNSString+HTML.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E0C1C9A02AD00C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; + EAFC7E0D1C9A02B000C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAFC7E0E1C9A02B000C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -99,6 +115,9 @@ EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MWFeedParser.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EAFC7D7A1C99F7A600C52496 /* MWFeedParser iOS Framework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWFeedParser iOS Framework.h"; sourceTree = ""; }; EAFC7D7C1C99F7A600C52496 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MWFeedParser.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EAFC7DFA1C9A026E00C52496 /* MWFeedParser tvOS Framework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWFeedParser tvOS Framework.h"; sourceTree = ""; }; + EAFC7DFC1C9A026F00C52496 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -120,6 +139,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7DF41C9A026E00C52496 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -138,6 +164,7 @@ children = ( 1D6058910D05DD3D006BFB54 /* MWFeedParser.app */, EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */, + EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */, ); name = Products; sourceTree = ""; @@ -150,6 +177,7 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */, 29B97317FDCFA39411CA2CEA /* Resources */, EAFC7D791C99F7A600C52496 /* MWFeedParser iOS Framework */, + EAFC7DF91C9A026E00C52496 /* MWFeedParser tvOS Framework */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, ); @@ -253,6 +281,15 @@ path = "MWFeedParser iOS Framework"; sourceTree = ""; }; + EAFC7DF91C9A026E00C52496 /* MWFeedParser tvOS Framework */ = { + isa = PBXGroup; + children = ( + EAFC7DFA1C9A026E00C52496 /* MWFeedParser tvOS Framework.h */, + EAFC7DFC1C9A026F00C52496 /* Info.plist */, + ); + path = "MWFeedParser tvOS Framework"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -272,6 +309,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7DF51C9A026E00C52496 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7E0B1C9A02AD00C52496 /* GTMNSString+HTML.h in Headers */, + EAFC7DFB1C9A026F00C52496 /* MWFeedParser tvOS Framework.h in Headers */, + EAFC7E071C9A02A900C52496 /* NSString+HTML.h in Headers */, + EAFC7E091C9A02A900C52496 /* NSDate+InternetDateTime.h in Headers */, + EAFC7E011C9A02A600C52496 /* MWFeedParser_Private.h in Headers */, + EAFC7E051C9A02A600C52496 /* MWFeedItem.h in Headers */, + EAFC7E031C9A02A600C52496 /* MWFeedInfo.h in Headers */, + EAFC7E001C9A02A600C52496 /* MWFeedParser.h in Headers */, + EAFC7E0D1C9A02B000C52496 /* NSString+XMLEntities.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -312,6 +365,24 @@ productReference = EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */; productType = "com.apple.product-type.framework"; }; + EAFC7DF71C9A026E00C52496 /* MWFeedParser tvOS Framework */ = { + isa = PBXNativeTarget; + buildConfigurationList = EAFC7DFD1C9A026F00C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser tvOS Framework" */; + buildPhases = ( + EAFC7DF31C9A026E00C52496 /* Sources */, + EAFC7DF41C9A026E00C52496 /* Frameworks */, + EAFC7DF51C9A026E00C52496 /* Headers */, + EAFC7DF61C9A026E00C52496 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "MWFeedParser tvOS Framework"; + productName = "MWFeedParser tvOS Framework"; + productReference = EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -328,6 +399,10 @@ CreatedOnToolsVersion = 7.2.1; DevelopmentTeam = 4C34FT6ABU; }; + EAFC7DF71C9A026E00C52496 = { + CreatedOnToolsVersion = 7.2.1; + DevelopmentTeam = 4C34FT6ABU; + }; }; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MWFeedParser" */; @@ -347,6 +422,7 @@ targets = ( 1D6058900D05DD3D006BFB54 /* MWFeedParser */, EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */, + EAFC7DF71C9A026E00C52496 /* MWFeedParser tvOS Framework */, ); }; /* End PBXProject section */ @@ -370,6 +446,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7DF61C9A026E00C52496 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -399,6 +482,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7DF31C9A026E00C52496 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7E0E1C9A02B000C52496 /* NSString+XMLEntities.m in Sources */, + EAFC7E061C9A02A600C52496 /* MWFeedItem.m in Sources */, + EAFC7E021C9A02A600C52496 /* MWFeedParser.m in Sources */, + EAFC7E081C9A02A900C52496 /* NSString+HTML.m in Sources */, + EAFC7E041C9A02A600C52496 /* MWFeedInfo.m in Sources */, + EAFC7E0A1C9A02A900C52496 /* NSDate+InternetDateTime.m in Sources */, + EAFC7E0C1C9A02AD00C52496 /* GTMNSString+HTML.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -590,6 +687,114 @@ }; name = Release; }; + EAFC7DFE1C9A026F00C52496 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + 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; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser tvOS Framework/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-tvOS-Framework"; + PRODUCT_NAME = MWFeedParser; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + EAFC7DFF1C9A026F00C52496 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + 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_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser tvOS Framework/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-tvOS-Framework"; + PRODUCT_NAME = MWFeedParser; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -619,6 +824,14 @@ ); defaultConfigurationIsVisible = 0; }; + EAFC7DFD1C9A026F00C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser tvOS Framework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EAFC7DFE1C9A026F00C52496 /* Debug */, + EAFC7DFF1C9A026F00C52496 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; diff --git a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme index 8ef679f..9f9a7d0 100644 --- a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme +++ b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser iOS Framework.xcscheme @@ -15,7 +15,7 @@ @@ -46,7 +46,7 @@ @@ -64,7 +64,7 @@ diff --git a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme new file mode 100644 index 0000000..21d4a94 --- /dev/null +++ b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From aff1406435783f0ec3bd8caab55b95e72a1854f1 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:25:07 +0100 Subject: [PATCH 09/12] adds tvOS application target to test tvOS framework is correctly compiled --- MWFeedParser tvOS/AppDelegate.swift | 46 ++++ .../Content.imageset/Contents.json | 12 + .../Back.imagestacklayer/Contents.json | 6 + .../App Icon - Large.imagestack/Contents.json | 17 ++ .../Content.imageset/Contents.json | 12 + .../Front.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 12 + .../Middle.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 12 + .../Back.imagestacklayer/Contents.json | 6 + .../App Icon - Small.imagestack/Contents.json | 17 ++ .../Content.imageset/Contents.json | 12 + .../Front.imagestacklayer/Contents.json | 6 + .../Content.imageset/Contents.json | 12 + .../Middle.imagestacklayer/Contents.json | 6 + .../Contents.json | 26 ++ .../Top Shelf Image.imageset/Contents.json | 12 + .../Assets.xcassets/Contents.json | 6 + .../LaunchImage.launchimage/Contents.json | 15 ++ MWFeedParser tvOS/Base.lproj/Main.storyboard | 25 ++ MWFeedParser tvOS/Info.plist | 37 +++ .../MWFeedParser tvOS-Bridging-Header.h | 1 + MWFeedParser tvOS/ViewController.swift | 28 +++ MWFeedParser tvOS/ds.m | 9 + MWFeedParser-Info.plist | 2 +- MWFeedParser.xcodeproj/project.pbxproj | 225 +++++++++++++++++- .../MWFeedParser tvOS Framework.xcscheme | 6 +- 27 files changed, 573 insertions(+), 7 deletions(-) create mode 100644 MWFeedParser tvOS/AppDelegate.swift create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/Contents.json create mode 100644 MWFeedParser tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 MWFeedParser tvOS/Base.lproj/Main.storyboard create mode 100644 MWFeedParser tvOS/Info.plist create mode 100644 MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h create mode 100644 MWFeedParser tvOS/ViewController.swift create mode 100644 MWFeedParser tvOS/ds.m diff --git a/MWFeedParser tvOS/AppDelegate.swift b/MWFeedParser tvOS/AppDelegate.swift new file mode 100644 index 0000000..689639b --- /dev/null +++ b/MWFeedParser tvOS/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// MWFeedParser tvOS +// +// Created by Tiago Martinho on 16/03/16. +// Copyright © 2016 Michael Waterfall. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(application: UIApplication) { + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json new file mode 100644 index 0000000..8bf75d9 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json new file mode 100644 index 0000000..8bf75d9 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 0000000..6a3dcfa --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,26 @@ +{ + "assets" : [ + { + "size" : "1280x768", + "idiom" : "tv", + "filename" : "App Icon - Large.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "400x240", + "idiom" : "tv", + "filename" : "App Icon - Small.imagestack", + "role" : "primary-app-icon" + }, + { + "size" : "1920x720", + "idiom" : "tv", + "filename" : "Top Shelf Image.imageset", + "role" : "top-shelf-image" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 0000000..0564959 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/Contents.json b/MWFeedParser tvOS/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/MWFeedParser tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000..29d94c7 --- /dev/null +++ b/MWFeedParser tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "orientation" : "landscape", + "idiom" : "tv", + "extent" : "full-screen", + "minimum-system-version" : "9.0", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/Base.lproj/Main.storyboard b/MWFeedParser tvOS/Base.lproj/Main.storyboard new file mode 100644 index 0000000..5eddf2f --- /dev/null +++ b/MWFeedParser tvOS/Base.lproj/Main.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MWFeedParser tvOS/Info.plist b/MWFeedParser tvOS/Info.plist new file mode 100644 index 0000000..c77c00c --- /dev/null +++ b/MWFeedParser tvOS/Info.plist @@ -0,0 +1,37 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + + diff --git a/MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h b/MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h new file mode 100644 index 0000000..d79013b --- /dev/null +++ b/MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h @@ -0,0 +1 @@ +#import "MWFeedParser/MWFeedParser.h" \ No newline at end of file diff --git a/MWFeedParser tvOS/ViewController.swift b/MWFeedParser tvOS/ViewController.swift new file mode 100644 index 0000000..e133ddb --- /dev/null +++ b/MWFeedParser tvOS/ViewController.swift @@ -0,0 +1,28 @@ +import UIKit + +class ViewController: UIViewController, MWFeedParserDelegate { + + override func viewDidLoad() { + super.viewDidLoad() + let URL = NSURL(string: "http://techcrunch.com/feed/") + let feedParser = MWFeedParser(feedURL: URL) + feedParser.delegate = self + feedParser.parse() + } + + func feedParserDidStart(parser: MWFeedParser) { + + } + + func feedParser(parser: MWFeedParser, didParseFeedItem item: MWFeedItem) { + + } + + func feedParserDidFinish(parser: MWFeedParser) { + + } + + func feedParser(parser: MWFeedParser!, didFailWithError error: NSError!) { + + } +} \ No newline at end of file diff --git a/MWFeedParser tvOS/ds.m b/MWFeedParser tvOS/ds.m new file mode 100644 index 0000000..381b3e2 --- /dev/null +++ b/MWFeedParser tvOS/ds.m @@ -0,0 +1,9 @@ +// +// ds.m +// MWFeedParser +// +// Created by Tiago Martinho on 16/03/16. +// Copyright © 2016 Michael Waterfall. All rights reserved. +// + +#import diff --git a/MWFeedParser-Info.plist b/MWFeedParser-Info.plist index 95f182e..3ecd686 100644 --- a/MWFeedParser-Info.plist +++ b/MWFeedParser-Info.plist @@ -11,7 +11,7 @@ CFBundleIconFile Icon.png CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/MWFeedParser.xcodeproj/project.pbxproj b/MWFeedParser.xcodeproj/project.pbxproj index 268ca6a..1f1b62e 100755 --- a/MWFeedParser.xcodeproj/project.pbxproj +++ b/MWFeedParser.xcodeproj/project.pbxproj @@ -53,6 +53,12 @@ EAFC7E0C1C9A02AD00C52496 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C65F2EA12085ACE00606CFC /* GTMNSString+HTML.m */; }; EAFC7E0D1C9A02B000C52496 /* NSString+XMLEntities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC8960D119F0CFB00ED61B6 /* NSString+XMLEntities.h */; settings = {ATTRIBUTES = (Public, ); }; }; EAFC7E0E1C9A02B000C52496 /* NSString+XMLEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC8960E119F0CFB00ED61B6 /* NSString+XMLEntities.m */; }; + EAFC7E1F1C9A058000C52496 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFC7E1E1C9A058000C52496 /* AppDelegate.swift */; }; + EAFC7E211C9A058000C52496 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFC7E201C9A058000C52496 /* ViewController.swift */; }; + EAFC7E241C9A058000C52496 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EAFC7E221C9A058000C52496 /* Main.storyboard */; }; + EAFC7E261C9A058100C52496 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAFC7E251C9A058100C52496 /* Assets.xcassets */; }; + EAFC7E2B1C9A05C300C52496 /* MWFeedParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */; }; + EAFC7E2D1C9A05DB00C52496 /* MWFeedParser.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -63,6 +69,13 @@ remoteGlobalIDString = EAFC7D771C99F7A600C52496; remoteInfo = "MWFeedParser iOS Framework"; }; + EAFC7E2E1C9A05DB00C52496 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = EAFC7DF71C9A026E00C52496; + remoteInfo = "MWFeedParser tvOS Framework"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -77,6 +90,17 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + EAFC7E301C9A05DB00C52496 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + EAFC7E2D1C9A05DB00C52496 /* MWFeedParser.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -118,6 +142,13 @@ EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MWFeedParser.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EAFC7DFA1C9A026E00C52496 /* MWFeedParser tvOS Framework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWFeedParser tvOS Framework.h"; sourceTree = ""; }; EAFC7DFC1C9A026F00C52496 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EAFC7E1C1C9A058000C52496 /* MWFeedParser tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MWFeedParser tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + EAFC7E1E1C9A058000C52496 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + EAFC7E201C9A058000C52496 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + EAFC7E231C9A058000C52496 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + EAFC7E251C9A058100C52496 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + EAFC7E271C9A058100C52496 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EAFC7E311C9A063400C52496 /* MWFeedParser tvOS-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWFeedParser tvOS-Bridging-Header.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -146,6 +177,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7E191C9A058000C52496 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7E2B1C9A05C300C52496 /* MWFeedParser.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -165,6 +204,7 @@ 1D6058910D05DD3D006BFB54 /* MWFeedParser.app */, EAFC7D781C99F7A600C52496 /* MWFeedParser.framework */, EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */, + EAFC7E1C1C9A058000C52496 /* MWFeedParser tvOS.app */, ); name = Products; sourceTree = ""; @@ -178,6 +218,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */, EAFC7D791C99F7A600C52496 /* MWFeedParser iOS Framework */, EAFC7DF91C9A026E00C52496 /* MWFeedParser tvOS Framework */, + EAFC7E1D1C9A058000C52496 /* MWFeedParser tvOS */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, ); @@ -290,6 +331,19 @@ path = "MWFeedParser tvOS Framework"; sourceTree = ""; }; + EAFC7E1D1C9A058000C52496 /* MWFeedParser tvOS */ = { + isa = PBXGroup; + children = ( + EAFC7E1E1C9A058000C52496 /* AppDelegate.swift */, + EAFC7E201C9A058000C52496 /* ViewController.swift */, + EAFC7E311C9A063400C52496 /* MWFeedParser tvOS-Bridging-Header.h */, + EAFC7E221C9A058000C52496 /* Main.storyboard */, + EAFC7E251C9A058100C52496 /* Assets.xcassets */, + EAFC7E271C9A058100C52496 /* Info.plist */, + ); + path = "MWFeedParser tvOS"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -383,13 +437,33 @@ productReference = EAFC7DF81C9A026E00C52496 /* MWFeedParser.framework */; productType = "com.apple.product-type.framework"; }; + EAFC7E1B1C9A058000C52496 /* MWFeedParser tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = EAFC7E281C9A058100C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser tvOS" */; + buildPhases = ( + EAFC7E181C9A058000C52496 /* Sources */, + EAFC7E191C9A058000C52496 /* Frameworks */, + EAFC7E1A1C9A058000C52496 /* Resources */, + EAFC7E301C9A05DB00C52496 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + EAFC7E2F1C9A05DB00C52496 /* PBXTargetDependency */, + ); + name = "MWFeedParser tvOS"; + productName = "MWFeedParser tvOS"; + productReference = EAFC7E1C1C9A058000C52496 /* MWFeedParser tvOS.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0420; + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0720; ORGANIZATIONNAME = "Michael Waterfall"; TargetAttributes = { 1D6058900D05DD3D006BFB54 = { @@ -403,6 +477,10 @@ CreatedOnToolsVersion = 7.2.1; DevelopmentTeam = 4C34FT6ABU; }; + EAFC7E1B1C9A058000C52496 = { + CreatedOnToolsVersion = 7.2.1; + DevelopmentTeam = 4C34FT6ABU; + }; }; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MWFeedParser" */; @@ -415,6 +493,7 @@ French, German, en, + Base, ); mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; projectDirPath = ""; @@ -422,6 +501,7 @@ targets = ( 1D6058900D05DD3D006BFB54 /* MWFeedParser */, EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */, + EAFC7E1B1C9A058000C52496 /* MWFeedParser tvOS */, EAFC7DF71C9A026E00C52496 /* MWFeedParser tvOS Framework */, ); }; @@ -453,6 +533,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7E1A1C9A058000C52496 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7E261C9A058100C52496 /* Assets.xcassets in Resources */, + EAFC7E241C9A058000C52496 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -496,6 +585,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + EAFC7E181C9A058000C52496 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EAFC7E211C9A058000C52496 /* ViewController.swift in Sources */, + EAFC7E1F1C9A058000C52496 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -504,8 +602,24 @@ target = EAFC7D771C99F7A600C52496 /* MWFeedParser iOS Framework */; targetProxy = EAFC7D7D1C99F7A600C52496 /* PBXContainerItemProxy */; }; + EAFC7E2F1C9A05DB00C52496 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = EAFC7DF71C9A026E00C52496 /* MWFeedParser tvOS Framework */; + targetProxy = EAFC7E2E1C9A05DB00C52496 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + EAFC7E221C9A058000C52496 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + EAFC7E231C9A058000C52496 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; @@ -522,6 +636,7 @@ INFOPLIST_FILE = "MWFeedParser-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; VALIDATE_PRODUCT = NO; @@ -541,6 +656,7 @@ INFOPLIST_FILE = "MWFeedParser-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = MWFeedParser; SDKROOT = iphoneos; VALIDATE_PRODUCT = NO; @@ -550,9 +666,9 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_ENABLE_OBJC_ARC = NO; CODE_SIGN_IDENTITY = ""; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_VERSION = com.apple.compilers.llvmgcc42; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -566,7 +682,6 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; CLANG_ENABLE_OBJC_ARC = NO; CODE_SIGN_IDENTITY = ""; GCC_C_LANGUAGE_STANDARD = c99; @@ -795,6 +910,102 @@ }; name = Release; }; + EAFC7E291C9A058100C52496 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_OBJC_BRIDGING_HEADER = "MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.1; + }; + name = Debug; + }; + EAFC7E2A1C9A058100C52496 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "MWFeedParser tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = "TM.MWFeedParser-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_OBJC_BRIDGING_HEADER = "MWFeedParser tvOS/MWFeedParser tvOS-Bridging-Header.h"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.1; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -832,6 +1043,14 @@ ); defaultConfigurationIsVisible = 0; }; + EAFC7E281C9A058100C52496 /* Build configuration list for PBXNativeTarget "MWFeedParser tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EAFC7E291C9A058100C52496 /* Debug */, + EAFC7E2A1C9A058100C52496 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; diff --git a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme index 21d4a94..f1a9858 100644 --- a/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme +++ b/MWFeedParser.xcodeproj/xcshareddata/xcschemes/MWFeedParser tvOS Framework.xcscheme @@ -15,7 +15,7 @@ @@ -46,7 +46,7 @@ @@ -64,7 +64,7 @@ From eb409dd8111f0f486c9f2f3e1b23d97e0be77ab9 Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:27:10 +0100 Subject: [PATCH 10/12] updates podspec to generate tag from version number --- MWFeedParser.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MWFeedParser.podspec b/MWFeedParser.podspec index a5f3b96..2a0c271 100644 --- a/MWFeedParser.podspec +++ b/MWFeedParser.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.author = { 'Michael Waterfall' => 'michaelwaterfall@gmail.com' } s.source = { :git => 'https://github.com/mwaterfall/MWFeedParser.git', - :tag => '1.0.1' + :tag => 's.version.to_s' } s.platform = :ios, '5.1.1' s.requires_arc = true From 50a6fee0063804fea34551139b9804c26058644d Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:29:38 +0100 Subject: [PATCH 11/12] updates podspec to contain tvOS platform --- MWFeedParser.podspec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MWFeedParser.podspec b/MWFeedParser.podspec index 2a0c271..801ed63 100644 --- a/MWFeedParser.podspec +++ b/MWFeedParser.podspec @@ -12,8 +12,9 @@ Pod::Spec.new do |s| :git => 'https://github.com/mwaterfall/MWFeedParser.git', :tag => 's.version.to_s' } - s.platform = :ios, '5.1.1' s.requires_arc = true + s.ios.deployment_target = '5.1.1' + s.tvos.deployment_target = '9.0' s.subspec 'FeedParser' do |ss| ss.source_files = 'Classes/MWFeedInfo.{h,m}', 'Classes/MWFeedItem.{h,m}', From 47f205147d45bca624bbc6a9c9c27907071f317d Mon Sep 17 00:00:00 2001 From: tiagomartinho Date: Wed, 16 Mar 2016 22:48:31 +0100 Subject: [PATCH 12/12] updates podspec --- MWFeedParser.podspec | 54 ++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/MWFeedParser.podspec b/MWFeedParser.podspec index 801ed63..002a068 100644 --- a/MWFeedParser.podspec +++ b/MWFeedParser.podspec @@ -12,24 +12,48 @@ Pod::Spec.new do |s| :git => 'https://github.com/mwaterfall/MWFeedParser.git', :tag => 's.version.to_s' } + s.requires_arc = true - s.ios.deployment_target = '5.1.1' + s.ios.deployment_target = '7.0' s.tvos.deployment_target = '9.0' - s.subspec 'FeedParser' do |ss| - ss.source_files = 'Classes/MWFeedInfo.{h,m}', - 'Classes/MWFeedItem.{h,m}', - 'Classes/MWFeedParser.{h,m}', - 'Classes/MWFeedParser_Private.h' - ss.dependency 'MWFeedParser/NSString+HTML' - ss.dependency 'MWFeedParser/NSDate+InternetDateTime' + + s.default_subspec = 'Default' + + # Default subspec that includes the most commonly-used components + s.subspec 'Default' do |default| + default.dependency 'MWFeedParser/Core' + default.dependency 'MWFeedParser/NSString+HTML' + default.dependency 'MWFeedParser/NSDate+InternetDateTime' end - s.subspec 'NSString+HTML' do |ss| - s.platform = nil - ss.source_files = 'Classes/NSString+HTML.{h,m}', - 'Classes/GTMNSString+HTML.{h,m}' + + # The Core subspec, containing the library core needed in all cases + s.subspec 'Core' do |core| + core.source_files = 'Classes/MWFeedInfo.{h,m}', + 'Classes/MWFeedItem.{h,m}', + 'Classes/MWFeedParser.{h,m}', + 'Classes/MWFeedParser_Private.h' + core.public_header_files = 'Classes/MWFeedInfo.h', + 'Classes/MWFeedItem.h', + 'Classes/MWFeedParser.h', + 'Classes/MWFeedParser_Private.h' end - s.subspec 'NSDate+InternetDateTime' do |ss| - s.platform = nil - ss.source_files = 'Classes/NSDate+InternetDateTime.{h,m}' + + s.subspec 'NSString+HTML' do |html| + html.source_files = 'Classes/NSString+HTML.{h,m}', + 'Classes/GTMNSString+HTML.{h,m}' + html.public_header_files = 'Classes/NSString+HTML.h', + 'Classes/GTMNSString+HTML.h' + end + + s.subspec 'NSDate+InternetDateTime' do |internetdatetime| + internetdatetime.source_files = 'Classes/NSDate+InternetDateTime.{h,m}' + internetdatetime.public_header_files = 'Classes/NSDate+InternetDateTime.h' + end + + s.subspec 'Swift' do |swift| + swift.ios.deployment_target = '8.0' + swift.osx.deployment_target = '10.9' + swift.watchos.deployment_target = '2.0' + swift.tvos.deployment_target = '9.0' end end