Преглед изворни кода

Refactored Test Target
- Removed OC Mock
- Removed Test Project
- Updated Rake File

Kevin Harwood пре 10 година
родитељ
комит
00b23107c4
27 измењених фајлова са 791 додато и 1006 уклоњено
  1. 465 0
      AFNetworking.xcodeproj/project.pbxproj
  2. 56 0
      AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking Mac OS X Tests.xcscheme
  3. 12 38
      AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking iOS Tests.xcscheme
  4. 23 0
      AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking iOS.xcscheme
  5. 0 6
      AFNetworking.xcworkspace/contents.xcworkspacedata
  6. 26 1
      AFNetworking/AFSecurityPolicy.h
  7. 18 10
      AFNetworking/AFSecurityPolicy.m
  8. 14 0
      Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/OS X Example.xcscheme
  9. 17 3
      Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/Today Extension Example.xcscheme
  10. 14 0
      Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/iOS Example.xcscheme
  11. 14 0
      Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/tvOS Example.xcscheme
  12. 14 0
      Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/watchOS Example.xcscheme
  13. 5 5
      Rakefile
  14. 0 771
      Tests/AFNetworking Tests.xcodeproj/project.pbxproj
  15. 0 22
      Tests/AFNetworkingTests-Info.plist
  16. 0 2
      Tests/OS X Tests/en.lproj/InfoPlist.strings
  17. 0 22
      Tests/Podfile
  18. 0 83
      Tests/Schemes/OS X Tests.xcscheme
  19. 1 1
      Tests/Tests/AFAutoPurgingImageCacheTests.m
  20. 1 1
      Tests/Tests/AFHTTPRequestSerializationTests.m
  21. 1 1
      Tests/Tests/AFImageDownloaderTests.m
  22. 4 2
      Tests/Tests/AFSecurityPolicyTests.m
  23. 0 2
      Tests/Tests/AFTestCase.h
  24. 2 2
      Tests/Tests/AFUIActivityIndicatorViewTests.m
  25. 102 30
      Tests/Tests/AFUIImageViewTests.m
  26. 2 2
      Tests/Tests/AFUIRefreshControlTests.m
  27. 0 2
      Tests/iOS Tests/en.lproj/InfoPlist.strings

+ 465 - 0
AFNetworking.xcodeproj/project.pbxproj

@@ -7,6 +7,58 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		297824A31BC2D69A0041C395 /* adn_0.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A01BC2D69A0041C395 /* adn_0.cer */; settings = {ASSET_TAGS = (); }; };
+		297824A41BC2D69A0041C395 /* adn_0.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A01BC2D69A0041C395 /* adn_0.cer */; settings = {ASSET_TAGS = (); }; };
+		297824A51BC2D69A0041C395 /* adn_1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A11BC2D69A0041C395 /* adn_1.cer */; settings = {ASSET_TAGS = (); }; };
+		297824A61BC2D69A0041C395 /* adn_1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A11BC2D69A0041C395 /* adn_1.cer */; settings = {ASSET_TAGS = (); }; };
+		297824A71BC2D69A0041C395 /* adn_2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A21BC2D69A0041C395 /* adn_2.cer */; settings = {ASSET_TAGS = (); }; };
+		297824A81BC2D69A0041C395 /* adn_2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 297824A21BC2D69A0041C395 /* adn_2.cer */; settings = {ASSET_TAGS = (); }; };
+		297824AA1BC2DAD80041C395 /* AFAutoPurgingImageCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C801BC2C88F00FD3B3E /* AFAutoPurgingImageCacheTests.m */; settings = {ASSET_TAGS = (); }; };
+		297824AB1BC2DB060041C395 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 299522391BBF104D00859F49 /* AFNetworking.framework */; };
+		297824AC1BC2DB450041C395 /* AFImageDownloaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C841BC2C88F00FD3B3E /* AFImageDownloaderTests.m */; settings = {ASSET_TAGS = (); }; };
+		297824AD1BC2DBA40041C395 /* AFNetworkActivityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C861BC2C88F00FD3B3E /* AFNetworkActivityManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		297824AE1BC2DBD80041C395 /* AFUIActivityIndicatorViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8C1BC2C88F00FD3B3E /* AFUIActivityIndicatorViewTests.m */; settings = {ASSET_TAGS = (); }; };
+		297824AF1BC2DBEF0041C395 /* AFUIRefreshControlTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8E1BC2C88F00FD3B3E /* AFUIRefreshControlTests.m */; settings = {ASSET_TAGS = (); }; };
+		297824B01BC2DC2D0041C395 /* AFUIImageViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8D1BC2C88F00FD3B3E /* AFUIImageViewTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7C4F1BC2C7B200FD3B3E /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 299522771BBF136400859F49 /* AFNetworking.framework */; settings = {ASSET_TAGS = (); }; };
+		298D7C961BC2C94400FD3B3E /* AFTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8B1BC2C88F00FD3B3E /* AFTestCase.m */; settings = {ASSET_TAGS = (); }; };
+		298D7C971BC2C94500FD3B3E /* AFTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8B1BC2C88F00FD3B3E /* AFTestCase.m */; settings = {ASSET_TAGS = (); }; };
+		298D7C981BC2CA2500FD3B3E /* AFURLSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8F1BC2C88F00FD3B3E /* AFURLSessionManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7C991BC2CA2600FD3B3E /* AFURLSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C8F1BC2C88F00FD3B3E /* AFURLSessionManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CB11BC2CA6E00FD3B3E /* AFHTTPRequestSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C811BC2C88F00FD3B3E /* AFHTTPRequestSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CB21BC2CA6E00FD3B3E /* AFHTTPRequestSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C811BC2C88F00FD3B3E /* AFHTTPRequestSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CB91BC2CA9800FD3B3E /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C771BC2C88F00FD3B3E /* logo.png */; settings = {ASSET_TAGS = (); }; };
+		298D7CBA1BC2CA9800FD3B3E /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C771BC2C88F00FD3B3E /* logo.png */; settings = {ASSET_TAGS = (); }; };
+		298D7CBB1BC2CA9C00FD3B3E /* AltName.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C791BC2C88F00FD3B3E /* AltName.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CBC1BC2CA9C00FD3B3E /* foobar.com.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C7A1BC2C88F00FD3B3E /* foobar.com.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CBD1BC2CA9C00FD3B3E /* NoDomains.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C7B1BC2C88F00FD3B3E /* NoDomains.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CBE1BC2CA9D00FD3B3E /* AltName.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C791BC2C88F00FD3B3E /* AltName.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CBF1BC2CA9D00FD3B3E /* foobar.com.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C7A1BC2C88F00FD3B3E /* foobar.com.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC01BC2CA9D00FD3B3E /* NoDomains.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C7B1BC2C88F00FD3B3E /* NoDomains.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC11BC2CAA100FD3B3E /* AddTrust_External_CA_Root.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C6E1BC2C88F00FD3B3E /* AddTrust_External_CA_Root.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC21BC2CAA100FD3B3E /* COMODO_RSA_Certification_Authority.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C6F1BC2C88F00FD3B3E /* COMODO_RSA_Certification_Authority.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC31BC2CAA100FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C701BC2C88F00FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC41BC2CAA100FD3B3E /* httpbinorg_01162016.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C711BC2C88F00FD3B3E /* httpbinorg_01162016.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC51BC2CAA200FD3B3E /* AddTrust_External_CA_Root.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C6E1BC2C88F00FD3B3E /* AddTrust_External_CA_Root.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC61BC2CAA200FD3B3E /* COMODO_RSA_Certification_Authority.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C6F1BC2C88F00FD3B3E /* COMODO_RSA_Certification_Authority.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC71BC2CAA200FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C701BC2C88F00FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CC81BC2CAA200FD3B3E /* httpbinorg_01162016.cer in Resources */ = {isa = PBXBuildFile; fileRef = 298D7C711BC2C88F00FD3B3E /* httpbinorg_01162016.cer */; settings = {ASSET_TAGS = (); }; };
+		298D7CD31BC2CAE800FD3B3E /* AFHTTPResponseSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C821BC2C88F00FD3B3E /* AFHTTPResponseSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD41BC2CAE900FD3B3E /* AFHTTPResponseSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C821BC2C88F00FD3B3E /* AFHTTPResponseSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD51BC2CAEC00FD3B3E /* AFHTTPSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C831BC2C88F00FD3B3E /* AFHTTPSessionManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD61BC2CAED00FD3B3E /* AFHTTPSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C831BC2C88F00FD3B3E /* AFHTTPSessionManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD71BC2CAEF00FD3B3E /* AFJSONSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C851BC2C88F00FD3B3E /* AFJSONSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD81BC2CAF000FD3B3E /* AFJSONSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C851BC2C88F00FD3B3E /* AFJSONSerializationTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CD91BC2CAF200FD3B3E /* AFNetworkReachabilityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C871BC2C88F00FD3B3E /* AFNetworkReachabilityManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CDA1BC2CAF300FD3B3E /* AFNetworkReachabilityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C871BC2C88F00FD3B3E /* AFNetworkReachabilityManagerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CDB1BC2CAF500FD3B3E /* AFPropertyListResponseSerializerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C881BC2C88F00FD3B3E /* AFPropertyListResponseSerializerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CDC1BC2CAF500FD3B3E /* AFPropertyListResponseSerializerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C881BC2C88F00FD3B3E /* AFPropertyListResponseSerializerTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CDD1BC2CAF700FD3B3E /* AFSecurityPolicyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C891BC2C88F00FD3B3E /* AFSecurityPolicyTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CDE1BC2CAF800FD3B3E /* AFSecurityPolicyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298D7C891BC2C88F00FD3B3E /* AFSecurityPolicyTests.m */; settings = {ASSET_TAGS = (); }; };
+		298D7CE01BC2CB5A00FD3B3E /* ADNNetServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 298D7CDF1BC2CB5A00FD3B3E /* ADNNetServerTrustChain */; settings = {ASSET_TAGS = (); }; };
+		298D7CE11BC2CB5A00FD3B3E /* ADNNetServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 298D7CDF1BC2CB5A00FD3B3E /* ADNNetServerTrustChain */; settings = {ASSET_TAGS = (); }; };
+		298D7CE31BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 298D7CE21BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain */; settings = {ASSET_TAGS = (); }; };
+		298D7CE41BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 298D7CE21BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain */; settings = {ASSET_TAGS = (); }; };
 		2995223D1BBF104D00859F49 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2995223C1BBF104D00859F49 /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		299522531BBF125A00859F49 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 299522461BBF125A00859F49 /* AFHTTPSessionManager.h */; settings = {ASSET_TAGS = (); }; };
 		299522541BBF125A00859F49 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 299522471BBF125A00859F49 /* AFHTTPSessionManager.m */; settings = {ASSET_TAGS = (); }; };
@@ -55,7 +107,61 @@
 		299522B11BBF13C700859F49 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2995229B1BBF13C700859F49 /* UIWebView+AFNetworking.m */; settings = {ASSET_TAGS = (); }; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		298D7C411BC2C79500FD3B3E /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 299522301BBF104D00859F49 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 299522381BBF104D00859F49;
