11 Commits
v2.0.0 ... main

Author SHA1 Message Date
relikd
66fdd6f257 fix: remove automatic developer certificate 2025-12-02 20:02:04 +01:00
relikd
225d856aa7 chore: update recommended settings 2025-12-01 19:41:56 +01:00
relikd
da9ad473a7 chore: project settings 2025-07-23 10:46:49 +02:00
relikd
70d35f304e chore: upgrade to new Xcode version 2025-07-21 14:47:53 +02:00
relikd
d44a38b729 fix: file permissions 2025-07-20 13:57:47 +02:00
relikd
1b81edbff7 feat: remove iOS target & update settings 2023-06-16 19:51:30 +02:00
relikd
e04a347c1e fix: migrate to newer xcode version 2022-09-30 17:46:04 +02:00
relikd
8d3326e532 linguist 2022-03-15 15:35:02 +01:00
relikd
40aa75beb1 syntax highlight in readme 2022-03-15 15:34:08 +01:00
relikd
43fffb3923 Upgrade recommended settings 2020-01-17 22:30:55 +01:00
relikd
2e46fdc8fd NS_ASSUME_NONNULL 2020-01-17 22:26:54 +01:00
30 changed files with 134 additions and 326 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
RSXML2Tests/Resources/* -linguist-detectable

View File

@@ -30,7 +30,7 @@ In the previous version, the test case for parsing a non-opml file (with `RSOPML
## Usage ## Usage
``` ```objc
RSXMLData *xmlData = [[RSXMLData alloc] initWithData:d urlString:@"https://www.example.org"]; RSXMLData *xmlData = [[RSXMLData alloc] initWithData:d urlString:@"https://www.example.org"];
// TODO: check xmlData.parserError // TODO: check xmlData.parserError
RSFeedParser *parser = [RSFeedParser parserWithXMLData:xmlData]; RSFeedParser *parser = [RSFeedParser parserWithXMLData:xmlData];
@@ -44,7 +44,7 @@ RSParsedFeed *document = [parser parseSync:&parseError];
If you don't care about the parser used to decode the data, `[xmlData getParser]` will return the most suitable parser. You can use that parser right away to call `parseSync:`. Anyway, you can also parse the XML file asynchronously with `parseAsync:`. If you don't care about the parser used to decode the data, `[xmlData getParser]` will return the most suitable parser. You can use that parser right away to call `parseSync:`. Anyway, you can also parse the XML file asynchronously with `parseAsync:`.
``` ```objc
[[xmlData getParser] parseAsync:^(RSParsedFeed *parsedDocument, NSError *error) { [[xmlData getParser] parseAsync:^(RSParsedFeed *parsedDocument, NSError *error) {
// process feed items ... // process feed items ...
}]; }];

View File

@@ -3,18 +3,14 @@
archiveVersion = 1; archiveVersion = 1;
classes = { classes = {
}; };
objectVersion = 46; objectVersion = 54;
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
54702A9821D407A00050A741 /* RSXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 54702A9621D4079F0050A741 /* RSXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 54702A9821D407A00050A741 /* RSXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 54702A9621D4079F0050A741 /* RSXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
54702A9921D407A00050A741 /* RSXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 54702A9621D4079F0050A741 /* RSXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
54702A9A21D407A00050A741 /* RSXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 54702A9721D407A00050A741 /* RSXMLParser.m */; }; 54702A9A21D407A00050A741 /* RSXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 54702A9721D407A00050A741 /* RSXMLParser.m */; };
54702A9B21D407A00050A741 /* RSXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 54702A9721D407A00050A741 /* RSXMLParser.m */; };
54C707DB21D42B710029BFF1 /* NSDictionary+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C707D921D42B710029BFF1 /* NSDictionary+RSXML.m */; }; 54C707DB21D42B710029BFF1 /* NSDictionary+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C707D921D42B710029BFF1 /* NSDictionary+RSXML.m */; };
54C707DC21D42B710029BFF1 /* NSDictionary+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C707D921D42B710029BFF1 /* NSDictionary+RSXML.m */; };
54C707DD21D42B710029BFF1 /* NSDictionary+RSXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 54C707DA21D42B710029BFF1 /* NSDictionary+RSXML.h */; }; 54C707DD21D42B710029BFF1 /* NSDictionary+RSXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 54C707DA21D42B710029BFF1 /* NSDictionary+RSXML.h */; };
54C707DE21D42B710029BFF1 /* NSDictionary+RSXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 54C707DA21D42B710029BFF1 /* NSDictionary+RSXML.h */; };
54FCE5F421493B5E00FABB65 /* Resources in Resources */ = {isa = PBXBuildFile; fileRef = 54FCE5F321493B5E00FABB65 /* Resources */; }; 54FCE5F421493B5E00FABB65 /* Resources in Resources */ = {isa = PBXBuildFile; fileRef = 54FCE5F321493B5E00FABB65 /* Resources */; };
8400B0F01B8C20A9004C4CFF /* RSXMLData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8400B0EE1B8C20A9004C4CFF /* RSXMLData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8400B0F01B8C20A9004C4CFF /* RSXMLData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8400B0EE1B8C20A9004C4CFF /* RSXMLData.h */; settings = {ATTRIBUTES = (Public, ); }; };
8400B0F11B8C20A9004C4CFF /* RSXMLData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8400B0EF1B8C20A9004C4CFF /* RSXMLData.m */; }; 8400B0F11B8C20A9004C4CFF /* RSXMLData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8400B0EF1B8C20A9004C4CFF /* RSXMLData.m */; };
@@ -39,38 +35,6 @@
8486F1161BB646140092794F /* NSString+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 8486F1141BB646140092794F /* NSString+RSXML.m */; }; 8486F1161BB646140092794F /* NSString+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 8486F1141BB646140092794F /* NSString+RSXML.m */; };
84AD0BF51E11A6FB00B38510 /* RSDateParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AD0BF31E11A6FB00B38510 /* RSDateParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84AD0BF51E11A6FB00B38510 /* RSDateParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AD0BF31E11A6FB00B38510 /* RSDateParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0BF61E11A6FB00B38510 /* RSDateParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0BF41E11A6FB00B38510 /* RSDateParser.m */; }; 84AD0BF61E11A6FB00B38510 /* RSDateParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0BF41E11A6FB00B38510 /* RSDateParser.m */; };
84AD0C0D1E11B8BE00B38510 /* RSXML2.h in Headers */ = {isa = PBXBuildFile; fileRef = 84F22C101B52DDEA000060CE /* RSXML2.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C0E1E11B8CA00B38510 /* RSXMLError.h in Headers */ = {isa = PBXBuildFile; fileRef = 84E4BE431C8B8FE400A90B41 /* RSXMLError.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C0F1E11B8CA00B38510 /* RSXMLError.m in Sources */ = {isa = PBXBuildFile; fileRef = 84E4BE441C8B8FE400A90B41 /* RSXMLError.m */; };
84AD0C101E11B8CA00B38510 /* RSSAXParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84F22C271B52DDFE000060CE /* RSSAXParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C111E11B8CA00B38510 /* RSSAXParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 84F22C281B52DDFE000060CE /* RSSAXParser.m */; };
84AD0C121E11B8CA00B38510 /* RSXMLData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8400B0EE1B8C20A9004C4CFF /* RSXMLData.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C131E11B8CA00B38510 /* RSXMLData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8400B0EF1B8C20A9004C4CFF /* RSXMLData.m */; };
84AD0C141E11B8CA00B38510 /* NSString+RSXML.h in Headers */ = {isa = PBXBuildFile; fileRef = 8486F1131BB646140092794F /* NSString+RSXML.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C151E11B8CA00B38510 /* NSString+RSXML.m in Sources */ = {isa = PBXBuildFile; fileRef = 8486F1141BB646140092794F /* NSString+RSXML.m */; };
84AD0C161E11B8CA00B38510 /* RSDateParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AD0BF31E11A6FB00B38510 /* RSDateParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C171E11B8CA00B38510 /* RSDateParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0BF41E11A6FB00B38510 /* RSDateParser.m */; };
84AD0C181E11B8CF00B38510 /* RSOPMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D51781B5311AD00E63D52 /* RSOPMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C191E11B8CF00B38510 /* RSOPMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D51791B5311AD00E63D52 /* RSOPMLParser.m */; };
84AD0C1C1E11B8CF00B38510 /* RSOPMLItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 8429D1B41C83A03100F97695 /* RSOPMLItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C1D1E11B8CF00B38510 /* RSOPMLItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 8429D1B51C83A03100F97695 /* RSOPMLItem.m */; };
84AD0C221E11B8D400B38510 /* RSFeedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D51501B52E80100E63D52 /* RSFeedParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C231E11B8D400B38510 /* RSFeedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D51511B52E80100E63D52 /* RSFeedParser.m */; };
84AD0C251E11B8D400B38510 /* RSAtomParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D514A1B52E7FC00E63D52 /* RSAtomParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C261E11B8D400B38510 /* RSAtomParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D514B1B52E7FC00E63D52 /* RSAtomParser.m */; };
84AD0C271E11B8D400B38510 /* RSRSSParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D51581B52E81B00E63D52 /* RSRSSParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C281E11B8D400B38510 /* RSRSSParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D51591B52E81B00E63D52 /* RSRSSParser.m */; };
84AD0C291E11B8D400B38510 /* RSParsedFeed.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D51741B530BF200E63D52 /* RSParsedFeed.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C2A1E11B8D400B38510 /* RSParsedFeed.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D51751B530BF200E63D52 /* RSParsedFeed.m */; };
84AD0C2B1E11B8D400B38510 /* RSParsedArticle.h in Headers */ = {isa = PBXBuildFile; fileRef = 842D51611B53058B00E63D52 /* RSParsedArticle.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C2C1E11B8D400B38510 /* RSParsedArticle.m in Sources */ = {isa = PBXBuildFile; fileRef = 842D51621B53058B00E63D52 /* RSParsedArticle.m */; };
84AD0C2F1E11B8DA00B38510 /* RSHTMLMetadataParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84BF3E141C8CDD1A005562D8 /* RSHTMLMetadataParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C301E11B8DA00B38510 /* RSHTMLMetadataParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BF3E151C8CDD1A005562D8 /* RSHTMLMetadataParser.m */; };
84AD0C311E11B8DA00B38510 /* RSHTMLMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 84BF3E1A1C8CDD6D005562D8 /* RSHTMLMetadata.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C321E11B8DA00B38510 /* RSHTMLMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BF3E1B1C8CDD6D005562D8 /* RSHTMLMetadata.m */; };
84AD0C331E11B8DA00B38510 /* RSHTMLLinkParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 8475C4061D57AB4C0076751E /* RSHTMLLinkParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
84AD0C341E11B8DA00B38510 /* RSHTMLLinkParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8475C4071D57AB4C0076751E /* RSHTMLLinkParser.m */; };
84AD0C391E11BAA800B38510 /* libxml2.2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 84AD0C381E11BAA800B38510 /* libxml2.2.tbd */; };
84AD0C3B1E11C2D500B38510 /* RSEntityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0C3A1E11C2D500B38510 /* RSEntityTests.m */; }; 84AD0C3B1E11C2D500B38510 /* RSEntityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0C3A1E11C2D500B38510 /* RSEntityTests.m */; };
84AD0C3D1E11D75400B38510 /* RSDateParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0C3C1E11D75400B38510 /* RSDateParserTests.m */; }; 84AD0C3D1E11D75400B38510 /* RSDateParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84AD0C3C1E11D75400B38510 /* RSDateParserTests.m */; };
84BF3E161C8CDD1A005562D8 /* RSHTMLMetadataParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84BF3E141C8CDD1A005562D8 /* RSHTMLMetadataParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84BF3E161C8CDD1A005562D8 /* RSHTMLMetadataParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84BF3E141C8CDD1A005562D8 /* RSHTMLMetadataParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -127,7 +91,6 @@
8486F1141BB646140092794F /* NSString+RSXML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+RSXML.m"; sourceTree = "<group>"; }; 8486F1141BB646140092794F /* NSString+RSXML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+RSXML.m"; sourceTree = "<group>"; };
84AD0BF31E11A6FB00B38510 /* RSDateParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDateParser.h; sourceTree = "<group>"; }; 84AD0BF31E11A6FB00B38510 /* RSDateParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSDateParser.h; sourceTree = "<group>"; };
84AD0BF41E11A6FB00B38510 /* RSDateParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDateParser.m; sourceTree = "<group>"; }; 84AD0BF41E11A6FB00B38510 /* RSDateParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSDateParser.m; sourceTree = "<group>"; };
84AD0C051E11B7D200B38510 /* RSXML2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RSXML2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
84AD0C081E11B7D200B38510 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 84AD0C081E11B7D200B38510 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
84AD0C381E11BAA800B38510 /* libxml2.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.2.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libxml2.2.tbd; sourceTree = DEVELOPER_DIR; }; 84AD0C381E11BAA800B38510 /* libxml2.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.2.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libxml2.2.tbd; sourceTree = DEVELOPER_DIR; };
84AD0C3A1E11C2D500B38510 /* RSEntityTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSEntityTests.m; sourceTree = "<group>"; }; 84AD0C3A1E11C2D500B38510 /* RSEntityTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RSEntityTests.m; sourceTree = "<group>"; };
@@ -151,14 +114,6 @@
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
84AD0C011E11B7D200B38510 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
84AD0C391E11BAA800B38510 /* libxml2.2.tbd in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
84F22C091B52DDEA000060CE /* Frameworks */ = { 84F22C091B52DDEA000060CE /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -281,7 +236,6 @@
children = ( children = (
84F22C0D1B52DDEA000060CE /* RSXML2.framework */, 84F22C0D1B52DDEA000060CE /* RSXML2.framework */,
84F22C171B52DDEA000060CE /* RSXML2Tests.xctest */, 84F22C171B52DDEA000060CE /* RSXML2Tests.xctest */,
84AD0C051E11B7D200B38510 /* RSXML2.framework */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -303,31 +257,6 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */ /* Begin PBXHeadersBuildPhase section */
84AD0C021E11B7D200B38510 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
84AD0C1C1E11B8CF00B38510 /* RSOPMLItem.h in Headers */,
84AD0C271E11B8D400B38510 /* RSRSSParser.h in Headers */,
84AD0C161E11B8CA00B38510 /* RSDateParser.h in Headers */,
54702A9921D407A00050A741 /* RSXMLParser.h in Headers */,
84AD0C101E11B8CA00B38510 /* RSSAXParser.h in Headers */,
84AD0C331E11B8DA00B38510 /* RSHTMLLinkParser.h in Headers */,
84AD0C2F1E11B8DA00B38510 /* RSHTMLMetadataParser.h in Headers */,
84AD0C251E11B8D400B38510 /* RSAtomParser.h in Headers */,
84AD0C121E11B8CA00B38510 /* RSXMLData.h in Headers */,
84AD0C311E11B8DA00B38510 /* RSHTMLMetadata.h in Headers */,
84AD0C221E11B8D400B38510 /* RSFeedParser.h in Headers */,
84AD0C0E1E11B8CA00B38510 /* RSXMLError.h in Headers */,
54C707DE21D42B710029BFF1 /* NSDictionary+RSXML.h in Headers */,
84AD0C2B1E11B8D400B38510 /* RSParsedArticle.h in Headers */,
84AD0C291E11B8D400B38510 /* RSParsedFeed.h in Headers */,
84AD0C181E11B8CF00B38510 /* RSOPMLParser.h in Headers */,
84AD0C141E11B8CA00B38510 /* NSString+RSXML.h in Headers */,
84AD0C0D1E11B8BE00B38510 /* RSXML2.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
84F22C0A1B52DDEA000060CE /* Headers */ = { 84F22C0A1B52DDEA000060CE /* Headers */ = {
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -356,24 +285,6 @@
/* End PBXHeadersBuildPhase section */ /* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
84AD0C041E11B7D200B38510 /* RSXML2iOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 84AD0C0A1E11B7D200B38510 /* Build configuration list for PBXNativeTarget "RSXML2iOS" */;
buildPhases = (
84AD0C001E11B7D200B38510 /* Sources */,
84AD0C011E11B7D200B38510 /* Frameworks */,
84AD0C021E11B7D200B38510 /* Headers */,
84AD0C031E11B7D200B38510 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = RSXML2iOS;
productName = RSXML2iOS;
productReference = 84AD0C051E11B7D200B38510 /* RSXML2.framework */;
productType = "com.apple.product-type.framework";
};
84F22C0C1B52DDEA000060CE /* RSXML2 */ = { 84F22C0C1B52DDEA000060CE /* RSXML2 */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 84F22C211B52DDEA000060CE /* Build configuration list for PBXNativeTarget "RSXML2" */; buildConfigurationList = 84F22C211B52DDEA000060CE /* Build configuration list for PBXNativeTarget "RSXML2" */;
@@ -416,13 +327,11 @@
84F22C041B52DDEA000060CE /* Project object */ = { 84F22C041B52DDEA000060CE /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 0700; LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 0700; LastUpgradeCheck = 2600;
ORGANIZATIONNAME = "relikd"; ORGANIZATIONNAME = relikd;
TargetAttributes = { TargetAttributes = {
84AD0C041E11B7D200B38510 = {
CreatedOnToolsVersion = 8.2.1;
};
84F22C0C1B52DDEA000060CE = { 84F22C0C1B52DDEA000060CE = {
CreatedOnToolsVersion = 7.0; CreatedOnToolsVersion = 7.0;
LastSwiftMigration = 0800; LastSwiftMigration = 0800;
@@ -435,10 +344,11 @@
}; };
buildConfigurationList = 84F22C071B52DDEA000060CE /* Build configuration list for PBXProject "RSXML2" */; buildConfigurationList = 84F22C071B52DDEA000060CE /* Build configuration list for PBXProject "RSXML2" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
en, en,
Base,
); );
mainGroup = 84F22C031B52DDEA000060CE; mainGroup = 84F22C031B52DDEA000060CE;
productRefGroup = 84F22C0E1B52DDEA000060CE /* Products */; productRefGroup = 84F22C0E1B52DDEA000060CE /* Products */;
@@ -447,19 +357,11 @@
targets = ( targets = (
84F22C0C1B52DDEA000060CE /* RSXML2 */, 84F22C0C1B52DDEA000060CE /* RSXML2 */,
84F22C161B52DDEA000060CE /* RSXML2Tests */, 84F22C161B52DDEA000060CE /* RSXML2Tests */,
84AD0C041E11B7D200B38510 /* RSXML2iOS */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */
84AD0C031E11B7D200B38510 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
84F22C0B1B52DDEA000060CE /* Resources */ = { 84F22C0B1B52DDEA000060CE /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -478,30 +380,6 @@
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
84AD0C001E11B7D200B38510 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84AD0C231E11B8D400B38510 /* RSFeedParser.m in Sources */,
84AD0C171E11B8CA00B38510 /* RSDateParser.m in Sources */,
84AD0C191E11B8CF00B38510 /* RSOPMLParser.m in Sources */,
84AD0C341E11B8DA00B38510 /* RSHTMLLinkParser.m in Sources */,
84AD0C281E11B8D400B38510 /* RSRSSParser.m in Sources */,
84AD0C151E11B8CA00B38510 /* NSString+RSXML.m in Sources */,
84AD0C2C1E11B8D400B38510 /* RSParsedArticle.m in Sources */,
84AD0C301E11B8DA00B38510 /* RSHTMLMetadataParser.m in Sources */,
84AD0C2A1E11B8D400B38510 /* RSParsedFeed.m in Sources */,
84AD0C261E11B8D400B38510 /* RSAtomParser.m in Sources */,
84AD0C1D1E11B8CF00B38510 /* RSOPMLItem.m in Sources */,
54702A9B21D407A00050A741 /* RSXMLParser.m in Sources */,
84AD0C131E11B8CA00B38510 /* RSXMLData.m in Sources */,
84AD0C321E11B8DA00B38510 /* RSHTMLMetadata.m in Sources */,
54C707DC21D42B710029BFF1 /* NSDictionary+RSXML.m in Sources */,
84AD0C111E11B8CA00B38510 /* RSSAXParser.m in Sources */,
84AD0C0F1E11B8CA00B38510 /* RSXMLError.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
84F22C081B52DDEA000060CE /* Sources */ = { 84F22C081B52DDEA000060CE /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -549,58 +427,6 @@
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
84AD0C0B1E11B7D200B38510 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREPROCESSOR_DEFINITIONS = (
"TARGET_IOS=1",
"$(inherited)",
);
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2iOS/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2iOS;
PRODUCT_NAME = RSXML2;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
84AD0C0C1E11B7D200B38510 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREPROCESSOR_DEFINITIONS = "TARGET_IOS=1";
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2iOS/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2iOS;
PRODUCT_NAME = RSXML2;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
84F22C1F1B52DDEA000060CE /* Debug */ = { 84F22C1F1B52DDEA000060CE /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
@@ -615,7 +441,9 @@
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_STATIC_ANALYZER_MODE = deep; CLANG_STATIC_ANALYZER_MODE = deep;
CLANG_WARN_ASSIGN_ENUM = YES; CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
@@ -626,14 +454,21 @@
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES; ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES; GCC_NO_COMMON_BLOCKS = YES;
@@ -660,7 +495,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
RUN_CLANG_STATIC_ANALYZER = YES; RUN_CLANG_STATIC_ANALYZER = YES;
@@ -684,7 +519,9 @@
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_STATIC_ANALYZER_MODE = deep; CLANG_STATIC_ANALYZER_MODE = deep;
CLANG_WARN_ASSIGN_ENUM = YES; CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
@@ -695,14 +532,21 @@
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES; GCC_NO_COMMON_BLOCKS = YES;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
@@ -723,7 +567,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
RUN_CLANG_STATIC_ANALYZER = YES; RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = macosx; SDKROOT = macosx;
@@ -738,17 +582,25 @@
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1; DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2/Info.plist; INFOPLIST_FILE = RSXML2/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2; PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0; SWIFT_VERSION = 3.0;
@@ -761,17 +613,25 @@
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1; DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2/Info.plist; INFOPLIST_FILE = RSXML2/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2; PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0; SWIFT_VERSION = 3.0;
}; };
@@ -780,11 +640,15 @@
84F22C251B52DDEA000060CE /* Debug */ = { 84F22C251B52DDEA000060CE /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2Tests/Info.plist; INFOPLIST_FILE = RSXML2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2Tests; PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2Tests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0; SWIFT_VERSION = 3.0;
@@ -794,11 +658,15 @@
84F22C261B52DDEA000060CE /* Release */ = { 84F22C261B52DDEA000060CE /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEAD_CODE_STRIPPING = YES;
HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2"; HEADER_SEARCH_PATHS = "${SDKROOT}/usr/include/libxml2";
INFOPLIST_FILE = RSXML2Tests/Info.plist; INFOPLIST_FILE = RSXML2Tests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2Tests; PRODUCT_BUNDLE_IDENTIFIER = de.relikd.RSXML2Tests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0; SWIFT_VERSION = 3.0;
@@ -808,15 +676,6 @@
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
84AD0C0A1E11B7D200B38510 /* Build configuration list for PBXNativeTarget "RSXML2iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
84AD0C0B1E11B7D200B38510 /* Debug */,
84AD0C0C1E11B7D200B38510 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
84F22C071B52DDEA000060CE /* Build configuration list for PBXProject "RSXML2" */ = { 84F22C071B52DDEA000060CE /* Build configuration list for PBXProject "RSXML2" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0830" LastUpgradeVersion = "2600"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@@ -27,6 +27,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84F22C0C1B52DDEA000060CE"
BuildableName = "RSXML2.framework"
BlueprintName = "RSXML2"
ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables> <Testables>
<TestableReference <TestableReference
skipped = "NO"> skipped = "NO">
@@ -39,17 +48,6 @@
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84F22C0C1B52DDEA000060CE"
BuildableName = "RSXML2.framework"
BlueprintName = "RSXML2"
ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
@@ -70,8 +68,6 @@
ReferencedContainer = "container:RSXML2.xcodeproj"> ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference> </BuildableReference>
</MacroExpansion> </MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Release"

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0830"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84AD0C041E11B7D200B38510"
BuildableName = "RSXML2.framework"
BlueprintName = "RSXML2iOS"
ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84AD0C041E11B7D200B38510"
BuildableName = "RSXML2.framework"
BlueprintName = "RSXML2iOS"
ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84AD0C041E11B7D200B38510"
BuildableName = "RSXML2.framework"
BlueprintName = "RSXML2iOS"
ReferencedContainer = "container:RSXML2.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -23,6 +23,10 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSDictionary (RSXML) @interface NSDictionary (RSXML)
- (nullable id)rsxml_objectForCaseInsensitiveKey:(NSString *)key; - (nullable id)rsxml_objectForCaseInsensitiveKey:(NSString *)key;
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -22,7 +22,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSString (RSXML) @interface NSString (RSXML)
@@ -32,3 +34,4 @@
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
#import "RSFeedParser.h" #import <RSXML2/RSFeedParser.h>
// <feed> <entry> // <feed> <entry>
// https://validator.w3.org/feed/docs/rfc4287.html // https://validator.w3.org/feed/docs/rfc4287.html

0
RSXML2/RSAtomParser.m Executable file → Normal file
View File

View File

@@ -21,7 +21,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
/*Common web dates -- RFC 822 and 8601 -- are handled here: /*Common web dates -- RFC 822 and 8601 -- are handled here:

View File

@@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
#import "RSXMLParser.h" #import <RSXML2/RSXMLParser.h>
@class RSParsedFeed, RSParsedArticle; @class RSParsedFeed, RSParsedArticle;

View File

@@ -22,8 +22,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
#import "RSXMLParser.h" #import <RSXML2/RSXMLParser.h>
@class RSHTMLMetadataAnchor; @class RSHTMLMetadataAnchor;

View File

@@ -22,8 +22,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
@import CoreGraphics; #import <CoreGraphics/CoreGraphics.h>
typedef enum { typedef enum {
RSFeedTypeNone, RSFeedTypeNone,
@@ -31,6 +31,8 @@ typedef enum {
RSFeedTypeAtom RSFeedTypeAtom
} RSFeedType; } RSFeedType;
NS_ASSUME_NONNULL_BEGIN
RSFeedType RSFeedTypeFromLinkTypeAttribute(NSString * typeStr); RSFeedType RSFeedTypeFromLinkTypeAttribute(NSString * typeStr);
@@ -65,3 +67,5 @@ RSFeedType RSFeedTypeFromLinkTypeAttribute(NSString * typeStr);
@interface RSHTMLMetadataAnchor : RSHTMLMetadataLink // title: anchor text-value @interface RSHTMLMetadataAnchor : RSHTMLMetadataLink // title: anchor text-value
@property (nonatomic, copy, nullable) NSString *tooltip; @property (nonatomic, copy, nullable) NSString *tooltip;
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -22,8 +22,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
#import "RSXMLParser.h" #import <RSXML2/RSXMLParser.h>
@class RSHTMLMetadata; @class RSHTMLMetadata;

View File

@@ -21,11 +21,14 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
#ifndef TARGET_IOS //#ifndef TARGET_IOS
#define OPML_EXPORT 0 //#define OPML_EXPORT 0
#endif //#endif
#define OPML_EXPORT 1
NS_ASSUME_NONNULL_BEGIN
// OPML allows for arbitrary attributes. // OPML allows for arbitrary attributes.
// These are the common attributes in OPML files used as RSS subscription lists. // These are the common attributes in OPML files used as RSS subscription lists.
@@ -55,7 +58,7 @@
/// Sets a value in the internal dictionary (creates new empty dictionary if necessary). /// Sets a value in the internal dictionary (creates new empty dictionary if necessary).
- (void)setAttribute:(id)value forKey:(NSString *)key; - (void)setAttribute:(id)value forKey:(NSString *)key;
/// @return Value for key (case-independent). /// @return Value for key (case-independent).
- (id)attributeForKey:(NSString *)key; - (nullable id)attributeForKey:(NSString *)key;
/// Print object description for debugging purposes. /// Print object description for debugging purposes.
- (NSString *)recursiveDescription; - (NSString *)recursiveDescription;
@@ -64,3 +67,5 @@
- (NSXMLDocument *)exportXML; - (NSXMLDocument *)exportXML;
#endif #endif
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
#import "RSXMLParser.h" #import <RSXML2/RSXMLParser.h>
// <opml> <outline> // <opml> <outline>
// http://dev.opml.org/spec2.html#subscriptionLists // http://dev.opml.org/spec2.html#subscriptionLists

5
RSXML2/RSParsedArticle.h Executable file → Normal file
View File

@@ -22,7 +22,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// Parsed result type for articles. Does contain article specific attributes like abstract and content. /// Parsed result type for articles. Does contain article specific attributes like abstract and content.
@interface RSParsedArticle : NSObject @interface RSParsedArticle : NSObject
@@ -47,3 +49,4 @@
@end @end
NS_ASSUME_NONNULL_END

0
RSXML2/RSParsedArticle.m Executable file → Normal file
View File

6
RSXML2/RSParsedFeed.h Executable file → Normal file
View File

@@ -22,7 +22,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class RSParsedArticle; @class RSParsedArticle;
@@ -41,3 +43,5 @@
- (RSParsedArticle *)appendNewArticle; - (RSParsedArticle *)appendNewArticle;
@end @end
NS_ASSUME_NONNULL_END

0
RSXML2/RSParsedFeed.m Executable file → Normal file
View File

View File

@@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
#import "RSFeedParser.h" #import <RSXML2/RSFeedParser.h>
// <channel> <item> // <channel> <item>
// https://cyber.harvard.edu/rss/rss.html // https://cyber.harvard.edu/rss/rss.html

0
RSXML2/RSRSSParser.m Executable file → Normal file
View File

View File

@@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
/*Thread-safe, not re-entrant. /*Thread-safe, not re-entrant.

View File

@@ -22,7 +22,6 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation;
// General // General
#import <RSXML2/RSXMLError.h> #import <RSXML2/RSXMLError.h>

View File

@@ -22,8 +22,10 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
#import "RSXMLParser.h" #import <RSXML2/RSXMLParser.h>
NS_ASSUME_NONNULL_BEGIN
@class RSXMLParser; @class RSXMLParser;
@@ -42,3 +44,5 @@
- (BOOL)canParseData; - (BOOL)canParseData;
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -21,7 +21,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
extern NSErrorDomain const kLIBXMLParserErrorDomain; extern NSErrorDomain const kLIBXMLParserErrorDomain;
extern NSErrorDomain const kRSXMLParserErrorDomain; extern NSErrorDomain const kRSXMLParserErrorDomain;

View File

@@ -21,14 +21,16 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
@import Foundation; #import <Foundation/Foundation.h>
#import "RSSAXParser.h" #import <RSXML2/RSSAXParser.h>
#define EqualBytes(bytes1, bytes2, length) (memcmp(bytes1, bytes2, length) == 0) #define EqualBytes(bytes1, bytes2, length) (memcmp(bytes1, bytes2, length) == 0)
//#define EqualBytes(bytes1, bytes2, length) (!strncmp(bytes1, bytes2, length)) //#define EqualBytes(bytes1, bytes2, length) (!strncmp(bytes1, bytes2, length))
@class RSXMLData; @class RSXMLData;
NS_ASSUME_NONNULL_BEGIN
// --------------------------------------------------------------- // ---------------------------------------------------------------
// | MARK: - Parser Delegate // | MARK: - Parser Delegate
// --------------------------------------------------------------- // ---------------------------------------------------------------
@@ -55,7 +57,7 @@
/// @return @c YES if parser supports parsing HTML files. /// @return @c YES if parser supports parsing HTML files.
+ (BOOL)isHTMLParser; + (BOOL)isHTMLParser;
/// Will be called after the parsing is finished. @return Reference to parsed object. /// Will be called after the parsing is finished. @return Reference to parsed object.
- (id)xmlParserWillReturnDocument; - (nullable id)xmlParserWillReturnDocument;
@end @end
@@ -91,3 +93,4 @@
@end @end
NS_ASSUME_NONNULL_END

View File

@@ -58,7 +58,6 @@
NSXMLDocument *xml = [doc exportXML]; NSXMLDocument *xml = [doc exportXML];
NSString *exportString = [xml XMLStringWithOptions:NSXMLNodePrettyPrint]; NSString *exportString = [xml XMLStringWithOptions:NSXMLNodePrettyPrint];
NSLog(@"%@", exportString);
NSData *importData = [exportString dataUsingEncoding:NSUTF8StringEncoding]; NSData *importData = [exportString dataUsingEncoding:NSUTF8StringEncoding];
RSXMLData *xmlData = [[RSXMLData alloc] initWithData:importData url:[NSURL URLWithString:@""]]; RSXMLData *xmlData = [[RSXMLData alloc] initWithData:importData url:[NSURL URLWithString:@""]];
@@ -73,8 +72,6 @@
XCTAssertEqualObjects(document.children.firstObject.displayName, @"Feed \"Title\" 1"); XCTAssertEqualObjects(document.children.firstObject.displayName, @"Feed \"Title\" 1");
XCTAssertEqualObjects(document.children.lastObject.displayName, @"Feed 'Title' 2"); XCTAssertEqualObjects(document.children.lastObject.displayName, @"Feed 'Title' 2");
XCTAssertEqualObjects([document.children.lastObject attributeForKey:OPMLXMLURLKey], @"http://www.feed2.com/feed.atom"); XCTAssertEqualObjects([document.children.lastObject attributeForKey:OPMLXMLURLKey], @"http://www.feed2.com/feed.atom");
NSLog(@"%@", [document recursiveDescription]);
#else #else
NSLog(@"OPML export is disabled for this framework!"); NSLog(@"OPML export is disabled for this framework!");
XCTAssertNil(nil); XCTAssertNil(nil);
@@ -121,8 +118,6 @@
XCTAssertEqualObjects(document.children.lastObject.children.lastObject.displayName, @"Gerrold"); XCTAssertEqualObjects(document.children.lastObject.children.lastObject.displayName, @"Gerrold");
[self checkStructureForOPMLItem:document isRoot:YES]; [self checkStructureForOPMLItem:document isRoot:YES];
//NSLog(@"\n%@", [document recursiveDescription]);
[self measureBlock:^{ [self measureBlock:^{
[parser parseSync:nil]; [parser parseSync:nil];
}]; }];

View File

@@ -284,7 +284,7 @@
[[xmlData getParser] parseSync:&error]; [[xmlData getParser] parseSync:&error];
XCTAssertNotNil(error); XCTAssertNotNil(error);
XCTAssertEqual(error.code, 76); XCTAssertEqual(error.code, 76);
XCTAssertEqualObjects(error.localizedDescription, @"Opening and ending tag mismatch: channel line 0 and rss"); XCTAssertEqualObjects(error.localizedDescription, @"Opening and ending tag mismatch: channel line 10 and rss");
} }
- (void)testHttpSchemePrepending { - (void)testHttpSchemePrepending {