+			remoteInfo = "AFNetworking iOS";
+		};
+		298D7C501BC2C7B200FD3B3E /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 299522301BBF104D00859F49 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 299522761BBF136400859F49;
+			remoteInfo = "AFNetworking OS X";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
+		297824A01BC2D69A0041C395 /* adn_0.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_0.cer; path = ADNNetServerTrustChain/adn_0.cer; sourceTree = "<group>"; };
+		297824A11BC2D69A0041C395 /* adn_1.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_1.cer; path = ADNNetServerTrustChain/adn_1.cer; sourceTree = "<group>"; };
+		297824A21BC2D69A0041C395 /* adn_2.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_2.cer; path = ADNNetServerTrustChain/adn_2.cer; sourceTree = "<group>"; };
+		298D7C3B1BC2C79500FD3B3E /* AFNetworking iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "AFNetworking iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		298D7C4A1BC2C7B200FD3B3E /* AFNetworking Mac OS X Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "AFNetworking Mac OS X Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		298D7C5E1BC2C88F00FD3B3E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		298D7C5F1BC2C88F00FD3B3E /* iOS Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iOS Tests-Info.plist"; sourceTree = "<group>"; };
+		298D7C601BC2C88F00FD3B3E /* iOS Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iOS Tests-Prefix.pch"; sourceTree = "<group>"; };
+		298D7C631BC2C88F00FD3B3E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		298D7C641BC2C88F00FD3B3E /* OS X Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "OS X Tests-Info.plist"; sourceTree = "<group>"; };
+		298D7C651BC2C88F00FD3B3E /* OS X Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OS X Tests-Prefix.pch"; sourceTree = "<group>"; };
+		298D7C6E1BC2C88F00FD3B3E /* AddTrust_External_CA_Root.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = AddTrust_External_CA_Root.cer; sourceTree = "<group>"; };
+		298D7C6F1BC2C88F00FD3B3E /* COMODO_RSA_Certification_Authority.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = COMODO_RSA_Certification_Authority.cer; sourceTree = "<group>"; };
+		298D7C701BC2C88F00FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = COMODO_RSA_Domain_Validation_Secure_Server_CA.cer; sourceTree = "<group>"; };
+		298D7C711BC2C88F00FD3B3E /* httpbinorg_01162016.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = httpbinorg_01162016.cer; sourceTree = "<group>"; };
+		298D7C771BC2C88F00FD3B3E /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
+		298D7C791BC2C88F00FD3B3E /* AltName.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = AltName.cer; sourceTree = "<group>"; };
+		298D7C7A1BC2C88F00FD3B3E /* foobar.com.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = foobar.com.cer; sourceTree = "<group>"; };
+		298D7C7B1BC2C88F00FD3B3E /* NoDomains.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = NoDomains.cer; sourceTree = "<group>"; };
+		298D7C801BC2C88F00FD3B3E /* AFAutoPurgingImageCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFAutoPurgingImageCacheTests.m; sourceTree = "<group>"; };
+		298D7C811BC2C88F00FD3B3E /* AFHTTPRequestSerializationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestSerializationTests.m; sourceTree = "<group>"; };
+		298D7C821BC2C88F00FD3B3E /* AFHTTPResponseSerializationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFHTTPResponseSerializationTests.m; sourceTree = "<group>"; };
+		298D7C831BC2C88F00FD3B3E /* AFHTTPSessionManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManagerTests.m; sourceTree = "<group>"; };
+		298D7C841BC2C88F00FD3B3E /* AFImageDownloaderTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFImageDownloaderTests.m; sourceTree = "<group>"; };
+		298D7C851BC2C88F00FD3B3E /* AFJSONSerializationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFJSONSerializationTests.m; sourceTree = "<group>"; };
+		298D7C861BC2C88F00FD3B3E /* AFNetworkActivityManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityManagerTests.m; sourceTree = "<group>"; };
+		298D7C871BC2C88F00FD3B3E /* AFNetworkReachabilityManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManagerTests.m; sourceTree = "<group>"; };
+		298D7C881BC2C88F00FD3B3E /* AFPropertyListResponseSerializerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFPropertyListResponseSerializerTests.m; sourceTree = "<group>"; };
+		298D7C891BC2C88F00FD3B3E /* AFSecurityPolicyTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicyTests.m; sourceTree = "<group>"; };
+		298D7C8A1BC2C88F00FD3B3E /* AFTestCase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AFTestCase.h; sourceTree = "<group>"; };
+		298D7C8B1BC2C88F00FD3B3E /* AFTestCase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFTestCase.m; sourceTree = "<group>"; };
+		298D7C8C1BC2C88F00FD3B3E /* AFUIActivityIndicatorViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFUIActivityIndicatorViewTests.m; sourceTree = "<group>"; };
+		298D7C8D1BC2C88F00FD3B3E /* AFUIImageViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFUIImageViewTests.m; sourceTree = "<group>"; };
+		298D7C8E1BC2C88F00FD3B3E /* AFUIRefreshControlTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFUIRefreshControlTests.m; sourceTree = "<group>"; };
+		298D7C8F1BC2C88F00FD3B3E /* AFURLSessionManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManagerTests.m; sourceTree = "<group>"; };
+		298D7CDF1BC2CB5A00FD3B3E /* ADNNetServerTrustChain */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ADNNetServerTrustChain; sourceTree = "<group>"; };
+		298D7CE21BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain */ = {isa = PBXFileReference; lastKnownFileType = folder; path = HTTPBinOrgServerTrustChain; sourceTree = "<group>"; };
 		299522391BBF104D00859F49 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		2995223C1BBF104D00859F49 /* AFNetworking.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = ../Framework/AFNetworking.h; sourceTree = "<group>"; };
 		2995223E1BBF104D00859F49 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Framework/Info.plist; sourceTree = "<group>"; };
@@ -98,6 +204,22 @@
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
+		298D7C381BC2C79500FD3B3E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				297824AB1BC2DB060041C395 /* AFNetworking.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		298D7C471BC2C7B200FD3B3E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				298D7C4F1BC2C7B200FD3B3E /* AFNetworking.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		299522351BBF104D00859F49 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -122,12 +244,127 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		298D7C561BC2C88F00FD3B3E /* Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C5C1BC2C88F00FD3B3E /* iOS Tests */,
+				298D7C611BC2C88F00FD3B3E /* OS X Tests */,
+				298D7C671BC2C88F00FD3B3E /* Resources */,
+				298D7C7F1BC2C88F00FD3B3E /* Tests */,
+			);
+			path = Tests;
+			sourceTree = "<group>";
+		};
+		298D7C5C1BC2C88F00FD3B3E /* iOS Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C5D1BC2C88F00FD3B3E /* InfoPlist.strings */,
+				298D7C5F1BC2C88F00FD3B3E /* iOS Tests-Info.plist */,
+				298D7C601BC2C88F00FD3B3E /* iOS Tests-Prefix.pch */,
+			);
+			path = "iOS Tests";
+			sourceTree = "<group>";
+		};
+		298D7C611BC2C88F00FD3B3E /* OS X Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C621BC2C88F00FD3B3E /* InfoPlist.strings */,
+				298D7C641BC2C88F00FD3B3E /* OS X Tests-Info.plist */,
+				298D7C651BC2C88F00FD3B3E /* OS X Tests-Prefix.pch */,
+			);
+			path = "OS X Tests";
+			sourceTree = "<group>";
+		};
+		298D7C671BC2C88F00FD3B3E /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C681BC2C88F00FD3B3E /* ADN.net */,
+				298D7C6D1BC2C88F00FD3B3E /* HTTPBin.org */,
+				298D7C771BC2C88F00FD3B3E /* logo.png */,
+				298D7C781BC2C88F00FD3B3E /* SelfSigned */,
+			);
+			path = Resources;
+			sourceTree = "<group>";
+		};
+		298D7C681BC2C88F00FD3B3E /* ADN.net */ = {
+			isa = PBXGroup;
+			children = (
+				297824A01BC2D69A0041C395 /* adn_0.cer */,
+				297824A11BC2D69A0041C395 /* adn_1.cer */,
+				297824A21BC2D69A0041C395 /* adn_2.cer */,
+				298D7CDF1BC2CB5A00FD3B3E /* ADNNetServerTrustChain */,
+			);
+			path = ADN.net;
+			sourceTree = "<group>";
+		};
+		298D7C6D1BC2C88F00FD3B3E /* HTTPBin.org */ = {
+			isa = PBXGroup;
+			children = (
+				298D7CE21BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain */,
+				298D7C6E1BC2C88F00FD3B3E /* AddTrust_External_CA_Root.cer */,
+				298D7C6F1BC2C88F00FD3B3E /* COMODO_RSA_Certification_Authority.cer */,
+				298D7C701BC2C88F00FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */,
+				298D7C711BC2C88F00FD3B3E /* httpbinorg_01162016.cer */,
+			);
+			path = HTTPBin.org;
+			sourceTree = "<group>";
+		};
+		298D7C781BC2C88F00FD3B3E /* SelfSigned */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C791BC2C88F00FD3B3E /* AltName.cer */,
+				298D7C7A1BC2C88F00FD3B3E /* foobar.com.cer */,
+				298D7C7B1BC2C88F00FD3B3E /* NoDomains.cer */,
+			);
+			path = SelfSigned;
+			sourceTree = "<group>";
+		};
+		298D7C7F1BC2C88F00FD3B3E /* Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7CD21BC2CAD500FD3B3E /* AFNetworking UIKit Tests */,
+				298D7CD11BC2CABE00FD3B3E /* AFNetworking Tests */,
+				298D7C8A1BC2C88F00FD3B3E /* AFTestCase.h */,
+				298D7C8B1BC2C88F00FD3B3E /* AFTestCase.m */,
+			);
+			path = Tests;
+			sourceTree = "<group>";
+		};
+		298D7CD11BC2CABE00FD3B3E /* AFNetworking Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C811BC2C88F00FD3B3E /* AFHTTPRequestSerializationTests.m */,
+				298D7C821BC2C88F00FD3B3E /* AFHTTPResponseSerializationTests.m */,
+				298D7C831BC2C88F00FD3B3E /* AFHTTPSessionManagerTests.m */,
+				298D7C851BC2C88F00FD3B3E /* AFJSONSerializationTests.m */,
+				298D7C871BC2C88F00FD3B3E /* AFNetworkReachabilityManagerTests.m */,
+				298D7C881BC2C88F00FD3B3E /* AFPropertyListResponseSerializerTests.m */,
+				298D7C891BC2C88F00FD3B3E /* AFSecurityPolicyTests.m */,
+				298D7C8F1BC2C88F00FD3B3E /* AFURLSessionManagerTests.m */,
+			);
+			name = "AFNetworking Tests";
+			sourceTree = "<group>";
+		};
+		298D7CD21BC2CAD500FD3B3E /* AFNetworking UIKit Tests */ = {
+			isa = PBXGroup;
+			children = (
+				298D7C801BC2C88F00FD3B3E /* AFAutoPurgingImageCacheTests.m */,
+				298D7C841BC2C88F00FD3B3E /* AFImageDownloaderTests.m */,
+				298D7C861BC2C88F00FD3B3E /* AFNetworkActivityManagerTests.m */,
+				298D7C8C1BC2C88F00FD3B3E /* AFUIActivityIndicatorViewTests.m */,
+				298D7C8D1BC2C88F00FD3B3E /* AFUIImageViewTests.m */,
+				298D7C8E1BC2C88F00FD3B3E /* AFUIRefreshControlTests.m */,
+			);
+			name = "AFNetworking UIKit Tests";
+			sourceTree = "<group>";
+		};
 		2995222F1BBF104D00859F49 = {
 			isa = PBXGroup;
 			children = (
 				299522851BBF13C700859F49 /* UIKit+AFNetworking */,
 				299522451BBF125A00859F49 /* AFNetworking */,
 				2995223B1BBF104D00859F49 /* Supporting Files */,
+				298D7C561BC2C88F00FD3B3E /* Tests */,
 				2995223A1BBF104D00859F49 /* Products */,
 			);
 			sourceTree = "<group>";
@@ -138,6 +375,8 @@
 				299522391BBF104D00859F49 /* AFNetworking.framework */,
 				299522651BBF129200859F49 /* AFNetworking.framework */,
 				299522771BBF136400859F49 /* AFNetworking.framework */,
+				298D7C3B1BC2C79500FD3B3E /* AFNetworking iOS Tests.xctest */,
+				298D7C4A1BC2C7B200FD3B3E /* AFNetworking Mac OS X Tests.xctest */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -246,6 +485,42 @@
 /* End PBXHeadersBuildPhase section */
 
 /* Begin PBXNativeTarget section */
+		298D7C3A1BC2C79500FD3B3E /* AFNetworking iOS Tests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 298D7C451BC2C79600FD3B3E /* Build configuration list for PBXNativeTarget "AFNetworking iOS Tests" */;
+			buildPhases = (
+				298D7C371BC2C79500FD3B3E /* Sources */,
+				298D7C381BC2C79500FD3B3E /* Frameworks */,
+				298D7C391BC2C79500FD3B3E /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				298D7C421BC2C79500FD3B3E /* PBXTargetDependency */,
+			);
+			name = "AFNetworking iOS Tests";
+			productName = "AFNetworking iOS Tests";
+			productReference = 298D7C3B1BC2C79500FD3B3E /* AFNetworking iOS Tests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
+		};
+		298D7C491BC2C7B200FD3B3E /* AFNetworking Mac OS X Tests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 298D7C521BC2C7B200FD3B3E /* Build configuration list for PBXNativeTarget "AFNetworking Mac OS X Tests" */;
+			buildPhases = (
+				298D7C461BC2C7B200FD3B3E /* Sources */,
+				298D7C471BC2C7B200FD3B3E /* Frameworks */,
+				298D7C481BC2C7B200FD3B3E /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				298D7C511BC2C7B200FD3B3E /* PBXTargetDependency */,
+			);
+			name = "AFNetworking Mac OS X Tests";
+			productName = "AFNetworking Mac OS X Tests";
+			productReference = 298D7C4A1BC2C7B200FD3B3E /* AFNetworking Mac OS X Tests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
+		};
 		299522381BBF104D00859F49 /* AFNetworking iOS */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 299522411BBF104D00859F49 /* Build configuration list for PBXNativeTarget "AFNetworking iOS" */;
@@ -309,6 +584,12 @@
 				LastUpgradeCheck = 0700;
 				ORGANIZATIONNAME = AFNetworking;
 				TargetAttributes = {
+					298D7C3A1BC2C79500FD3B3E = {
+						CreatedOnToolsVersion = 7.0.1;
+					};
+					298D7C491BC2C7B200FD3B3E = {
+						CreatedOnToolsVersion = 7.0.1;
+					};
 					299522381BBF104D00859F49 = {
 						CreatedOnToolsVersion = 7.0.1;
 					};
@@ -335,11 +616,53 @@
 				299522381BBF104D00859F49 /* AFNetworking iOS */,
 				299522641BBF129200859F49 /* AFNetworking watchOS */,
 				299522761BBF136400859F49 /* AFNetworking OS X */,
+				298D7C3A1BC2C79500FD3B3E /* AFNetworking iOS Tests */,
+				298D7C491BC2C7B200FD3B3E /* AFNetworking Mac OS X Tests */,
 			);
 		};
 /* End PBXProject section */
 
 /* Begin PBXResourcesBuildPhase section */
+		298D7C391BC2C79500FD3B3E /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				298D7CC51BC2CAA200FD3B3E /* AddTrust_External_CA_Root.cer in Resources */,
+				298D7CBF1BC2CA9D00FD3B3E /* foobar.com.cer in Resources */,
+				298D7CBA1BC2CA9800FD3B3E /* logo.png in Resources */,
+				298D7CC61BC2CAA200FD3B3E /* COMODO_RSA_Certification_Authority.cer in Resources */,
+				298D7CC81BC2CAA200FD3B3E /* httpbinorg_01162016.cer in Resources */,
+				297824A31BC2D69A0041C395 /* adn_0.cer in Resources */,
+				298D7CC71BC2CAA200FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */,
+				298D7CE31BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain in Resources */,
+				297824A71BC2D69A0041C395 /* adn_2.cer in Resources */,
+				297824A51BC2D69A0041C395 /* adn_1.cer in Resources */,
+				298D7CC01BC2CA9D00FD3B3E /* NoDomains.cer in Resources */,
+				298D7CE01BC2CB5A00FD3B3E /* ADNNetServerTrustChain in Resources */,
+				298D7CBE1BC2CA9D00FD3B3E /* AltName.cer in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		298D7C481BC2C7B200FD3B3E /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				298D7CC11BC2CAA100FD3B3E /* AddTrust_External_CA_Root.cer in Resources */,
+				298D7CBC1BC2CA9C00FD3B3E /* foobar.com.cer in Resources */,
+				298D7CB91BC2CA9800FD3B3E /* logo.png in Resources */,
+				298D7CC21BC2CAA100FD3B3E /* COMODO_RSA_Certification_Authority.cer in Resources */,
+				298D7CC41BC2CAA100FD3B3E /* httpbinorg_01162016.cer in Resources */,
+				297824A41BC2D69A0041C395 /* adn_0.cer in Resources */,
+				298D7CC31BC2CAA100FD3B3E /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */,
+				298D7CE41BC2CB7C00FD3B3E /* HTTPBinOrgServerTrustChain in Resources */,
+				297824A81BC2D69A0041C395 /* adn_2.cer in Resources */,
+				297824A61BC2D69A0041C395 /* adn_1.cer in Resources */,
+				298D7CBD1BC2CA9C00FD3B3E /* NoDomains.cer in Resources */,
+				298D7CE11BC2CB5A00FD3B3E /* ADNNetServerTrustChain in Resources */,
+				298D7CBB1BC2CA9C00FD3B3E /* AltName.cer in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		299522371BBF104D00859F49 /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -364,6 +687,44 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
+		298D7C371BC2C79500FD3B3E /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				298D7C961BC2C94400FD3B3E /* AFTestCase.m in Sources */,
+				298D7CB11BC2CA6E00FD3B3E /* AFHTTPRequestSerializationTests.m in Sources */,
+				297824AE1BC2DBD80041C395 /* AFUIActivityIndicatorViewTests.m in Sources */,
+				297824AD1BC2DBA40041C395 /* AFNetworkActivityManagerTests.m in Sources */,
+				298D7CDD1BC2CAF700FD3B3E /* AFSecurityPolicyTests.m in Sources */,
+				298D7CD31BC2CAE800FD3B3E /* AFHTTPResponseSerializationTests.m in Sources */,
+				297824B01BC2DC2D0041C395 /* AFUIImageViewTests.m in Sources */,
+				297824AF1BC2DBEF0041C395 /* AFUIRefreshControlTests.m in Sources */,
+				298D7CD91BC2CAF200FD3B3E /* AFNetworkReachabilityManagerTests.m in Sources */,
+				297824AA1BC2DAD80041C395 /* AFAutoPurgingImageCacheTests.m in Sources */,
+				298D7C981BC2CA2500FD3B3E /* AFURLSessionManagerTests.m in Sources */,
+				297824AC1BC2DB450041C395 /* AFImageDownloaderTests.m in Sources */,
+				298D7CD51BC2CAEC00FD3B3E /* AFHTTPSessionManagerTests.m in Sources */,
+				298D7CD71BC2CAEF00FD3B3E /* AFJSONSerializationTests.m in Sources */,
+				298D7CDB1BC2CAF500FD3B3E /* AFPropertyListResponseSerializerTests.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		298D7C461BC2C7B200FD3B3E /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				298D7CD41BC2CAE900FD3B3E /* AFHTTPResponseSerializationTests.m in Sources */,
+				298D7CB21BC2CA6E00FD3B3E /* AFHTTPRequestSerializationTests.m in Sources */,
+				298D7CDE1BC2CAF800FD3B3E /* AFSecurityPolicyTests.m in Sources */,
+				298D7C971BC2C94500FD3B3E /* AFTestCase.m in Sources */,
+				298D7CD81BC2CAF000FD3B3E /* AFJSONSerializationTests.m in Sources */,
+				298D7CDC1BC2CAF500FD3B3E /* AFPropertyListResponseSerializerTests.m in Sources */,
+				298D7CD61BC2CAED00FD3B3E /* AFHTTPSessionManagerTests.m in Sources */,
+				298D7CDA1BC2CAF300FD3B3E /* AFNetworkReachabilityManagerTests.m in Sources */,
+				298D7C991BC2CA2600FD3B3E /* AFURLSessionManagerTests.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		299522341BBF104D00859F49 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -414,7 +775,91 @@
 		};
 /* End PBXSourcesBuildPhase section */
 
+/* Begin PBXTargetDependency section */
+		298D7C421BC2C79500FD3B3E /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 299522381BBF104D00859F49 /* AFNetworking iOS */;
+			targetProxy = 298D7C411BC2C79500FD3B3E /* PBXContainerItemProxy */;
+		};
+		298D7C511BC2C7B200FD3B3E /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 299522761BBF136400859F49 /* AFNetworking OS X */;
+			targetProxy = 298D7C501BC2C7B200FD3B3E /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		298D7C5D1BC2C88F00FD3B3E /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				298D7C5E1BC2C88F00FD3B3E /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		298D7C621BC2C88F00FD3B3E /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				298D7C631BC2C88F00FD3B3E /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
 /* Begin XCBuildConfiguration section */
+		298D7C431BC2C79500FD3B3E /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREFIX_HEADER = "$(PROJECT_DIR)/Tests/iOS Tests/iOS Tests-Prefix.pch";
+				INFOPLIST_FILE = "$(PROJECT_DIR)/Tests/iOS Tests/iOS Tests-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.AFNetworking-iOS-Tests";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		298D7C441BC2C79500FD3B3E /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PREFIX_HEADER = "$(PROJECT_DIR)/Tests/iOS Tests/iOS Tests-Prefix.pch";
+				INFOPLIST_FILE = "$(PROJECT_DIR)/Tests/iOS Tests/iOS Tests-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.AFNetworking-iOS-Tests";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		298D7C531BC2C7B200FD3B3E /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_PREFIX_HEADER = "$(PROJECT_DIR)/Tests/OS X Tests/OS X Tests-Prefix.pch";
+				INFOPLIST_FILE = "$(PROJECT_DIR)/Tests/OS X Tests/OS X Tests-Info.plist";
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
+				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.AFNetworking-Mac-OS-X-Tests";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		298D7C541BC2C7B200FD3B3E /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				GCC_PREFIX_HEADER = "$(PROJECT_DIR)/Tests/OS X Tests/OS X Tests-Prefix.pch";
+				INFOPLIST_FILE = "$(PROJECT_DIR)/Tests/OS X Tests/OS X Tests-Info.plist";
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
+				MACOSX_DEPLOYMENT_TARGET = 10.9;
+				PRODUCT_BUNDLE_IDENTIFIER = "com.alamofire.AFNetworking-Mac-OS-X-Tests";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
 		2995223F1BBF104D00859F49 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -616,6 +1061,24 @@
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
+		298D7C451BC2C79600FD3B3E /* Build configuration list for PBXNativeTarget "AFNetworking iOS Tests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				298D7C431BC2C79500FD3B3E /* Debug */,
+				298D7C441BC2C79500FD3B3E /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		298D7C521BC2C7B200FD3B3E /* Build configuration list for PBXNativeTarget "AFNetworking Mac OS X Tests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				298D7C531BC2C7B200FD3B3E /* Debug */,
+				298D7C541BC2C7B200FD3B3E /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 		299522331BBF104D00859F49 /* Build configuration list for PBXProject "AFNetworking" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -641,6 +1104,7 @@
 				2995226C1BBF129200859F49 /* Release */,
 			);
 			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
 		};
 		2995227C1BBF136400859F49 /* Build configuration list for PBXNativeTarget "AFNetworking OS X" */ = {
 			isa = XCConfigurationList;
@@ -649,6 +1113,7 @@
 				2995227E1BBF136400859F49 /* Release */,
 			);
 			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
 		};
 /* End XCConfigurationList section */
 	};

+ 56 - 0
AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking Mac OS X Tests.xcscheme

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0700"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C491BC2C7B200FD3B3E"
+               BuildableName = "AFNetworking Mac OS X Tests.xctest"
+               BlueprintName = "AFNetworking Mac OS X Tests"
+               ReferencedContainer = "container:AFNetworking.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </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">
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 12 - 38
Tests/Schemes/iOS Tests.xcscheme → AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking iOS Tests.xcscheme

@@ -1,76 +1,50 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "0460"
+   LastUpgradeVersion = "0700"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "FFF3BD339AD244DFA4115EC4"
-               BuildableName = "libPods-ios.a"
-               BlueprintName = "Pods-ios"
-               ReferencedContainer = "container:Pods/Pods.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "NO"
-            buildForArchiving = "NO"
-            buildForAnalyzing = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2902D27717DF4E1100C81C5A"
-               BuildableName = "iOS Tests.xctest"
-               BlueprintName = "iOS Tests"
-               ReferencedContainer = "container:AFNetworking Tests.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
    </BuildAction>
    <TestAction
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES"
-      buildConfiguration = "Debug">
+      codeCoverageEnabled = "YES">
       <Testables>
          <TestableReference
             skipped = "NO">
             <BuildableReference
                BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2902D27717DF4E1100C81C5A"
-               BuildableName = "iOS Tests.xctest"
-               BlueprintName = "iOS Tests"
-               ReferencedContainer = "container:AFNetworking Tests.xcodeproj">
+               BlueprintIdentifier = "298D7C3A1BC2C79500FD3B3E"
+               BuildableName = "AFNetworking iOS Tests.xctest"
+               BlueprintName = "AFNetworking iOS Tests"
+               ReferencedContainer = "container:AFNetworking.xcodeproj">
             </BuildableReference>
          </TestableReference>
       </Testables>
+      <AdditionalOptions>
+      </AdditionalOptions>
    </TestAction>
    <LaunchAction
+      buildConfiguration = "Debug"
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       launchStyle = "0"
       useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
       ignoresPersistentStateOnLaunch = "NO"
       debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
       allowLocationSimulation = "YES">
       <AdditionalOptions>
       </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
+      buildConfiguration = "Release"
       shouldUseLaunchSchemeArgsEnv = "YES"
       savedToolIdentifier = ""
       useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Release"
       debugDocumentVersioning = "YES">
    </ProfileAction>
    <AnalyzeAction

+ 23 - 0
AFNetworking.xcodeproj/xcshareddata/xcschemes/AFNetworking iOS.xcscheme

@@ -6,6 +6,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C3A1BC2C79500FD3B3E"
+               BuildableName = "AFNetworking iOS Tests.xctest"
+               BlueprintName = "AFNetworking iOS Tests"
+               ReferencedContainer = "container:AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"
@@ -29,6 +43,15 @@
       shouldUseLaunchSchemeArgsEnv = "YES">
       <Testables>
       </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "299522381BBF104D00859F49"
+            BuildableName = "AFNetworking.framework"
+            BlueprintName = "AFNetworking iOS"
+            ReferencedContainer = "container:AFNetworking.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
       <AdditionalOptions>
       </AdditionalOptions>
    </TestAction>

+ 0 - 6
AFNetworking.xcworkspace/contents.xcworkspacedata

@@ -7,10 +7,4 @@
    <FileRef
       location = "group:Example/AFNetworking Example.xcodeproj">
    </FileRef>
-   <FileRef
-      location = "group:Tests/AFNetworking Tests.xcodeproj">
-   </FileRef>
-   <FileRef
-      location = "group:Tests/Pods/Pods.xcodeproj">
-   </FileRef>
 </Workspace>

+ 26 - 1
AFNetworking/AFSecurityPolicy.h

@@ -44,7 +44,11 @@ NS_ASSUME_NONNULL_BEGIN
 @property (readonly, nonatomic, assign) AFSSLPinningMode SSLPinningMode;
 
 /**
- The certificates used to evaluate server trust according to the SSL pinning mode. By default, this property is set to any (`.cer`) certificates included in the app bundle. Note that if you create an array with duplicate certificates, the duplicate certificates will be removed. Note that if pinning is enabled, `evaluateServerTrust:forDomain:` will return true if any pinned certificate matches.
+ The certificates used to evaluate server trust according to the SSL pinning mode. 
+
+  By default, this property is set to any (`.cer`) certificates included in the target compiling AFNetworking. Note that if you are using AFNetworking as embedded framework, no certificates will be pinned by default. Use `certificatesInBundle` to load certificates from your target, and then create a new policy by calling `policyWithPinningMode:withPinnedCertificates`.
+ 
+ Note that if you create an array with duplicate certificates, the duplicate certificates will be removed. Note that if pinning is enabled, `evaluateServerTrust:forDomain:` will return true if any pinned certificate matches.
  */
 @property (nonatomic, strong, nullable) NSArray *pinnedCertificates;
 
@@ -58,6 +62,17 @@ NS_ASSUME_NONNULL_BEGIN
  */
 @property (nonatomic, assign) BOOL validatesDomainName;
 
+///-----------------------------------------
+/// @name Getting Certificates from the Bundle
+///-----------------------------------------
+
+/**
+ Returns any certificates included in the bundle. If you are using AFNetworking as an embedded framework, you must use this method to find the certificates you have included in your app bundle, and use them when creating your security policy by calling `policyWithPinningMode:withPinnedCertificates`.
+
+ @return The default security policy.
+ */
++ (NSArray *)certificatesInBundle:(NSBundle *)bundle;
+
 ///-----------------------------------------
 /// @name Getting Specific Security Policies
 ///-----------------------------------------
@@ -82,6 +97,16 @@ NS_ASSUME_NONNULL_BEGIN
  */
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode;
 
+/**
+ Creates and returns a security policy with the specified pinning mode.
+
+ @param pinningMode The SSL pinning mode.
+ @param pinnedCertificates The certificates to pin against.
+
+ @return A new security policy.
+ */
++ (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSArray *)pinnedCertificates;
+
 ///------------------------------
 /// @name Evaluating Server Trust
 ///------------------------------

+ 18 - 10
AFNetworking/AFSecurityPolicy.m

@@ -155,20 +155,24 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
 
 @implementation AFSecurityPolicy
 
++ (NSArray *)certificatesInBundle:(NSBundle *)bundle {
+    NSArray *paths = [bundle pathsForResourcesOfType:@"cer" inDirectory:@"."];
+
+    NSMutableArray *certificates = [NSMutableArray arrayWithCapacity:[paths count]];
+    for (NSString *path in paths) {
+        NSData *certificateData = [NSData dataWithContentsOfFile:path];
+        [certificates addObject:certificateData];
+    }
+
+    return [[NSArray alloc] initWithArray:certificates];
+}
+
 + (NSArray *)defaultPinnedCertificates {
     static NSArray *_defaultPinnedCertificates = nil;
     static dispatch_once_t onceToken;
     dispatch_once(&onceToken, ^{
         NSBundle *bundle = [NSBundle bundleForClass:[self class]];
-        NSArray *paths = [bundle pathsForResourcesOfType:@"cer" inDirectory:@"."];
-
-        NSMutableArray *certificates = [NSMutableArray arrayWithCapacity:[paths count]];
-        for (NSString *path in paths) {
-            NSData *certificateData = [NSData dataWithContentsOfFile:path];
-            [certificates addObject:certificateData];
-        }
-
-        _defaultPinnedCertificates = [[NSArray alloc] initWithArray:certificates];
+        _defaultPinnedCertificates = [self certificatesInBundle:bundle];
     });
 
     return _defaultPinnedCertificates;
@@ -182,10 +186,14 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
 }
 
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode {
+    return [self policyWithPinningMode:pinningMode withPinnedCertificates:[self defaultPinnedCertificates]];
+}
+
++ (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSArray *)pinnedCertificates {
     AFSecurityPolicy *securityPolicy = [[self alloc] init];
     securityPolicy.SSLPinningMode = pinningMode;
 
-    [securityPolicy setPinnedCertificates:[self defaultPinnedCertificates]];
+    [securityPolicy setPinnedCertificates:pinnedCertificates];
 
     return securityPolicy;
 }

+ 14 - 0
Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/OS X Example.xcscheme

@@ -6,6 +6,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C491BC2C7B200FD3B3E"
+               BuildableName = "AFNetworking Mac OS X Tests.xctest"
+               BlueprintName = "AFNetworking Mac OS X Tests"
+               ReferencedContainer = "container:../AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"

+ 17 - 3
Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/Today Extension Example.xcscheme

@@ -7,6 +7,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C3A1BC2C79500FD3B3E"
+               BuildableName = "AFNetworking iOS Tests.xctest"
+               BlueprintName = "AFNetworking iOS Tests"
+               ReferencedContainer = "container:../AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"
@@ -47,9 +61,9 @@
       <MacroExpansion>
          <BuildableReference
             BuildableIdentifier = "primary"
-            BlueprintIdentifier = "29E6F1E51BB9E37200A4466C"
-            BuildableName = "Today Extension Example.appex"
-            BlueprintName = "Today Extension Example"
+            BlueprintIdentifier = "29E6F1741BB9DCB500A4466C"
+            BuildableName = "iOS Example.app"
+            BlueprintName = "iOS Example"
             ReferencedContainer = "container:AFNetworking Example.xcodeproj">
          </BuildableReference>
       </MacroExpansion>

+ 14 - 0
Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/iOS Example.xcscheme

@@ -6,6 +6,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C3A1BC2C79500FD3B3E"
+               BuildableName = "AFNetworking iOS Tests.xctest"
+               BlueprintName = "AFNetworking iOS Tests"
+               ReferencedContainer = "container:../AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"

+ 14 - 0
Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/tvOS Example.xcscheme

@@ -6,6 +6,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "298D7C3A1BC2C79500FD3B3E"
+               BuildableName = "AFNetworking iOS Tests.xctest"
+               BlueprintName = "AFNetworking iOS Tests"
+               ReferencedContainer = "container:../AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"

+ 14 - 0
Example/AFNetworking Example.xcodeproj/xcshareddata/xcschemes/watchOS Example.xcscheme

@@ -6,6 +6,20 @@
       parallelizeBuildables = "YES"
       buildImplicitDependencies = "YES">
       <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "299522641BBF129200859F49"
+               BuildableName = "AFNetworking.framework"
+               BlueprintName = "AFNetworking watchOS"
+               ReferencedContainer = "container:../AFNetworking.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
          <BuildActionEntry
             buildForTesting = "YES"
             buildForRunning = "YES"

+ 5 - 5
Rakefile

@@ -2,8 +2,8 @@ include FileUtils::Verbose
 
 namespace :test do
   task :prepare do
-    mkdir_p "Tests/AFNetworking Tests.xcodeproj/xcshareddata/xcschemes"
-    cp Dir.glob('Tests/Schemes/*.xcscheme'), "Tests/AFNetworking Tests.xcodeproj/xcshareddata/xcschemes/"
+    # mkdir_p "Tests/AFNetworking Tests.xcodeproj/xcshareddata/xcschemes"
+    # cp Dir.glob('Tests/Schemes/*.xcscheme'), "Tests/AFNetworking Tests.xcodeproj/xcshareddata/xcschemes/"
   end
 
   desc "Run the AFNetworking Tests for iOS"
@@ -15,13 +15,13 @@ namespace :test do
       puts "Will run tests for iOS Simulator on iOS #{available_simulators[:runtime]} using #{available_simulators[:device_names][0]}"
     }
       
-    run_tests('iOS Tests', 'iphonesimulator', destinations)
+    run_tests('AFNetworking iOS Tests', 'iphonesimulator', destinations)
     tests_failed('iOS') unless $?.success?
   end
 
   desc "Run the AFNetworking Tests for Mac OS X"
   task :osx => :prepare do
-    run_tests('OS X Tests', 'macosx', ['platform=OS X,arch=x86_64'])
+    run_tests('AFNetworking Mac OS X Tests', 'macosx', ['platform=OS X,arch=x86_64'])
     tests_failed('OSX') unless $?.success?
   end
 end
@@ -39,7 +39,7 @@ private
 
 def run_tests(scheme, sdk, destinations)
   destinations = destinations.map! { |destination| "-destination \'#{destination}\'" }.join(' ')
-  sh("xcodebuild -workspace AFNetworking.xcworkspace -scheme '#{scheme}' -sdk '#{sdk}' #{destinations} -configuration Release clean test | xcpretty -c ; exit ${PIPESTATUS[0]}") rescue nil
+  sh("xcodebuild -workspace AFNetworking.xcworkspace -scheme '#{scheme}' -sdk '#{sdk}' #{destinations} -configuration Release test | xcpretty -c ; exit ${PIPESTATUS[0]}") rescue nil
 end
 
 def is_mavericks_or_above

+ 0 - 771
Tests/AFNetworking Tests.xcodeproj/project.pbxproj

@@ -1,771 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		2902D27917DF4E1100C81C5A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B9ED5C17DF4D350021E4D5 /* XCTest.framework */; };
-		2902D27A17DF4E1200C81C5A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2544EC35173BE382004117E8 /* Foundation.framework */; };
-		2902D27B17DF4E1200C81C5A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29133DD617DE77ED006E0493 /* UIKit.framework */; };
-		2902D28117DF4E1200C81C5A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2902D27F17DF4E1200C81C5A /* InfoPlist.strings */; };
-		2902D28D17DF4E2900C81C5A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B9ED5C17DF4D350021E4D5 /* XCTest.framework */; };
-		2902D28E17DF4E2A00C81C5A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2544EC35173BE382004117E8 /* Foundation.framework */; };
-		2902D29517DF4E2A00C81C5A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2902D29317DF4E2A00C81C5A /* InfoPlist.strings */; };
-		2902D29C17DF4E3700C81C5A /* AFTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B9ED7617DF4D790021E4D5 /* AFTestCase.m */; };
-		2902D29D17DF4E3800C81C5A /* AFTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B9ED7617DF4D790021E4D5 /* AFTestCase.m */; };
-		29126F201BBED75600EBF354 /* AFImageDownloaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29126F1F1BBED75600EBF354 /* AFImageDownloaderTests.m */; };
-		2940C00A1B063C6700AFDAC7 /* AFUIActivityIndicatorViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2940C0091B063C6700AFDAC7 /* AFUIActivityIndicatorViewTests.m */; };
-		2940C00C1B064C3200AFDAC7 /* AFUIRefreshControlTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2940C00B1B064C3200AFDAC7 /* AFUIRefreshControlTests.m */; };
-		295B1DCD1BBD8BB100EE113D /* AFAutoPurgingImageCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 295B1DCC1BBD8BB100EE113D /* AFAutoPurgingImageCacheTests.m */; };
-		295B1DCF1BBD8CB900EE113D /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 295B1DCE1BBD8CB900EE113D /* logo.png */; };
-		295B1DD01BBD8CB900EE113D /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 295B1DCE1BBD8CB900EE113D /* logo.png */; };
-		29CBFC3C17DF541F0021AB75 /* AFJSONSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29CBFC3B17DF541F0021AB75 /* AFJSONSerializationTests.m */; };
-		29CBFC3D17DF541F0021AB75 /* AFJSONSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29CBFC3B17DF541F0021AB75 /* AFJSONSerializationTests.m */; };
-		29CBFC3F17DF58000021AB75 /* AFHTTPRequestSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29CBFC3E17DF58000021AB75 /* AFHTTPRequestSerializationTests.m */; };
-		29CBFC4017DF58000021AB75 /* AFHTTPRequestSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29CBFC3E17DF58000021AB75 /* AFHTTPRequestSerializationTests.m */; };
-		29CBFC7617DF697C0021AB75 /* HTTPBinOrgServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 29CBFC7517DF697C0021AB75 /* HTTPBinOrgServerTrustChain */; };
-		29CBFC7717DF697C0021AB75 /* HTTPBinOrgServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 29CBFC7517DF697C0021AB75 /* HTTPBinOrgServerTrustChain */; };
-		29CBFC8717DF74C60021AB75 /* ADNNetServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 29CBFC8617DF74C60021AB75 /* ADNNetServerTrustChain */; };
-		29CBFC8817DF74C60021AB75 /* ADNNetServerTrustChain in Resources */ = {isa = PBXBuildFile; fileRef = 29CBFC8617DF74C60021AB75 /* ADNNetServerTrustChain */; };
-		29EAB0D71AFC148200C2C460 /* AFURLSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 943B1F40192E406C00304316 /* AFURLSessionManagerTests.m */; };
-		29F570501B62878600B267F7 /* AFSecurityPolicyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F5704F1B62878600B267F7 /* AFSecurityPolicyTests.m */; };
-		29F570511B62878700B267F7 /* AFSecurityPolicyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F5704F1B62878600B267F7 /* AFSecurityPolicyTests.m */; };
-		36DE264E18053E930062F4E3 /* adn_0.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264B18053E930062F4E3 /* adn_0.cer */; };
-		36DE264F18053E930062F4E3 /* adn_1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264C18053E930062F4E3 /* adn_1.cer */; };
-		36DE265018053E930062F4E3 /* adn_2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264D18053E930062F4E3 /* adn_2.cer */; };
-		3D56634E3A564CEE86172413 /* libPods-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A923755B00464187DEDBAF /* libPods-osx.a */; };
-		6D86BAA5C6174E98AE719CE9 /* libPods-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55E73C267F33406A9F92476C /* libPods-ios.a */; };
-		77D65EBC1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 77D65EBB1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m */; };
-		77D65EBD1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 77D65EBB1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m */; };
-		943B1F41192E406C00304316 /* AFURLSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 943B1F40192E406C00304316 /* AFURLSessionManagerTests.m */; };
-		A74DA00918D2FB9400F3B969 /* AltName.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00618D2FB9400F3B969 /* AltName.cer */; };
-		A74DA00A18D2FB9400F3B969 /* AltName.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00618D2FB9400F3B969 /* AltName.cer */; };
-		A74DA00B18D2FB9400F3B969 /* foobar.com.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00718D2FB9400F3B969 /* foobar.com.cer */; };
-		A74DA00C18D2FB9400F3B969 /* foobar.com.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00718D2FB9400F3B969 /* foobar.com.cer */; };
-		A74DA00D18D2FB9400F3B969 /* NoDomains.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00818D2FB9400F3B969 /* NoDomains.cer */; };
-		A74DA00E18D2FB9400F3B969 /* NoDomains.cer in Resources */ = {isa = PBXBuildFile; fileRef = A74DA00818D2FB9400F3B969 /* NoDomains.cer */; };
-		B6774DC918FBB49E0044DB17 /* AFNetworkActivityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B6774DC818FBB49E0044DB17 /* AFNetworkActivityManagerTests.m */; };
-		B6C1B95718ABF9E300C8B21A /* adn_0.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264B18053E930062F4E3 /* adn_0.cer */; };
-		B6C1B95818ABF9E300C8B21A /* adn_1.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264C18053E930062F4E3 /* adn_1.cer */; };
-		B6C1B95918ABF9E300C8B21A /* adn_2.cer in Resources */ = {isa = PBXBuildFile; fileRef = 36DE264D18053E930062F4E3 /* adn_2.cer */; };
-		C61291641B21E27700B9475A /* AFUIImageViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C61291631B21E27700B9475A /* AFUIImageViewTests.m */; };
-		CBBDB1651A7981FB00D412EE /* httpbinorg_01162016.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1641A7981E200D412EE /* httpbinorg_01162016.cer */; };
-		CBBDB1661A79820700D412EE /* httpbinorg_01162016.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1641A7981E200D412EE /* httpbinorg_01162016.cer */; };
-		CBBDB16A1A798AB500D412EE /* AddTrust_External_CA_Root.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1671A798AB500D412EE /* AddTrust_External_CA_Root.cer */; };
-		CBBDB16B1A798AB500D412EE /* AddTrust_External_CA_Root.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1671A798AB500D412EE /* AddTrust_External_CA_Root.cer */; };
-		CBBDB16C1A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1681A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer */; };
-		CBBDB16D1A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1681A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer */; };
-		CBBDB16E1A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1691A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */; };
-		CBBDB16F1A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */ = {isa = PBXBuildFile; fileRef = CBBDB1691A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */; };
-		DE533FCE1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE533FCD1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m */; };
-		DE533FCF1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE533FCD1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m */; };
-		F837FFAF195744A0009078A0 /* AFHTTPResponseSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F837FFAE195744A0009078A0 /* AFHTTPResponseSerializationTests.m */; };
-		F837FFB0195744A0009078A0 /* AFHTTPResponseSerializationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F837FFAE195744A0009078A0 /* AFHTTPResponseSerializationTests.m */; };
-		F87382951948AC15000B7AFA /* AFHTTPSessionManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F87382941948AC15000B7AFA /* AFHTTPSessionManagerTests.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-		2544EC35173BE382004117E8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		2544EC44173BE382004117E8 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
-		2544EC80173BFAA8004117E8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
-		2544EC83173BFAA8004117E8 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
-		2544EC84173BFAA8004117E8 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
-		2544EC85173BFAA8004117E8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		25C4EC2A173D7DB30083E116 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
-		25C4EC2C173D7DBA0083E116 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/CoreServices.framework; sourceTree = DEVELOPER_DIR; };
-		25C4EC2E173D7DC40083E116 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
-		25C4EC30173D7DCA0083E116 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
-		25C4EC32173D7DD20083E116 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
-		2902D27817DF4E1100C81C5A /* iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
-		2902D27E17DF4E1200C81C5A /* iOS Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iOS Tests-Info.plist"; sourceTree = "<group>"; };
-		2902D28017DF4E1200C81C5A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		2902D28417DF4E1200C81C5A /* iOS Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iOS Tests-Prefix.pch"; sourceTree = "<group>"; };
-		2902D28C17DF4E2900C81C5A /* OS X Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "OS X Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
-		2902D29217DF4E2A00C81C5A /* OS X Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "OS X Tests-Info.plist"; sourceTree = "<group>"; };
-		2902D29417DF4E2A00C81C5A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		2902D29817DF4E2A00C81C5A /* OS X Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OS X Tests-Prefix.pch"; sourceTree = "<group>"; };
-		29126F1F1BBED75600EBF354 /* AFImageDownloaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageDownloaderTests.m; sourceTree = "<group>"; };
-		29133DD417DE77A5006E0493 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
-		29133DD617DE77ED006E0493 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
-		29133DD817DE7829006E0493 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
-		2940C0091B063C6700AFDAC7 /* AFUIActivityIndicatorViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFUIActivityIndicatorViewTests.m; sourceTree = "<group>"; };
-		2940C00B1B064C3200AFDAC7 /* AFUIRefreshControlTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFUIRefreshControlTests.m; sourceTree = "<group>"; };
-		295B1DCC1BBD8BB100EE113D /* AFAutoPurgingImageCacheTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFAutoPurgingImageCacheTests.m; sourceTree = "<group>"; };
-		295B1DCE1BBD8CB900EE113D /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logo.png; path = Resources/logo.png; sourceTree = "<group>"; };
-		29B9ED5C17DF4D350021E4D5 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
-		29B9ED7617DF4D790021E4D5 /* AFTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFTestCase.m; sourceTree = "<group>"; };
-		29B9ED7817DF4D830021E4D5 /* AFTestCase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AFTestCase.h; sourceTree = "<group>"; };
-		29CBFC3B17DF541F0021AB75 /* AFJSONSerializationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFJSONSerializationTests.m; sourceTree = "<group>"; };
-		29CBFC3E17DF58000021AB75 /* AFHTTPRequestSerializationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestSerializationTests.m; sourceTree = "<group>"; };
-		29CBFC7517DF697C0021AB75 /* HTTPBinOrgServerTrustChain */ = {isa = PBXFileReference; lastKnownFileType = folder; path = HTTPBinOrgServerTrustChain; sourceTree = "<group>"; };
-		29CBFC8617DF74C60021AB75 /* ADNNetServerTrustChain */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ADNNetServerTrustChain; sourceTree = "<group>"; };
-		29F5704F1B62878600B267F7 /* AFSecurityPolicyTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicyTests.m; sourceTree = "<group>"; };
-		2B6D24F8E1B74E10A269E8B3 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		36DE264B18053E930062F4E3 /* adn_0.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_0.cer; path = Resources/ADN.net/ADNNetServerTrustChain/adn_0.cer; sourceTree = "<group>"; };
-		36DE264C18053E930062F4E3 /* adn_1.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_1.cer; path = Resources/ADN.net/ADNNetServerTrustChain/adn_1.cer; sourceTree = "<group>"; };
-		36DE264D18053E930062F4E3 /* adn_2.cer */ = {isa = PBXFileReference; lastKnownFileType = file; name = adn_2.cer; path = Resources/ADN.net/ADNNetServerTrustChain/adn_2.cer; sourceTree = "<group>"; };
-		520A0FB27D040CF3258787D2 /* Pods-osx.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-osx.debug.xcconfig"; path = "Pods/Target Support Files/Pods-osx/Pods-osx.debug.xcconfig"; sourceTree = "<group>"; };
-		55E73C267F33406A9F92476C /* libPods-ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ios.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		77D65EBB1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFPropertyListResponseSerializerTests.m; sourceTree = "<group>"; };
-		943B1F40192E406C00304316 /* AFURLSessionManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManagerTests.m; sourceTree = "<group>"; };
-		95D45FB81CA3594FA8CF7430 /* Pods-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ios/Pods-ios.debug.xcconfig"; sourceTree = "<group>"; };
-		96A923755B00464187DEDBAF /* libPods-osx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-osx.a"; sourceTree = BUILT_PRODUCTS_DIR; };
-		A74DA00618D2FB9400F3B969 /* AltName.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = AltName.cer; sourceTree = "<group>"; };
-		A74DA00718D2FB9400F3B969 /* foobar.com.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = foobar.com.cer; sourceTree = "<group>"; };
-		A74DA00818D2FB9400F3B969 /* NoDomains.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = NoDomains.cer; sourceTree = "<group>"; };
-		B6774DC818FBB49E0044DB17 /* AFNetworkActivityManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityManagerTests.m; sourceTree = "<group>"; };
-		BC9AB30A551203E10B6C890E /* Pods-osx.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-osx.release.xcconfig"; path = "Pods/Target Support Files/Pods-osx/Pods-osx.release.xcconfig"; sourceTree = "<group>"; };
-		C280748C740FAD506581E3CE /* Pods-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios.release.xcconfig"; path = "Pods/Target Support Files/Pods-ios/Pods-ios.release.xcconfig"; sourceTree = "<group>"; };
-		C61291631B21E27700B9475A /* AFUIImageViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFUIImageViewTests.m; sourceTree = "<group>"; };
-		CBBDB1641A7981E200D412EE /* httpbinorg_01162016.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = httpbinorg_01162016.cer; sourceTree = "<group>"; };
-		CBBDB1671A798AB500D412EE /* AddTrust_External_CA_Root.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = AddTrust_External_CA_Root.cer; sourceTree = "<group>"; };
-		CBBDB1681A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = COMODO_RSA_Certification_Authority.cer; sourceTree = "<group>"; };
-		CBBDB1691A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = COMODO_RSA_Domain_Validation_Secure_Server_CA.cer; sourceTree = "<group>"; };
-		DE533FCD1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManagerTests.m; sourceTree = "<group>"; };
-		F837FFAE195744A0009078A0 /* AFHTTPResponseSerializationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPResponseSerializationTests.m; sourceTree = "<group>"; };
-		F87382941948AC15000B7AFA /* AFHTTPSessionManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManagerTests.m; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		2902D27517DF4E1100C81C5A /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				2902D27917DF4E1100C81C5A /* XCTest.framework in Frameworks */,
-				2902D27B17DF4E1200C81C5A /* UIKit.framework in Frameworks */,
-				2902D27A17DF4E1200C81C5A /* Foundation.framework in Frameworks */,
-				6D86BAA5C6174E98AE719CE9 /* libPods-ios.a in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		2902D28917DF4E2900C81C5A /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				2902D28D17DF4E2900C81C5A /* XCTest.framework in Frameworks */,
-				2902D28E17DF4E2A00C81C5A /* Foundation.framework in Frameworks */,
-				3D56634E3A564CEE86172413 /* libPods-osx.a in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		2544EC29173BE382004117E8 = {
-			isa = PBXGroup;
-			children = (
-				36DE264B18053E930062F4E3 /* adn_0.cer */,
-				36DE264C18053E930062F4E3 /* adn_1.cer */,
-				36DE264D18053E930062F4E3 /* adn_2.cer */,
-				25A753091747FC7E00F04F2F /* Resources */,
-				29B9ED6017DF4D350021E4D5 /* Tests */,
-				2902D27C17DF4E1200C81C5A /* iOS Tests */,
-				2902D29017DF4E2A00C81C5A /* OS X Tests */,
-				2544EC34173BE382004117E8 /* Frameworks */,
-				2544EC33173BE382004117E8 /* Products */,
-				792D9983BBDACA0DD7F01333 /* Pods */,
-			);
-			sourceTree = "<group>";
-		};
-		2544EC33173BE382004117E8 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				2902D27817DF4E1100C81C5A /* iOS Tests.xctest */,
-				2902D28C17DF4E2900C81C5A /* OS X Tests.xctest */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		2544EC34173BE382004117E8 /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				29133DD817DE7829006E0493 /* Security.framework */,
-				29133DD617DE77ED006E0493 /* UIKit.framework */,
-				29133DD417DE77A5006E0493 /* CoreGraphics.framework */,
-				25C4EC32173D7DD20083E116 /* SystemConfiguration.framework */,
-				25C4EC30173D7DCA0083E116 /* MobileCoreServices.framework */,
-				25C4EC2E173D7DC40083E116 /* CFNetwork.framework */,
-				25C4EC2C173D7DBA0083E116 /* CoreServices.framework */,
-				25C4EC2A173D7DB30083E116 /* SystemConfiguration.framework */,
-				2544EC35173BE382004117E8 /* Foundation.framework */,
-				2544EC44173BE382004117E8 /* SenTestingKit.framework */,
-				2544EC80173BFAA8004117E8 /* Cocoa.framework */,
-				29B9ED5C17DF4D350021E4D5 /* XCTest.framework */,
-				2544EC82173BFAA8004117E8 /* Other Frameworks */,
-				55E73C267F33406A9F92476C /* libPods-ios.a */,
-				96A923755B00464187DEDBAF /* libPods-osx.a */,
-				2B6D24F8E1B74E10A269E8B3 /* libPods.a */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
-		2544EC82173BFAA8004117E8 /* Other Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				2544EC83173BFAA8004117E8 /* AppKit.framework */,
-				2544EC84173BFAA8004117E8 /* CoreData.framework */,
-				2544EC85173BFAA8004117E8 /* Foundation.framework */,
-			);
-			name = "Other Frameworks";
-			sourceTree = "<group>";
-		};
-		25A753091747FC7E00F04F2F /* Resources */ = {
-			isa = PBXGroup;
-			children = (
-				295B1DCE1BBD8CB900EE113D /* logo.png */,
-				F8E801E9175AC34D008D3886 /* Certificates */,
-			);
-			name = Resources;
-			sourceTree = "<group>";
-		};
-		2902D27C17DF4E1200C81C5A /* iOS Tests */ = {
-			isa = PBXGroup;
-			children = (
-				2902D27D17DF4E1200C81C5A /* Supporting Files */,
-			);
-			path = "iOS Tests";
-			sourceTree = "<group>";
-		};
-		2902D27D17DF4E1200C81C5A /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				2902D27E17DF4E1200C81C5A /* iOS Tests-Info.plist */,
-				2902D27F17DF4E1200C81C5A /* InfoPlist.strings */,
-				2902D28417DF4E1200C81C5A /* iOS Tests-Prefix.pch */,
-			);
-			name = "Supporting Files";
-			sourceTree = "<group>";
-		};
-		2902D29017DF4E2A00C81C5A /* OS X Tests */ = {
-			isa = PBXGroup;
-			children = (
-				2902D29117DF4E2A00C81C5A /* Supporting Files */,
-			);
-			path = "OS X Tests";
-			sourceTree = "<group>";
-		};
-		2902D29117DF4E2A00C81C5A /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				2902D29217DF4E2A00C81C5A /* OS X Tests-Info.plist */,
-				2902D29317DF4E2A00C81C5A /* InfoPlist.strings */,
-				2902D29817DF4E2A00C81C5A /* OS X Tests-Prefix.pch */,
-			);
-			name = "Supporting Files";
-			sourceTree = "<group>";
-		};
-		29B9ED6017DF4D350021E4D5 /* Tests */ = {
-			isa = PBXGroup;
-			children = (
-				29B9ED7817DF4D830021E4D5 /* AFTestCase.h */,
-				29B9ED7617DF4D790021E4D5 /* AFTestCase.m */,
-				F87382941948AC15000B7AFA /* AFHTTPSessionManagerTests.m */,
-				29CBFC3E17DF58000021AB75 /* AFHTTPRequestSerializationTests.m */,
-				F837FFAE195744A0009078A0 /* AFHTTPResponseSerializationTests.m */,
-				29CBFC3B17DF541F0021AB75 /* AFJSONSerializationTests.m */,
-				77D65EBB1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m */,
-				29F5704F1B62878600B267F7 /* AFSecurityPolicyTests.m */,
-				B6774DC818FBB49E0044DB17 /* AFNetworkActivityManagerTests.m */,
-				943B1F40192E406C00304316 /* AFURLSessionManagerTests.m */,
-				DE533FCD1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m */,
-				2940C0091B063C6700AFDAC7 /* AFUIActivityIndicatorViewTests.m */,
-				2940C00B1B064C3200AFDAC7 /* AFUIRefreshControlTests.m */,
-				C61291631B21E27700B9475A /* AFUIImageViewTests.m */,
-				295B1DCC1BBD8BB100EE113D /* AFAutoPurgingImageCacheTests.m */,
-				29126F1F1BBED75600EBF354 /* AFImageDownloaderTests.m */,
-			);
-			path = Tests;
-			sourceTree = "<group>";
-		};
-		29CBFC4E17DF61920021AB75 /* HTTPBin.org */ = {
-			isa = PBXGroup;
-			children = (
-				CBBDB1671A798AB500D412EE /* AddTrust_External_CA_Root.cer */,
-				CBBDB1681A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer */,
-				CBBDB1691A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer */,
-				CBBDB1641A7981E200D412EE /* httpbinorg_01162016.cer */,
-				29CBFC7517DF697C0021AB75 /* HTTPBinOrgServerTrustChain */,
-			);
-			name = HTTPBin.org;
-			path = Resources/HTTPBin.org;
-			sourceTree = "<group>";
-		};
-		29CBFC7B17DF74A80021AB75 /* ADN.net */ = {
-			isa = PBXGroup;
-			children = (
-				29CBFC8617DF74C60021AB75 /* ADNNetServerTrustChain */,
-			);
-			name = ADN.net;
-			path = Resources/ADN.net;
-			sourceTree = "<group>";
-		};
-		792D9983BBDACA0DD7F01333 /* Pods */ = {
-			isa = PBXGroup;
-			children = (
-				95D45FB81CA3594FA8CF7430 /* Pods-ios.debug.xcconfig */,
-				C280748C740FAD506581E3CE /* Pods-ios.release.xcconfig */,
-				520A0FB27D040CF3258787D2 /* Pods-osx.debug.xcconfig */,
-				BC9AB30A551203E10B6C890E /* Pods-osx.release.xcconfig */,
-			);
-			name = Pods;
-			sourceTree = "<group>";
-		};
-		A74DA00518D2FB9400F3B969 /* SelfSigned */ = {
-			isa = PBXGroup;
-			children = (
-				A74DA00618D2FB9400F3B969 /* AltName.cer */,
-				A74DA00718D2FB9400F3B969 /* foobar.com.cer */,
-				A74DA00818D2FB9400F3B969 /* NoDomains.cer */,
-			);
-			name = SelfSigned;
-			path = Resources/SelfSigned;
-			sourceTree = "<group>";
-		};
-		F8E801E9175AC34D008D3886 /* Certificates */ = {
-			isa = PBXGroup;
-			children = (
-				29CBFC7B17DF74A80021AB75 /* ADN.net */,
-				29CBFC4E17DF61920021AB75 /* HTTPBin.org */,
-				A74DA00518D2FB9400F3B969 /* SelfSigned */,
-			);
-			name = Certificates;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-		2902D27717DF4E1100C81C5A /* iOS Tests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 2902D28717DF4E1200C81C5A /* Build configuration list for PBXNativeTarget "iOS Tests" */;
-			buildPhases = (
-				54CD36584E3B40719F14C3C9 /* Check Pods Manifest.lock */,
-				2902D27417DF4E1100C81C5A /* Sources */,
-				2902D27517DF4E1100C81C5A /* Frameworks */,
-				2902D27617DF4E1100C81C5A /* Resources */,
-				DFF6BB8B6C8D4F8ABC235667 /* Copy Pods Resources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = "iOS Tests";
-			productName = "iOS Tests";
-			productReference = 2902D27817DF4E1100C81C5A /* iOS Tests.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-		2902D28B17DF4E2900C81C5A /* OS X Tests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 2902D29917DF4E2A00C81C5A /* Build configuration list for PBXNativeTarget "OS X Tests" */;
-			buildPhases = (
-				6949C05DBEB94BC2BAE81768 /* Check Pods Manifest.lock */,
-				2902D28817DF4E2900C81C5A /* Sources */,
-				2902D28917DF4E2900C81C5A /* Frameworks */,
-				2902D28A17DF4E2900C81C5A /* Resources */,
-				D728EB5862164B87922C9B80 /* Copy Pods Resources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = "OS X Tests";
-			productName = "OS X Tests";
-			productReference = 2902D28C17DF4E2900C81C5A /* OS X Tests.xctest */;
-			productType = "com.apple.product-type.bundle.unit-test";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		2544EC2A173BE382004117E8 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastUpgradeCheck = 0510;
-				ORGANIZATIONNAME = AFNetworking;
-			};
-			buildConfigurationList = 2544EC2D173BE382004117E8 /* Build configuration list for PBXProject "AFNetworking Tests" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 2544EC29173BE382004117E8;
-			productRefGroup = 2544EC33173BE382004117E8 /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				2902D27717DF4E1100C81C5A /* iOS Tests */,
-				2902D28B17DF4E2900C81C5A /* OS X Tests */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-		2902D27617DF4E1100C81C5A /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				CBBDB16A1A798AB500D412EE /* AddTrust_External_CA_Root.cer in Resources */,
-				29CBFC8717DF74C60021AB75 /* ADNNetServerTrustChain in Resources */,
-				A74DA00D18D2FB9400F3B969 /* NoDomains.cer in Resources */,
-				2902D28117DF4E1200C81C5A /* InfoPlist.strings in Resources */,
-				295B1DCF1BBD8CB900EE113D /* logo.png in Resources */,
-				CBBDB1651A7981FB00D412EE /* httpbinorg_01162016.cer in Resources */,
-				36DE264E18053E930062F4E3 /* adn_0.cer in Resources */,
-				36DE264F18053E930062F4E3 /* adn_1.cer in Resources */,
-				CBBDB16C1A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer in Resources */,
-				CBBDB16E1A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */,
-				A74DA00B18D2FB9400F3B969 /* foobar.com.cer in Resources */,
-				36DE265018053E930062F4E3 /* adn_2.cer in Resources */,
-				29CBFC7617DF697C0021AB75 /* HTTPBinOrgServerTrustChain in Resources */,
-				A74DA00918D2FB9400F3B969 /* AltName.cer in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		2902D28A17DF4E2900C81C5A /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				CBBDB16B1A798AB500D412EE /* AddTrust_External_CA_Root.cer in Resources */,
-				29CBFC8817DF74C60021AB75 /* ADNNetServerTrustChain in Resources */,
-				A74DA00E18D2FB9400F3B969 /* NoDomains.cer in Resources */,
-				2902D29517DF4E2A00C81C5A /* InfoPlist.strings in Resources */,
-				295B1DD01BBD8CB900EE113D /* logo.png in Resources */,
-				CBBDB1661A79820700D412EE /* httpbinorg_01162016.cer in Resources */,
-				B6C1B95718ABF9E300C8B21A /* adn_0.cer in Resources */,
-				B6C1B95818ABF9E300C8B21A /* adn_1.cer in Resources */,
-				CBBDB16D1A798AB500D412EE /* COMODO_RSA_Certification_Authority.cer in Resources */,
-				CBBDB16F1A798AB500D412EE /* COMODO_RSA_Domain_Validation_Secure_Server_CA.cer in Resources */,
-				A74DA00C18D2FB9400F3B969 /* foobar.com.cer in Resources */,
-				B6C1B95918ABF9E300C8B21A /* adn_2.cer in Resources */,
-				29CBFC7717DF697C0021AB75 /* HTTPBinOrgServerTrustChain in Resources */,
-				A74DA00A18D2FB9400F3B969 /* AltName.cer in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
-		54CD36584E3B40719F14C3C9 /* Check Pods Manifest.lock */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Check Pods Manifest.lock";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n    cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n    exit 1\nfi\n";
-			showEnvVarsInLog = 0;
-		};
-		6949C05DBEB94BC2BAE81768 /* Check Pods Manifest.lock */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Check Pods Manifest.lock";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n    cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n    exit 1\nfi\n";
-			showEnvVarsInLog = 0;
-		};
-		D728EB5862164B87922C9B80 /* Copy Pods Resources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Copy Pods Resources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-osx/Pods-osx-resources.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
-		DFF6BB8B6C8D4F8ABC235667 /* Copy Pods Resources */ = {
-			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputPaths = (
-			);
-			name = "Copy Pods Resources";
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ios/Pods-ios-resources.sh\"\n";
-			showEnvVarsInLog = 0;
-		};
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		2902D27417DF4E1100C81C5A /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				2940C00A1B063C6700AFDAC7 /* AFUIActivityIndicatorViewTests.m in Sources */,
-				C61291641B21E27700B9475A /* AFUIImageViewTests.m in Sources */,
-				943B1F41192E406C00304316 /* AFURLSessionManagerTests.m in Sources */,
-				F837FFAF195744A0009078A0 /* AFHTTPResponseSerializationTests.m in Sources */,
-				2940C00C1B064C3200AFDAC7 /* AFUIRefreshControlTests.m in Sources */,
-				29CBFC3F17DF58000021AB75 /* AFHTTPRequestSerializationTests.m in Sources */,
-				29F570501B62878600B267F7 /* AFSecurityPolicyTests.m in Sources */,
-				B6774DC918FBB49E0044DB17 /* AFNetworkActivityManagerTests.m in Sources */,
-				DE533FCE1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m in Sources */,
-				29CBFC3C17DF541F0021AB75 /* AFJSONSerializationTests.m in Sources */,
-				77D65EBC1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m in Sources */,
-				2902D29C17DF4E3700C81C5A /* AFTestCase.m in Sources */,
-				F87382951948AC15000B7AFA /* AFHTTPSessionManagerTests.m in Sources */,
-				29126F201BBED75600EBF354 /* AFImageDownloaderTests.m in Sources */,
-				295B1DCD1BBD8BB100EE113D /* AFAutoPurgingImageCacheTests.m in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-		2902D28817DF4E2900C81C5A /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				F837FFB0195744A0009078A0 /* AFHTTPResponseSerializationTests.m in Sources */,
-				29EAB0D71AFC148200C2C460 /* AFURLSessionManagerTests.m in Sources */,
-				29F570511B62878700B267F7 /* AFSecurityPolicyTests.m in Sources */,
-				29CBFC4017DF58000021AB75 /* AFHTTPRequestSerializationTests.m in Sources */,
-				29CBFC3D17DF541F0021AB75 /* AFJSONSerializationTests.m in Sources */,
-				77D65EBD1848A03C004CA024 /* AFPropertyListResponseSerializerTests.m in Sources */,
-				DE533FCF1ACCF34200C62CFB /* AFNetworkReachabilityManagerTests.m in Sources */,
-				2902D29D17DF4E3800C81C5A /* AFTestCase.m in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-		2902D27F17DF4E1200C81C5A /* InfoPlist.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				2902D28017DF4E1200C81C5A /* en */,
-			);
-			name = InfoPlist.strings;
-			sourceTree = "<group>";
-		};
-		2902D29317DF4E2A00C81C5A /* InfoPlist.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				2902D29417DF4E2A00C81C5A /* en */,
-			);
-			name = InfoPlist.strings;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-		2544EC55173BE382004117E8 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = NO;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
-				ONLY_ACTIVE_ARCH = YES;
-				SDKROOT = iphoneos;
-			};
-			name = Debug;
-		};
-		2544EC56173BE382004117E8 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_ENABLE_OBJC_ARC = YES;
-				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN_ENUM_CONVERSION = YES;
-				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 6.1;
-				SDKROOT = iphoneos;
-				VALIDATE_PRODUCT = YES;
-			};
-			name = Release;
-		};
-		2902D28517DF4E1200C81C5A /* Debug */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 95D45FB81CA3594FA8CF7430 /* Pods-ios.debug.xcconfig */;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(SDKROOT)/Developer/Library/Frameworks",
-					"$(inherited)",
-					"$(DEVELOPER_FRAMEWORKS_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "iOS Tests/iOS Tests-Prefix.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				INFOPLIST_FILE = "iOS Tests/iOS Tests-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				WRAPPER_EXTENSION = xctest;
-			};
-			name = Debug;
-		};
-		2902D28617DF4E1200C81C5A /* Release */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = C280748C740FAD506581E3CE /* Pods-ios.release.xcconfig */;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				ENABLE_NS_ASSERTIONS = NO;
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(SDKROOT)/Developer/Library/Frameworks",
-					"$(inherited)",
-					"$(DEVELOPER_FRAMEWORKS_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "iOS Tests/iOS Tests-Prefix.pch";
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				INFOPLIST_FILE = "iOS Tests/iOS Tests-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				WRAPPER_EXTENSION = xctest;
-			};
-			name = Release;
-		};
-		2902D29A17DF4E2A00C81C5A /* Debug */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = 520A0FB27D040CF3258787D2 /* Pods-osx.debug.xcconfig */;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				COMBINE_HIDPI_IMAGES = YES;
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(DEVELOPER_FRAMEWORKS_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "OS X Tests/OS X Tests-Prefix.pch";
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				INFOPLIST_FILE = "OS X Tests/OS X Tests-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SDKROOT = macosx;
-				WRAPPER_EXTENSION = xctest;
-			};
-			name = Debug;
-		};
-		2902D29B17DF4E2A00C81C5A /* Release */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = BC9AB30A551203E10B6C890E /* Pods-osx.release.xcconfig */;
-			buildSettings = {
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_WARN_BOOL_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				COMBINE_HIDPI_IMAGES = YES;
-				ENABLE_NS_ASSERTIONS = NO;
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(DEVELOPER_FRAMEWORKS_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "OS X Tests/OS X Tests-Prefix.pch";
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				INFOPLIST_FILE = "OS X Tests/OS X Tests-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SDKROOT = macosx;
-				WRAPPER_EXTENSION = xctest;
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		2544EC2D173BE382004117E8 /* Build configuration list for PBXProject "AFNetworking Tests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				2544EC55173BE382004117E8 /* Debug */,
-				2544EC56173BE382004117E8 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		2902D28717DF4E1200C81C5A /* Build configuration list for PBXNativeTarget "iOS Tests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				2902D28517DF4E1200C81C5A /* Debug */,
-				2902D28617DF4E1200C81C5A /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		2902D29917DF4E2A00C81C5A /* Build configuration list for PBXNativeTarget "OS X Tests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				2902D29A17DF4E2A00C81C5A /* Debug */,
-				2902D29B17DF4E2A00C81C5A /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 2544EC2A173BE382004117E8 /* Project object */;
-}

+ 0 - 22
Tests/AFNetworkingTests-Info.plist

@@ -1,22 +0,0 @@
-<?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>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.afnetworking.${PRODUCT_NAME:rfc1034identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundlePackageType</key>
-	<string>BNDL</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-</dict>
-</plist>

+ 0 - 2
Tests/OS X Tests/en.lproj/InfoPlist.strings

@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-

+ 0 - 22
Tests/Podfile

@@ -1,22 +0,0 @@
-source 'https://github.com/CocoaPods/Specs'
-
-xcodeproj 'AFNetworking Tests'
-workspace '../AFNetworking'
-inhibit_all_warnings!
-
-def import_pods
-  pod 'OCMock', '~> 2.1.1'
-  pod 'AFNetworking', :path => '../'
-end
-
-target :ios do
-  platform :ios, '7.0'
-  link_with 'iOS Tests'
-  import_pods
-end
-
-target :osx do
-  platform :osx, '10.9'
-  link_with 'OS X Tests'
-  import_pods
-end

+ 0 - 83
Tests/Schemes/OS X Tests.xcscheme

@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "0460"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "FF3A4367F4A94D26A35ADC66"
-               BuildableName = "libPods-osx.a"
-               BlueprintName = "Pods-osx"
-               ReferencedContainer = "container:Pods/Pods.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "NO"
-            buildForArchiving = "NO"
-            buildForAnalyzing = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2902D28B17DF4E2900C81C5A"
-               BuildableName = "OS X Tests.xctest"
-               BlueprintName = "OS X Tests"
-               ReferencedContainer = "container:AFNetworking Tests.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      buildConfiguration = "Debug">
-      <Testables>
-         <TestableReference
-            skipped = "NO">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "2902D28B17DF4E2900C81C5A"
-               BuildableName = "OS X Tests.xctest"
-               BlueprintName = "OS X Tests"
-               ReferencedContainer = "container:AFNetworking Tests.xcodeproj">
-            </BuildableReference>
-         </TestableReference>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      allowLocationSimulation = "YES">
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Release"
-      debugDocumentVersioning = "YES">
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 1 - 1
Tests/Tests/AFAutoPurgingImageCacheTests.m

@@ -20,7 +20,7 @@
 // THE SOFTWARE.
 
 #import <XCTest/XCTest.h>
-#import <AFNetworking/AFAutoPurgingImageCache.h>
+#import "AFAutoPurgingImageCache.h"
 
 @interface AFAutoPurgingImageCacheTests : XCTestCase
 @property (nonatomic, strong) AFAutoPurgingImageCache *cache;

+ 1 - 1
Tests/Tests/AFHTTPRequestSerializationTests.m

@@ -107,7 +107,7 @@
     Class streamClass = NSClassFromString(@"AFStreamingMultipartFormData");
     id <AFMultipartFormDataTest> formData = [[streamClass alloc] initWithURLRequest:originalRequest stringEncoding:NSUTF8StringEncoding];
 
-    NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"adn_0" ofType:@"cer"]];
+    NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"ADNNetServerTrustChain/adn_0" ofType:@"cer"]];
 
     [formData appendPartWithFileURL:fileURL name:@"test" error:NULL];
 

+ 1 - 1
Tests/Tests/AFImageDownloaderTests.m

@@ -20,7 +20,7 @@
 // THE SOFTWARE.
 
 #import <XCTest/XCTest.h>
-#import <AFNetworking/AFImageDownloader.h>
+#import "AFImageDownloader.h"
 
 @interface AFImageDownloaderTests : XCTestCase
 @property (nonatomic, strong) NSURLRequest *pngRequest;

+ 4 - 2
Tests/Tests/AFSecurityPolicyTests.m

@@ -187,7 +187,8 @@ static SecTrustRef AFUTTrustWithCertificate(SecCertificateRef certificate) {
 }
 
 - (void)testPolicyWithPublicKeyPinningModeHasHTTPBinOrgPinnedCertificate {
-    AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey];
+    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+    AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey withPinnedCertificates:[AFSecurityPolicy certificatesInBundle:bundle]];
 
     SecCertificateRef cert = AFUTHTTPBinOrgCertificate();
     NSData *certData = (__bridge NSData *)(SecCertificateCopyData(cert));
@@ -308,7 +309,8 @@ static SecTrustRef AFUTTrustWithCertificate(SecCertificateRef certificate) {
 }
 
 - (void)testPolicyWithCertificatePinningModeHasHTTPBinOrgPinnedCertificate {
-    AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
+    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+    AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[AFSecurityPolicy certificatesInBundle:bundle]];
 
     SecCertificateRef cert = AFUTHTTPBinOrgCertificate();
     NSData *certData = (__bridge NSData *)(SecCertificateCopyData(cert));

+ 0 - 2
Tests/Tests/AFTestCase.h

@@ -21,8 +21,6 @@
 
 #import <XCTest/XCTest.h>
 
-#import "OCMock.h"
-
 extern NSString * const AFNetworkingTestsBaseURLString;
 
 @interface AFTestCase : XCTestCase

+ 2 - 2
Tests/Tests/AFUIActivityIndicatorViewTests.m

@@ -20,8 +20,8 @@
 // THE SOFTWARE.
 
 #import "AFTestCase.h"
-#import <AFNetworking/UIActivityIndicatorView+AFNetworking.h>
-#import <AFNetworking/AFURLSessionManager.h>
+#import "UIActivityIndicatorView+AFNetworking.h"
+#import "AFURLSessionManager.h"
 
 @interface AFUIActivityIndicatorViewTests : AFTestCase
 @property (nonatomic, strong) NSURLRequest *request;

+ 102 - 30
Tests/Tests/AFUIImageViewTests.m

@@ -20,58 +20,130 @@
 // THE SOFTWARE.
 
 #import "AFTestCase.h"
-#import <AFNetworking/UIImageView+AFNetworking.h>
-#import <AFNetworking/AFImageDownloader.h>
-#import <OCMock/OCMock.h>
+#import "UIImageView+AFNetworking.h"
+#import "AFImageDownloader.h"
 
 @interface AFUIImageViewTests : AFTestCase
 @property (nonatomic, strong) UIImage *cachedImage;
 @property (nonatomic, strong) NSURLRequest *cachedImageRequest;
 @property (nonatomic, strong) UIImageView *imageView;
+
+@property (nonatomic, strong) NSURL *error404URL;
+@property (nonatomic, strong) NSURLRequest *error404URLRequest;
+
+@property (nonatomic, strong) NSURL *jpegURL;
+@property (nonatomic, strong) NSURLRequest *jpegURLRequest;
+
+@property (nonatomic, assign) NSTimeInterval timeout;
 @end
 
 @implementation AFUIImageViewTests
 
 - (void)setUp {
     [super setUp];
+    [[UIImageView sharedImageDownloader].imageCache removeAllImages];
+    [[[[[[UIImageView sharedImageDownloader] sessionManager] session] configuration] URLCache] removeAllCachedResponses];
     self.imageView = [UIImageView new];
-    [self setUpSharedImageCache];
+
+    self.jpegURL = [NSURL URLWithString:@"https://httpbin.org/image/jpeg"];
+    self.jpegURLRequest = [NSURLRequest requestWithURL:self.jpegURL];
+
+    self.error404URL = [NSURL URLWithString:@"https://httpbin.org/status/404"];
+    self.error404URLRequest = [NSURLRequest requestWithURL:self.error404URL];
+
+    self.timeout = 5.0;
 }
 
 - (void)tearDown {
-    [self tearDownSharedImageCache];
     [super tearDown];
+
+}
+
+- (void)testThatImageCanBeDownloadedFromURL {
+    XCTAssertNil(self.imageView.image);
+    [self.imageView setImageWithURL:self.jpegURL];
+    [self expectationForPredicate:[NSPredicate predicateWithFormat:@"image != nil"]
+              evaluatedWithObject:self.imageView
+                          handler:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+}
+
+- (void)testThatImageDownloadSucceedsWhenDuplicateRequestIsSentToImageView {
+    XCTAssertNil(self.imageView.image);
+    [self.imageView setImageWithURL:self.jpegURL];
+    [self.imageView setImageWithURL:self.jpegURL];
+    [self expectationForPredicate:[NSPredicate predicateWithFormat:@"image != nil"]
+              evaluatedWithObject:self.imageView
+                          handler:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+}
+
+- (void)testThatPlaceholderImageIsSetIfRequestFails {
+    UIImage *placeholder = [UIImage imageNamed:@"logo"];
+    XCTestExpectation *expectation = [self expectationWithDescription:@"Request should fail"];
+
+
+    [self.imageView setImageWithURLRequest:self.error404URLRequest
+                          placeholderImage:placeholder
+                                   success:nil
+                                   failure:^(NSURLRequest * _Nonnull request, NSHTTPURLResponse * _Nullable response, NSError * _Nonnull error) {
+                                       [expectation fulfill];
+                                   }];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+    XCTAssertEqual(self.imageView.image, placeholder);
 }
 
-- (void)setUpSharedImageCache {
-    NSString *resourcePath = [[NSBundle bundleForClass:[self class]] resourcePath];
-    NSString *imagePath = [resourcePath stringByAppendingPathComponent:@"Icon.png"];
-    self.cachedImage = [UIImage imageWithContentsOfFile:imagePath];
-    self.cachedImageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://foo.bar/image"]];
+- (void)testResponseIsNilWhenLoadedFromCache {
+    AFImageDownloader *downloader = [UIImageView sharedImageDownloader];
+    XCTestExpectation *cacheExpectation = [self expectationWithDescription:@"Cache request should succeed"];
+    __block UIImage *downloadImage = nil;
+    [downloader
+     downloadImageForURLRequest:self.jpegURLRequest
+     success:^(NSURLRequest * _Nonnull request, NSHTTPURLResponse * _Nullable response, UIImage * _Nonnull responseObject) {
+         downloadImage = responseObject;
+         [cacheExpectation fulfill];
+     }
+     failure:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
 
-    id<AFImageRequestCache> mockImageCache = [OCMockObject mockForProtocol:@protocol(AFImageRequestCache)];
-    [[[(OCMockObject *)mockImageCache stub] andReturn:self.cachedImage] imageforRequest:self.cachedImageRequest withAdditionalIdentifier:nil];
-    [[UIImageView sharedImageDownloader] setImageCache:mockImageCache];
+    __block UIImage *cachedImage = nil;
+    __block NSHTTPURLResponse *urlResponse;
+    XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
+    [self.imageView
+     setImageWithURLRequest:self.jpegURLRequest
+     placeholderImage:nil
+     success:^(NSURLRequest * _Nonnull request, NSHTTPURLResponse * _Nullable response, UIImage * _Nonnull image) {
+         urlResponse = response;
+         cachedImage = image;
+         [expectation fulfill];
+     }
+     failure:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+    XCTAssertNil(urlResponse);
+    XCTAssertNotNil(cachedImage);
+    XCTAssertEqual(cachedImage, downloadImage);
 }
 
-- (void)tearDownSharedImageCache {
-    [[UIImageView sharedImageDownloader] setImageCache:nil];
+- (void)testThatPlaceholderImageIsReplacedWhenImageRequestSucceeds {
+    UIImage *placeholder = [UIImage imageNamed:@"logo"];
+    [self.imageView setImageWithURLRequest:self.jpegURLRequest
+                          placeholderImage:placeholder
+                                   success:nil
+                                   failure:nil];
+    [self expectationForPredicate:[NSPredicate predicateWithFormat:@"image != %@", placeholder]
+              evaluatedWithObject:self.imageView
+                          handler:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+    XCTAssertNotNil(self.imageView.image);
 }
 
-//- (void)testSetImageWithURLRequestUsesCachedImage {
-//    XCTestExpectation *expectation = [self expectationWithDescription:@"Image view uses cached image"];
-//    typeof(self) __weak weakSelf = self;
-//    [self.imageView
-//     setImageWithURLRequest:self.cachedImageRequest
-//     placeholderImage:nil
-//     success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
-//         XCTAssertEqual(request, weakSelf.cachedImageRequest, @"URL requests do not match");
-//         XCTAssertNil(response, @"Response should be nil when image is returned from cache");
-//         XCTAssertEqual(image, weakSelf.cachedImage, @"Cached images do not match");
-//         [expectation fulfill];
-//     }
-//     failure:nil];
-//    [self waitForExpectationsWithTimeout:5.0 handler:nil];
-//}
+- (void)testThatImageBehindRedirectCanBeDownloaded {
+    NSURL *redirectURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://httpbin.org/redirect-to?url=%@",self.jpegURL]];
+    [self.imageView setImageWithURL:redirectURL];
+    [self expectationForPredicate:[NSPredicate predicateWithFormat:@"image != nil"]
+              evaluatedWithObject:self.imageView
+                          handler:nil];
+    [self waitForExpectationsWithTimeout:self.timeout handler:nil];
+}
 
 @end

+ 2 - 2
Tests/Tests/AFUIRefreshControlTests.m

@@ -20,8 +20,8 @@
 // THE SOFTWARE.
 
 #import "AFTestCase.h"
-#import <AFNetworking/UIRefreshControl+AFNetworking.h>
-#import <AFNetworking/AFURLSessionManager.h>
+#import "UIRefreshControl+AFNetworking.h"
+#import "AFURLSessionManager.h"
 
 @interface AFUIRefreshControlTests : AFTestCase
 @property (nonatomic, strong) NSURLRequest *request;

+ 0 - 2
Tests/iOS Tests/en.lproj/InfoPlist.strings

@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-