Commit bb9ada8d authored by Thierry's avatar Thierry

Release 0.0.7

parent 24e62353
......@@ -24,6 +24,7 @@
873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
CDCB1F756EA31D8DF51DBCDD /* Pods_GMPhobos_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 766AC377CD6FFC595CF3CF7F /* Pods_GMPhobos_Example.framework */; };
E49977061C59F40000623ABA /* GMPhotoTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E49977051C59F40000623ABA /* GMPhotoTest.m */; };
E4AF92C01C71C6C700CF0B64 /* GMPhobosUtilTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E4AF92BF1C71C6C700CF0B64 /* GMPhobosUtilTest.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
......@@ -67,6 +68,8 @@
E0668666E63CBCF8FB52F9C7 /* Pods-GMPhobos_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GMPhobos_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-GMPhobos_Example/Pods-GMPhobos_Example.release.xcconfig"; sourceTree = "<group>"; };
E2E7FEEA45FF5DF8941CEE34 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
E49977051C59F40000623ABA /* GMPhotoTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GMPhotoTest.m; sourceTree = "<group>"; };
E4AF92BF1C71C6C700CF0B64 /* GMPhobosUtilTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GMPhobosUtilTest.m; sourceTree = "<group>"; };
E4AF92C31C71CCE600CF0B64 /* libz.1.2.5.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.1.2.5.tbd; path = usr/lib/libz.1.2.5.tbd; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
......@@ -119,6 +122,7 @@
6003F58C195388D20070C39A /* Frameworks */ = {
isa = PBXGroup;
children = (
E4AF92C31C71CCE600CF0B64 /* libz.1.2.5.tbd */,
6003F58D195388D20070C39A /* Foundation.framework */,
6003F58F195388D20070C39A /* CoreGraphics.framework */,
6003F591195388D20070C39A /* UIKit.framework */,
......@@ -158,6 +162,7 @@
6003F5B5195388D20070C39A /* Tests */ = {
isa = PBXGroup;
children = (
E4AF92BF1C71C6C700CF0B64 /* GMPhobosUtilTest.m */,
E49977051C59F40000623ABA /* GMPhotoTest.m */,
6003F5BB195388D20070C39A /* Tests.m */,
6003F5B6195388D20070C39A /* Supporting Files */,
......@@ -408,6 +413,7 @@
files = (
E49977061C59F40000623ABA /* GMPhotoTest.m in Sources */,
6003F5BC195388D20070C39A /* Tests.m in Sources */,
E4AF92C01C71C6C700CF0B64 /* GMPhobosUtilTest.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 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>classNames</key>
<dict>
<key>GMPhobosUtilTest</key>
<dict>
<key>testDataCompressPerformance</key>
<dict>
<key>com.apple.XCTPerformanceMetric_WallClockTime</key>
<dict>
<key>baselineAverage</key>
<real>0.01</real>
<key>baselineIntegrationDisplayName</key>
<string>Local Baseline</string>
</dict>
</dict>
</dict>
</dict>
</dict>
</plist>
<?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>runDestinationsByUUID</key>
<dict>
<key>7B4DE565-1959-4DF7-998A-B880E0603EBF</key>
<dict>
<key>localComputer</key>
<dict>
<key>busSpeedInMHz</key>
<integer>100</integer>
<key>cpuCount</key>
<integer>1</integer>
<key>cpuKind</key>
<string>Intel Core i7</string>
<key>cpuSpeedInMHz</key>
<integer>2000</integer>
<key>logicalCPUCoresPerPackage</key>
<integer>8</integer>
<key>modelCode</key>
<string>MacBookPro11,2</string>
<key>physicalCPUCoresPerPackage</key>
<integer>4</integer>
<key>platformIdentifier</key>
<string>com.apple.platform.macosx</string>
</dict>
<key>targetArchitecture</key>
<string>x86_64</string>
<key>targetDevice</key>
<dict>
<key>modelCode</key>
<string>iPhone7,2</string>
<key>platformIdentifier</key>
<string>com.apple.platform.iphonesimulator</string>
</dict>
</dict>
</dict>
</dict>
</plist>
......@@ -36,6 +36,11 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
......
../../../../../Pod/Classes/PhobosConfig.h
\ No newline at end of file
../../../../../Pod/Classes/PhobosUtil.h
\ No newline at end of file
......@@ -9,16 +9,18 @@
/* Begin PBXBuildFile section */
081A50535FCDF50D0118223459790167 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 64E7B0CBE55F34D4401B7A94CCB76C0F /* UIImageView+AFNetworking.m */; };
0A6739A5C5E2BE2425B46F3FD8ED2AAF /* Pods-GMPhobos_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1039452EE78F366E55BD28493A04FA33 /* Pods-GMPhobos_Tests-dummy.m */; };
0C3A6E7B7AA3923EA7AB0F676C67F170 /* PhobosConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E82A318F148F2EE13E41A780878CF20 /* PhobosConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
12D362D4535987C405A7E87D0864F5F4 /* Phobos.h in Headers */ = {isa = PBXBuildFile; fileRef = 9888D3221ABA7DE821AE9E2BEFE1A709 /* Phobos.h */; settings = {ATTRIBUTES = (Public, ); }; };
12E3EA7A7AF290656AB6DFF1C903578E /* Pods-GMPhobos_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F21CC24420A852E1CFB5E3E8FAC03A1 /* Pods-GMPhobos_Example-dummy.m */; };
1389748BE24F9D2223187CB20D9A020C /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 43FAAB5F36DC3F20D4B7D8D527DC01FE /* AFURLRequestSerialization.m */; };
157872AE47C73DE6714AE459E1406EE1 /* WMDocumentCache.h in Headers */ = {isa = PBXBuildFile; fileRef = D8D64E33C8EA69DF97172FC420385F3A /* WMDocumentCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
1A15E1DAB1BF63371AE5ADFAED9169E5 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 19692033DCFD06021947D65E5317DC37 /* UIRefreshControl+AFNetworking.m */; };
1EA06503C7AF1CA5E13950E3E7D7830E /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 551D7E761B5A447DC39B446B54C22AA4 /* AFNetworkActivityIndicatorManager.m */; };
23836F154B9B08F849D8A41CD5A60356 /* GMPhobos-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9CC8AC0694640A6257609F3B82CF83 /* GMPhobos-dummy.m */; };
23D4082E45BE57038B2B5EC690B673AB /* PhobosUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E930C1FFA83D23B9174F365EAE121B9 /* PhobosUtil.h */; settings = {ATTRIBUTES = (Public, ); }; };
290353FFD70C6FED0E88244849792541 /* AFHTTPRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 09460BA41FA1D49E3B7B29374C571A19 /* AFHTTPRequestOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
32BE0FB08D9ECD2974197D862E320E36 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 762965371D59484A9F4E48E3A0D1B4BC /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
3493097F14E7F5DBC6DE77A485548A1E /* GMPhobos-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FF4CA45B837E5F78BF43D996185823D /* GMPhobos-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
34BEE08ED8F8B9B3B939D4D732CFBEFE /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B00EC6E311267176A63291AD87994821 /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
396BD34735F2D514402D3B619DA83013 /* GMLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6F6B1FA3371A12BA0F463FEE4C68C8B /* GMLibrary.framework */; };
3A7FE81FF3C97DDFA9F5D7B692369683 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F380E78A6A6104BE8D69D550EFE0335 /* SystemConfiguration.framework */; };
3BE4D274AA3F8C83D1888B4F726002B2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
3D48CDE378095D5BA02C755C958D8C4F /* WMNetSecurityWorking.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0FC65D6406FB8B07810F63F2A76C7B /* WMNetSecurityWorking.m */; };
......@@ -34,40 +36,40 @@
4F093F6FBA6E6B060CF66145CF214E14 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA73E11469DB3C3207B87CD143E0F7D /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
56C8D4F00869E61F210A24E0EE8F3A13 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 02C8CB3115437D8745294A18E932B697 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
61E6F3603DFE1E3A52990F50D691666A /* TMMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E3666B28367A83938E9062E69AE2D3FE /* TMMemoryCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
639AA2BCDE7927A2526B11D81C6E3FF3 /* GMLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6F6B1FA3371A12BA0F463FEE4C68C8B /* GMLibrary.framework */; };
64C7860F562F2F4CD17D9630BFD90F74 /* TMCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DA764386D2D1712F4ACDA7AB71CDB5B /* TMCache.framework */; };
66897DCA2FBD43731EA8423C27955915 /* WMImageUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1004FF738D68A3C0E173085F5CFBDC28 /* WMImageUploadOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
68F25493DF29423FEA798D2247A6C918 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 79406AE4E297C0242AF27D1BDB52668E /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EBAA1DB2B0319B7F2605E30FC5EE774 /* TMMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 72C6D5A76607E47322C958954783E459 /* TMMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
6FDE95FB21B7F5E1EC7A9F49489DAC62 /* AFURLConnectionOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = E20C179C7702B470E99A37711BD9E369 /* AFURLConnectionOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
740FE28E5D6AEAFE5891E365F722D7AD /* GMPhobos-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9CC8AC0694640A6257609F3B82CF83 /* GMPhobos-dummy.m */; };
76C1FA68EFCD242119622AE2CEB4D24F /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = A973A96CDFFB3F92B0FB9EBC718A5C91 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; };
76C72D9FA8C86EBBC7E3E4AF7F0B4BB5 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E5853FA258E48DC5C48C0BCE98F6290F /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
7999F436677B92F6DDA1C3D45B67762F /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = B3689AF5BA5A89FB7407EFDD3818110C /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
79D287D48B2A81896F365CA21F0B27D6 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E541273E53984C9CC33FBE86B4DA484 /* UIWebView+AFNetworking.m */; };
7A63B92098857A59F07B594919512D6C /* WMCacheService.h in Headers */ = {isa = PBXBuildFile; fileRef = F90257EE80612DAF38DF325AD3512F69 /* WMCacheService.h */; settings = {ATTRIBUTES = (Public, ); }; };
7B366E4CC0E16F7B5ED076B9A6D20D5C /* GMPhobos-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FF4CA45B837E5F78BF43D996185823D /* GMPhobos-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
82666C40FB47AFA063060CF93DDC748F /* TMDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8B7A9994577FA6261406269DF3B5BC /* TMDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
91D64CD19EE5A3E3136CDA3A850AB91D /* Phobos.h in Headers */ = {isa = PBXBuildFile; fileRef = DBAB72630244F34E7D7626E4E0BA3E50 /* Phobos.h */; settings = {ATTRIBUTES = (Public, ); }; };
945C9834347A969CDD4FB9A5AB9FF0E0 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9A7A93D8FF31F47BF2EBCA55DA06AB /* AFURLSessionManager.m */; };
94BA7D0AD3651F8836949CBAF9F0E17E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
96247D22CC837A06A450BB49F1D2F79E /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C311EC4606016E51123BE675789984 /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
99E3246EC61F78105F9F266A0BF460B0 /* GMPhobos.bundle in Resources */ = {isa = PBXBuildFile; fileRef = E78F8081DA18541BC6823FF282B12377 /* GMPhobos.bundle */; };
9C6E0E56B52CA1D3B3A0B703770CAE28 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9F3D0151762FF773D8D97FDA18370F8 /* CoreGraphics.framework */; };
9E795055729E8F398250A5687BB00AE2 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 57E6FC53189ECC27A7D1FA3C158FCDE6 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
A14EC27E12794E4A6D64862B07D187EE /* TMCache-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F5F3E47A7566485A49F63AA17884BE42 /* TMCache-dummy.m */; };
A26CFFD0ACA3BC74552E85D37C6D72AA /* GMPhobos.bundle in Resources */ = {isa = PBXBuildFile; fileRef = E78F8081DA18541BC6823FF282B12377 /* GMPhobos.bundle */; };
A85748FDBAB3D33C778AB7869AEF84FC /* WMCacheService.m in Sources */ = {isa = PBXBuildFile; fileRef = D51F3423CD40A7D9D24A84BB4A3DF1E1 /* WMCacheService.m */; };
AA91AE28A11D6E3033F41980570A44AA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
AAA204FD1856B5F6D578B2BAC90C55FD /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A7F0F468A61AF3F8EC65F12E97476C3 /* AFNetworking.framework */; };
AB8CAD7D7C77071D3880D4E157C407BC /* TMDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 47EAAFEA9D509432CBCB5E1FA214FAC3 /* TMDiskCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
AEA8306589956BC104EAD6E48AE786F1 /* TMCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 973AE0D925110E0B64B6D5B9F6D1F096 /* TMCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
AF7178D137E94C03E9ECDB77D4B192A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
B2243E9A02A5D8B5B6457D023F6C5E0F /* TMCacheBackgroundTaskManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF837DD095F0B1BA8E96EE6C71E14E1 /* TMCacheBackgroundTaskManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
B42A49260E02658534FF92164B6FC311 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6AF80925E8A31454580339F23BF3756 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
BB41CED0D193D365AA78FC70AA0353AA /* Phobos.m in Sources */ = {isa = PBXBuildFile; fileRef = AE2DA08F4868799D4BEF4B662B5495F9 /* Phobos.m */; };
BB82DC2891A35AC22DD6D5CE4CAE4364 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E1DF98BA68E6760728A153F16F2E7AB /* UIButton+AFNetworking.m */; };
BF3A21C802D9E37418E59DBBBE60B510 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
C087B9B3A493BC8232CBA4DB1CB47A67 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A831CF6C673B928738B6C80D7B7696F /* AFNetworkReachabilityManager.m */; };
C51B96A7E543F72CD7925968E35DC041 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE6046581163717341A2344A92A48174 /* AFNetworking-dummy.m */; };
C6CDABE1AEBB5DC4A35A6B221BB98D13 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D1C980D7F85BCDFFF70384083C2A174 /* AFURLConnectionOperation.m */; };
C70AC3CB2D21E9466D55F37D6167DBA5 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DC9C01E410A863A739674459F6066886 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
C75C727CBFF41E74D83292BAA665A4E6 /* Phobos.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E51CEF442885C143295307FFAFCC10 /* Phobos.m */; };
C7B655603FB1089A5E2D28FCE12DF12F /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A3A3A13292E1BACE2707A2137EC71632 /* AFHTTPRequestOperationManager.m */; };
C92FFCE3C06282C2D08A98524079060D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8715B4CB57B0688290A19D84259EC4 /* Foundation.framework */; };
CEDFE191DF66B8884828359B3494F8E9 /* UIAlertView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C327DDC22CE5523E14B351BA735B6A1 /* UIAlertView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; };
......@@ -91,6 +93,7 @@
F0C6723D838D7CE80D0B8686CC9EDD01 /* GMLibrary-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BD84270504109306E7EF0CA60F7AD335 /* GMLibrary-dummy.m */; };
F2E9945B7494E20ED7DC4720A2B8CDC9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 458C2837A3F481F27B03872FCB4740CE /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
FCF07AEEA46A8553B666B8E9CABEF8B7 /* WMNetService.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B8B253946EFC3C44115059EF551429B /* WMNetService.h */; settings = {ATTRIBUTES = (Public, ); }; };
FD0CC0578FF300EDECE9CD4E0AD21647 /* PhobosUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = A947F471C56F4024674B8ADD771C83A6 /* PhobosUtil.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
......@@ -101,33 +104,26 @@
remoteGlobalIDString = C36C8CD0F39FAE393E1C934A62875055;
remoteInfo = TMCache;
};
2F0A2B340BDEABC282124EEFA8071550 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 52E4500DA8222C42E26B67D0B5E9E98F;
remoteInfo = "GMPhobos-GMPhobos";
};
6F0744FB51A277B0F010BE769F8C5856 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = F57BE6CDECF30051274F463D99832A82;
remoteGlobalIDString = BEB21C3D64B458AC373ED53EBF002DF7;
remoteInfo = GMPhobos;
};
752E28A01494FDDD153875955BB5BDF0 /* PBXContainerItemProxy */ = {
8A83B44F8B107F586D3AD323422C94EB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 78B5614ED0CFFC1A54FFF31C42B94904;
remoteInfo = GMLibrary;
remoteGlobalIDString = C36C8CD0F39FAE393E1C934A62875055;
remoteInfo = TMCache;
};
8A83B44F8B107F586D3AD323422C94EB /* PBXContainerItemProxy */ = {
960EB85584D9EF1107C5B70F17190232 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = C36C8CD0F39FAE393E1C934A62875055;
remoteInfo = TMCache;
remoteGlobalIDString = 66084351CDAC47491F49A38AAA7A12C3;
remoteInfo = "GMPhobos-GMPhobos";
};
9D06AD4F81A0C9C76C6D9165403B4709 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
......@@ -147,7 +143,7 @@
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = F57BE6CDECF30051274F463D99832A82;
remoteGlobalIDString = BEB21C3D64B458AC373ED53EBF002DF7;
remoteInfo = GMPhobos;
};
C5CD895F4DCA8CAD012DAE50A0A04576 /* PBXContainerItemProxy */ = {
......@@ -171,6 +167,13 @@
remoteGlobalIDString = 78B5614ED0CFFC1A54FFF31C42B94904;
remoteInfo = GMLibrary;
};
F055FF9DD34BC3656008116B8080C925 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 78B5614ED0CFFC1A54FFF31C42B94904;
remoteInfo = GMLibrary;
};
F4982ABE456B9CCAFA3DE24ABC6CEA78 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
......@@ -188,6 +191,7 @@
0C96F4E4D5EB1447840588265A27B7B7 /* WMNetService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WMNetService.m; path = Pod/Classes/Network/WMNetService.m; sourceTree = "<group>"; };
0CE1DF41765CEA659D706AD2EEF9C1A9 /* UIAlertView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAlertView+AFNetworking.m"; path = "UIKit+AFNetworking/UIAlertView+AFNetworking.m"; sourceTree = "<group>"; };
0E1DF98BA68E6760728A153F16F2E7AB /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = "<group>"; };
0E82A318F148F2EE13E41A780878CF20 /* PhobosConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhobosConfig.h; sourceTree = "<group>"; };
0F380E78A6A6104BE8D69D550EFE0335 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
1004FF738D68A3C0E173085F5CFBDC28 /* WMImageUploadOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WMImageUploadOperation.h; path = Pod/Classes/Network/WMImageUploadOperation.h; sourceTree = "<group>"; };
1039452EE78F366E55BD28493A04FA33 /* Pods-GMPhobos_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-GMPhobos_Tests-dummy.m"; sourceTree = "<group>"; };
......@@ -249,17 +253,19 @@
94C30013F165AB5B754D85E0A5D84949 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
973AE0D925110E0B64B6D5B9F6D1F096 /* TMCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = TMCache.m; path = TMCache/TMCache.m; sourceTree = "<group>"; };
98125A6CAD2963BA2AC0AA7948BCC5A3 /* GMLibrary-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GMLibrary-prefix.pch"; sourceTree = "<group>"; };
9888D3221ABA7DE821AE9E2BEFE1A709 /* Phobos.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Phobos.h; sourceTree = "<group>"; };
99C1B2FF532F627FB43E102EC42B16C6 /* WMImageUploadOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WMImageUploadOperation.m; path = Pod/Classes/Network/WMImageUploadOperation.m; sourceTree = "<group>"; };
9B4A38A63BA332BA886AD102B72BD1F3 /* Pods-GMPhobos_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMPhobos_Example.debug.xcconfig"; sourceTree = "<group>"; };
9E930C1FFA83D23B9174F365EAE121B9 /* PhobosUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PhobosUtil.h; sourceTree = "<group>"; };
A3A3A13292E1BACE2707A2137EC71632 /* AFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperationManager.m; path = AFNetworking/AFHTTPRequestOperationManager.m; sourceTree = "<group>"; };
A5D0B1FC2DE3A5236CEE0C97C915336F /* GMLibrary.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = GMLibrary.modulemap; sourceTree = "<group>"; };
A6A7EC974D37ED4E1AFD8B4FA0F5C8C9 /* Pods-GMPhobos_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-GMPhobos_Tests-umbrella.h"; sourceTree = "<group>"; };
A6BD2DC8B11FDEF710AA3B92E07F9241 /* WMNetSecurityWorking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WMNetSecurityWorking.h; path = Pod/Classes/Network/WMNetSecurityWorking.h; sourceTree = "<group>"; };
A947F471C56F4024674B8ADD771C83A6 /* PhobosUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PhobosUtil.m; sourceTree = "<group>"; };
A973A96CDFFB3F92B0FB9EBC718A5C91 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = "<group>"; };
AA3CA7D69460AA1EA67EB2B44969C79E /* TMCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TMCache.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AAA73E11469DB3C3207B87CD143E0F7D /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = "<group>"; };
AD1C6256FCA6BEFBC24DC592A8F912F8 /* Pods-GMPhobos_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-GMPhobos_Tests.debug.xcconfig"; sourceTree = "<group>"; };
AE2DA08F4868799D4BEF4B662B5495F9 /* Phobos.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Phobos.m; sourceTree = "<group>"; };
B00EC6E311267176A63291AD87994821 /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = "<group>"; };
B3689AF5BA5A89FB7407EFDD3818110C /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = "<group>"; };
BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
......@@ -275,7 +281,6 @@
D51F3423CD40A7D9D24A84BB4A3DF1E1 /* WMCacheService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = WMCacheService.m; path = Pod/Classes/Cache/WMCacheService.m; sourceTree = "<group>"; };
D7E68437B24D6AD438B13D29D6BE2F1C /* TMCache-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TMCache-prefix.pch"; sourceTree = "<group>"; };
D8D64E33C8EA69DF97172FC420385F3A /* WMDocumentCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WMDocumentCache.h; path = Pod/Classes/Cache/WMDocumentCache.h; sourceTree = "<group>"; };
DBAB72630244F34E7D7626E4E0BA3E50 /* Phobos.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Phobos.h; sourceTree = "<group>"; };
DC9C01E410A863A739674459F6066886 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = "<group>"; };
DD71F9F9028596F16E9146798EE16BC1 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = "<group>"; };
DE040F43777E733952B2A8A2A722F1C0 /* Pods-GMPhobos_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GMPhobos_Example-frameworks.sh"; sourceTree = "<group>"; };
......@@ -292,6 +297,7 @@
E9F3D0151762FF773D8D97FDA18370F8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
EC3D8A13D26D8A10EB9716CD423556A0 /* Pods-GMPhobos_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-GMPhobos_Tests-resources.sh"; sourceTree = "<group>"; };
EC9FFDE73D5C6BE1A50A8F0351718B63 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = "<group>"; };
F4E51CEF442885C143295307FFAFCC10 /* Phobos.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Phobos.m; sourceTree = "<group>"; };
F577567CFA744A8F447A2B72A65AEA8D /* GMPhobos.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = GMPhobos.modulemap; sourceTree = "<group>"; };
F5B74599F80A46BDAA45AB54B3E88AF1 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F5F3E47A7566485A49F63AA17884BE42 /* TMCache-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TMCache-dummy.m"; sourceTree = "<group>"; };
......@@ -302,15 +308,6 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
28CEC562817CD56A94486407124E9CA6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
AA91AE28A11D6E3033F41980570A44AA /* Foundation.framework in Frameworks */,
639AA2BCDE7927A2526B11D81C6E3FF3 /* GMLibrary.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
2EB28E7B195A487A9301EA5540744E07 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
......@@ -349,6 +346,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
98F8254ECDCF01EDA2171DEF476006F3 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
94BA7D0AD3651F8836949CBAF9F0E17E /* Foundation.framework in Frameworks */,
396BD34735F2D514402D3B619DA83013 /* GMLibrary.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C2CE384D214C3B4E3F8D3366B4AB6C0F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
......@@ -357,7 +363,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
F2170E8EC0C39EEA1823218555D6108F /* Frameworks */ = {
FB2311A791F6906A476D754C00B30E38 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
......@@ -424,6 +430,14 @@
path = "../Target Support Files/GMLibrary";
sourceTree = "<group>";
};
142DCB552050D113C4C7C421EBEC0742 /* Pod */ = {
isa = PBXGroup;
children = (
E532AE589D51DDBCCCF1402E987591C0 /* Classes */,
);
path = Pod;
sourceTree = "<group>";
};
24B7510FEE662753928706A1C0D412EF /* Targets Support Files */ = {
isa = PBXGroup;
children = (
......@@ -436,7 +450,7 @@
28ADB08AFE4B9E058B474D9AB49B39A7 /* GMPhobos */ = {
isa = PBXGroup;
children = (
ECC02FD91DFB99166459E30626593BB2 /* Pod */,
142DCB552050D113C4C7C421EBEC0742 /* Pod */,
038DC0073529673F7466DA59DA307178 /* Support Files */,
);
name = GMPhobos;
......@@ -523,15 +537,6 @@
);
sourceTree = "<group>";
};
86A1AD6D14640EC36E9E91590E461882 /* Classes */ = {
isa = PBXGroup;
children = (
DBAB72630244F34E7D7626E4E0BA3E50 /* Phobos.h */,
AE2DA08F4868799D4BEF4B662B5495F9 /* Phobos.m */,
);
path = Classes;
sourceTree = "<group>";
};
8FD0EEF6FB18C4A469C5DC6D22528D2E /* Pods */ = {
isa = PBXGroup;
children = (
......@@ -674,6 +679,18 @@
name = "Development Pods";
sourceTree = "<group>";
};
E532AE589D51DDBCCCF1402E987591C0 /* Classes */ = {
isa = PBXGroup;
children = (
9888D3221ABA7DE821AE9E2BEFE1A709 /* Phobos.h */,
F4E51CEF442885C143295307FFAFCC10 /* Phobos.m */,
0E82A318F148F2EE13E41A780878CF20 /* PhobosConfig.h */,
9E930C1FFA83D23B9174F365EAE121B9 /* PhobosUtil.h */,
A947F471C56F4024674B8ADD771C83A6 /* PhobosUtil.m */,
);
path = Classes;
sourceTree = "<group>";
};
E92E01E2704A247AF1E56D4686AB5BF0 /* TMCache */ = {
isa = PBXGroup;
children = (
......@@ -689,14 +706,6 @@
path = TMCache;
sourceTree = "<group>";
};
ECC02FD91DFB99166459E30626593BB2 /* Pod */ = {
isa = PBXGroup;
children = (
86A1AD6D14640EC36E9E91590E461882 /* Classes */,
);
path = Pod;
sourceTree = "<group>";
};
FC0989BF9306168FCF1460B4D1206301 /* Security */ = {
isa = PBXGroup;
children = (
......@@ -721,20 +730,22 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
389DC74DECEE1E957E962D11591121B0 /* Headers */ = {
24AD236C32CB552968B0D00D6BA746A6 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
D1B7D33384BAA3AEE182C11485C442D5 /* Pods-GMPhobos_Tests-umbrella.h in Headers */,
7B366E4CC0E16F7B5ED076B9A6D20D5C /* GMPhobos-umbrella.h in Headers */,
12D362D4535987C405A7E87D0864F5F4 /* Phobos.h in Headers */,
0C3A6E7B7AA3923EA7AB0F676C67F170 /* PhobosConfig.h in Headers */,
23D4082E45BE57038B2B5EC690B673AB /* PhobosUtil.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5242F0626184A4012BBC04EFB2C2C2B9 /* Headers */ = {
389DC74DECEE1E957E962D11591121B0 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
3493097F14E7F5DBC6DE77A485548A1E /* GMPhobos-umbrella.h in Headers */,
91D64CD19EE5A3E3136CDA3A850AB91D /* Phobos.h in Headers */,
D1B7D33384BAA3AEE182C11485C442D5 /* Pods-GMPhobos_Tests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -808,13 +819,13 @@
productReference = 2840FBB165E3E7FE14671D0E71AD12DE /* AFNetworking.framework */;
productType = "com.apple.product-type.framework";
};
52E4500DA8222C42E26B67D0B5E9E98F /* GMPhobos-GMPhobos */ = {
66084351CDAC47491F49A38AAA7A12C3 /* GMPhobos-GMPhobos */ = {
isa = PBXNativeTarget;
buildConfigurationList = 65783E939C33061726669E58D4F78736 /* Build configuration list for PBXNativeTarget "GMPhobos-GMPhobos" */;
buildConfigurationList = 27552CA754E103BF9D050B2558114329 /* Build configuration list for PBXNativeTarget "GMPhobos-GMPhobos" */;
buildPhases = (
CA4517654876BD40E1BD2E818F301655 /* Sources */,
F2170E8EC0C39EEA1823218555D6108F /* Frameworks */,
A46867F6617075A442038E66392D1574 /* Resources */,
9AC2A1D855EBCADB68787EDFEE6CAD43 /* Sources */,
FB2311A791F6906A476D754C00B30E38 /* Frameworks */,
C24A12992817FF41B0F2D0C7DC50FCB3 /* Resources */,
);
buildRules = (
);
......@@ -865,6 +876,26 @@
productReference = 40A149E307F8FA704B095746A79F737A /* Pods_GMPhobos_Example.framework */;
productType = "com.apple.product-type.framework";
};
BEB21C3D64B458AC373ED53EBF002DF7 /* GMPhobos */ = {
isa = PBXNativeTarget;
buildConfigurationList = 08B1C7595714B55AF2CFE92A081B65BA /* Build configuration list for PBXNativeTarget "GMPhobos" */;
buildPhases = (
0EDA5B5E38E0DC6EC15399D32E7CBC03 /* Sources */,
98F8254ECDCF01EDA2171DEF476006F3 /* Frameworks */,
71FAA4905DF2782034116FF93EAFAB96 /* Resources */,
24AD236C32CB552968B0D00D6BA746A6 /* Headers */,
);
buildRules = (
);
dependencies = (
D7E223C8B58BB13A1485EF0DF5FD856B /* PBXTargetDependency */,
E4DECBE645E852469EE9F7B96C4640AA /* PBXTargetDependency */,
);
name = GMPhobos;
productName = GMPhobos;
productReference = 7065A0FB24DB326D985D6B6081AD546A /* GMPhobos.framework */;
productType = "com.apple.product-type.framework";
};
C36C8CD0F39FAE393E1C934A62875055 /* TMCache */ = {
isa = PBXNativeTarget;
buildConfigurationList = D459E9B0359562F8429E9EA27016FC28 /* Build configuration list for PBXNativeTarget "TMCache" */;
......@@ -903,26 +934,6 @@
productReference = BAC24D10F624B7790BF6F6EDE971EE6E /* Pods_GMPhobos_Tests.framework */;
productType = "com.apple.product-type.framework";
};
F57BE6CDECF30051274F463D99832A82 /* GMPhobos */ = {
isa = PBXNativeTarget;
buildConfigurationList = 71DCC8B3819E2A5D98901AFA5DDDCD4E /* Build configuration list for PBXNativeTarget "GMPhobos" */;
buildPhases = (
02B5825FE328BFB26B8BD2D3BE19C4D8 /* Sources */,
28CEC562817CD56A94486407124E9CA6 /* Frameworks */,
DA75B578F6BDEC216ED23901EEB82F20 /* Resources */,
5242F0626184A4012BBC04EFB2C2C2B9 /* Headers */,
);
buildRules = (
);
dependencies = (
5DE5565B11FED1075CC2C159A909FB2E /* PBXTargetDependency */,
F9B2FEE01B9D6FA1B233E17E84B272BA /* PBXTargetDependency */,
);
name = GMPhobos;
productName = GMPhobos;
productReference = 7065A0FB24DB326D985D6B6081AD546A /* GMPhobos.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
......@@ -946,8 +957,8 @@
targets = (
4878C70B21CA37D7CB8A476BF986741B /* AFNetworking */,
78B5614ED0CFFC1A54FFF31C42B94904 /* GMLibrary */,
F57BE6CDECF30051274F463D99832A82 /* GMPhobos */,
52E4500DA8222C42E26B67D0B5E9E98F /* GMPhobos-GMPhobos */,
BEB21C3D64B458AC373ED53EBF002DF7 /* GMPhobos */,
66084351CDAC47491F49A38AAA7A12C3 /* GMPhobos-GMPhobos */,
BE6F152AB7209DB2A07B7D923C5BE955 /* Pods-GMPhobos_Example */,
EAAA93B4DCBDF5D2C9EC432A914B8CDA /* Pods-GMPhobos_Tests */,
C36C8CD0F39FAE393E1C934A62875055 /* TMCache */,
......@@ -956,38 +967,39 @@
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
A46867F6617075A442038E66392D1574 /* Resources */ = {
71FAA4905DF2782034116FF93EAFAB96 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
99E3246EC61F78105F9F266A0BF460B0 /* GMPhobos.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
DA75B578F6BDEC216ED23901EEB82F20 /* Resources */ = {
C24A12992817FF41B0F2D0C7DC50FCB3 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A26CFFD0ACA3BC74552E85D37C6D72AA /* GMPhobos.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
02B5825FE328BFB26B8BD2D3BE19C4D8 /* Sources */ = {
08E33B93AB5D3E09A945036B31A37647 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
23836F154B9B08F849D8A41CD5A60356 /* GMPhobos-dummy.m in Sources */,
BB41CED0D193D365AA78FC70AA0353AA /* Phobos.m in Sources */,
12E3EA7A7AF290656AB6DFF1C903578E /* Pods-GMPhobos_Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
08E33B93AB5D3E09A945036B31A37647 /* Sources */ = {
0EDA5B5E38E0DC6EC15399D32E7CBC03 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
12E3EA7A7AF290656AB6DFF1C903578E /* Pods-GMPhobos_Example-dummy.m in Sources */,
740FE28E5D6AEAFE5891E365F722D7AD /* GMPhobos-dummy.m in Sources */,
C75C727CBFF41E74D83292BAA665A4E6 /* Phobos.m in Sources */,
FD0CC0578FF300EDECE9CD4E0AD21647 /* PhobosUtil.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -1013,7 +1025,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
CA4517654876BD40E1BD2E818F301655 /* Sources */ = {
9AC2A1D855EBCADB68787EDFEE6CAD43 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
......@@ -1062,7 +1074,7 @@
3EB2F1451C39889ACA060E608410668F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = GMPhobos;
target = F57BE6CDECF30051274F463D99832A82 /* GMPhobos */;
target = BEB21C3D64B458AC373ED53EBF002DF7 /* GMPhobos */;
targetProxy = A1C1905F7A7B503E03C8BF186E39EA22 /* PBXContainerItemProxy */;
};
3F2BD1941DDABD47424976B03D99D3B0 /* PBXTargetDependency */ = {
......@@ -1077,12 +1089,6 @@
target = C36C8CD0F39FAE393E1C934A62875055 /* TMCache */;
targetProxy = 20A50C207B60E9A5D081BCE31A9738AC /* PBXContainerItemProxy */;
};
5DE5565B11FED1075CC2C159A909FB2E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = GMLibrary;
target = 78B5614ED0CFFC1A54FFF31C42B94904 /* GMLibrary */;
targetProxy = 752E28A01494FDDD153875955BB5BDF0 /* PBXContainerItemProxy */;
};
5E32BD5F5BD98855E4B9B5BEE707753E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = AFNetworking;
......@@ -1092,7 +1098,7 @@
7C60CEC6DCAB83B5FFA73DCF54C2818E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = GMPhobos;
target = F57BE6CDECF30051274F463D99832A82 /* GMPhobos */;
target = BEB21C3D64B458AC373ED53EBF002DF7 /* GMPhobos */;
targetProxy = 6F0744FB51A277B0F010BE769F8C5856 /* PBXContainerItemProxy */;
};
BBA9B72DE88A7F20189C4BCB97479FE5 /* PBXTargetDependency */ = {
......@@ -1107,6 +1113,18 @@
target = 4878C70B21CA37D7CB8A476BF986741B /* AFNetworking */;
targetProxy = 9D582D44A5EA2AC2504062C648DFD6A6 /* PBXContainerItemProxy */;
};
D7E223C8B58BB13A1485EF0DF5FD856B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = GMLibrary;
target = 78B5614ED0CFFC1A54FFF31C42B94904 /* GMLibrary */;
targetProxy = F055FF9DD34BC3656008116B8080C925 /* PBXContainerItemProxy */;
};
E4DECBE645E852469EE9F7B96C4640AA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "GMPhobos-GMPhobos";
target = 66084351CDAC47491F49A38AAA7A12C3 /* GMPhobos-GMPhobos */;
targetProxy = 960EB85584D9EF1107C5B70F17190232 /* PBXContainerItemProxy */;
};
F5DBB53BB30E65846669135FA18A449E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = GMLibrary;
......@@ -1125,12 +1143,6 @@
target = 4878C70B21CA37D7CB8A476BF986741B /* AFNetworking */;
targetProxy = E47195E92B4B4DB58D616C4A7BD778EC /* PBXContainerItemProxy */;
};
F9B2FEE01B9D6FA1B233E17E84B272BA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "GMPhobos-GMPhobos";
target = 52E4500DA8222C42E26B67D0B5E9E98F /* GMPhobos-GMPhobos */;
targetProxy = 2F0A2B340BDEABC282124EEFA8071550 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
......@@ -1237,7 +1249,19 @@
};
name = Debug;
};
24F8A1F3722F8DB9200DBA85E8D8CEF8 /* Release */ = {
1685132CEE89F03BA507AFCF7B4456DF /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4B83281B4137DA954D83EA220CDB90E2 /* GMPhobos.xcconfig */;
buildSettings = {
ENABLE_STRICT_OBJC_MSGSEND = YES;
PRODUCT_NAME = GMPhobos;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
WRAPPER_EXTENSION = bundle;
};
name = Debug;
};
17DE5AA097F53B4D36EB83296C3488ED /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4B83281B4137DA954D83EA220CDB90E2 /* GMPhobos.xcconfig */;
buildSettings = {
......@@ -1321,32 +1345,17 @@
};
name = Release;
};
79B4F86F2DBA911F89C167A9EA07199C /* Debug */ = {
6940AA9F3BA01D377059DE2CD40E944A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4B83281B4137DA954D83EA220CDB90E2 /* GMPhobos.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_PREFIX_HEADER = "Target Support Files/GMPhobos/GMPhobos-prefix.pch";
INFOPLIST_FILE = "Target Support Files/GMPhobos/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/GMPhobos/GMPhobos.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = GMPhobos;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
WRAPPER_EXTENSION = bundle;
};
name = Debug;
name = Release;
};
81F6C6D25508FCEFBCB295E2D5A91926 /* Release */ = {
isa = XCBuildConfiguration;
......@@ -1375,15 +1384,30 @@
};
name = Release;
};
83320CECF16045D36969A7F424A1F6DC /* Debug */ = {
A3E4DED59EE689FCCA550256F335F852 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4B83281B4137DA954D83EA220CDB90E2 /* GMPhobos.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_PREFIX_HEADER = "Target Support Files/GMPhobos/GMPhobos-prefix.pch";
INFOPLIST_FILE = "Target Support Files/GMPhobos/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/GMPhobos/GMPhobos.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = GMPhobos;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
WRAPPER_EXTENSION = bundle;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
......@@ -1414,18 +1438,6 @@
};
name = Release;
};
AE38CC1CEF1EB6CB5DDDC240B3BB10BE /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4B83281B4137DA954D83EA220CDB90E2 /* GMPhobos.xcconfig */;
buildSettings = {
ENABLE_STRICT_OBJC_MSGSEND = YES;
PRODUCT_NAME = GMPhobos;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
WRAPPER_EXTENSION = bundle;
};
name = Release;
};
BEF9664116CF956F40AD157E50367E91 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6EA7ADB3E294CD58FB20042A74A49873 /* TMCache.xcconfig */;
......@@ -1570,38 +1582,38 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
09012DAE74FED23C1E8CCFBD0FDD50E4 /* Build configuration list for PBXNativeTarget "Pods-GMPhobos_Tests" */ = {
08B1C7595714B55AF2CFE92A081B65BA /* Build configuration list for PBXNativeTarget "GMPhobos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0F6C1BB3E72F7A9A96664D994E8B25AC /* Debug */,
E9656CC042A146C3643BE32FD5DDB750 /* Release */,
A3E4DED59EE689FCCA550256F335F852 /* Debug */,
17DE5AA097F53B4D36EB83296C3488ED /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
09012DAE74FED23C1E8CCFBD0FDD50E4 /* Build configuration list for PBXNativeTarget "Pods-GMPhobos_Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */,
03CA91998D6773EC5D02B3DB87B8353E /* Release */,
0F6C1BB3E72F7A9A96664D994E8B25AC /* Debug */,
E9656CC042A146C3643BE32FD5DDB750 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
65783E939C33061726669E58D4F78736 /* Build configuration list for PBXNativeTarget "GMPhobos-GMPhobos" */ = {
27552CA754E103BF9D050B2558114329 /* Build configuration list for PBXNativeTarget "GMPhobos-GMPhobos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
83320CECF16045D36969A7F424A1F6DC /* Debug */,
AE38CC1CEF1EB6CB5DDDC240B3BB10BE /* Release */,
1685132CEE89F03BA507AFCF7B4456DF /* Debug */,
6940AA9F3BA01D377059DE2CD40E944A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
71DCC8B3819E2A5D98901AFA5DDDCD4E /* Build configuration list for PBXNativeTarget "GMPhobos" */ = {
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
79B4F86F2DBA911F89C167A9EA07199C /* Debug */,
24F8A1F3722F8DB9200DBA85E8D8CEF8 /* Release */,
0B57334D6C23DADAA4F7D802A5760EB2 /* Debug */,
03CA91998D6773EC5D02B3DB87B8353E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
......
......@@ -14,7 +14,7 @@
buildForArchiving = "YES">
<BuildableReference
BuildableIdentifier = 'primary'
BlueprintIdentifier = '22972869A84C7597A0E65FB2'
BlueprintIdentifier = '958B62752352F89538A448C9'
BlueprintName = 'GMPhobos'
ReferencedContainer = 'container:Pods.xcodeproj'
BuildableName = 'GMPhobos.framework'>
......
#import <UIKit/UIKit.h>
#import "Phobos.h"
#import "PhobosConfig.h"
#import "PhobosUtil.h"
FOUNDATION_EXPORT double GMPhobosVersionNumber;
FOUNDATION_EXPORT const unsigned char GMPhobosVersionString[];
......
//
// GMDataCompressorTest.m
// GMPhobos
//
// Created by Thierry on 16/2/15.
// Copyright © 2016年 licong. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "PhobosUtil.h"
@interface GMPhobosUtilTest : XCTestCase
@property (nonatomic, retain) NSMutableArray *mockArray;
@end
@implementation GMPhobosUtilTest
- (void)setUp {
[super setUp];
_mockArray = [[NSMutableArray alloc] init];
for (int i=0; i<50; i++) {
[_mockArray addObject:@{@"app":@{@"channel":@"App Store",@"name":@"gengmei_doctor",@"version":@"1.8.0"},
@"created_at":@"1455529180",
@"device":@{@"device_id":@"E8E13EB6-030A-40A0-A55A-70E7CE288740",@"device_type":@"ios"},
@"params":@{@"tab_id":@"diary"},
@"type":@"home_click_tab",
@"user_id": @0,
@"version": @110
}];
}
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
/**
* @brief 测试50条数据压缩速度
*
* @description 经过测试50条数据压缩大约1毫秒左右,几乎不耗时
*
* @since 0.0.7
*/
- (void)testDataCompressPerformance {
[self measureBlock:^{
[self encodeAndCompressArray:_mockArray];
}];
}
/**
* @brief 发送数据测试
*
* @since 0.0.7
*/
- (void)testSendDataToMars{
XCTestExpectation *expectation = [self expectationWithDescription:@"Testing Async Method Works!"];
NSData *mockData = [self encodeAndCompressArray:_mockArray];
[PhobosUtil sendData:mockData success:^(NSInteger code) {
[expectation fulfill];
XCTAssertEqual(code, 200);
}];
//如果超时,则认为发送失败
[self waitForExpectationsWithTimeout:3 handler:^(NSError *error) {
if(error)
{
XCTFail(@"Expectation Failed with error: %@", error);
}
}];
}
- (NSData *)encodeAndCompressArray:(id)obj {
NSData *data = [NSJSONSerialization dataWithJSONObject:obj options:0 error:nil];
NSData *compressedData = [PhobosUtil compressData:data];
return compressedData;
}
@end
......@@ -12,7 +12,7 @@
#define PhobosCacheKey @"PhobosCacheKey"
NSString *const MockAppName = @"gengmei";
NSString *const MockAppName = @"gengmei_test";
NSString *const MockChannelId = @"AppStore";
NSString *const MockEventId = @"eventId";
NSInteger const MockUserId = 1;
......@@ -91,27 +91,15 @@ NSInteger const MockUserId = 1;
* @since <#version number#>
*/
- (void)testTrackEventWithAttrAndSendNow{
// Given
NSDictionary *attr = @{@"attr":@"track_attr"};
// When
[_client track:MockEventId attributes:attr sendNow:YES];
// Then
NSArray *array = [_cache fetchObjectAtDiskWithkey:PhobosCacheKey];
XCTAssertTrue(array.count == 0, @"array should be empty");
}
/**
* @brief 测试数据压缩的性能,准备50条数据
*
* @since <#version number#>
*/
- (void)testCompressPerformanceExample {
NSDictionary *attr = @{@"attr":@"track_attr"};
for (int i=0; i<=49; i++) {
[_client track:MockEventId attributes:attr];
}
[self measureBlock:^{
[_client track:MockEventId attributes:attr];
}];
}
- (void)verfiyDict:(NSDictionary *)dict{
NSArray *keys = [dict allKeys];
XCTAssertTrue([keys containsObject:@"type"], @"Missing type");
......
......@@ -16,6 +16,11 @@
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
......
......@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = "GMPhobos"
s.version = "0.0.6"
s.version = "0.0.7"
s.summary = "GM statistic data sdk"
# This description is used to generate tags and improve search results.
......@@ -26,7 +26,7 @@ Pod::Spec.new do |s|
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
s.license = 'MIT'
s.author = { "licong" => "licong@gmei.com" }
s.source = { :git => "http://git.gengmei.cc/gengmeiios/GMPhobos.git", :tag => "0.0.6" }
s.source = { :git => "http://git.gengmei.cc/gengmeiios/GMPhobos.git", :tag => "0.0.7" }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.platform = :ios, '7.0'
......
......@@ -7,21 +7,11 @@
//
#import "Phobos.h"
#import <AdSupport/AdSupport.h>
#import <zlib.h>
#import "WMCacheService.h"
#import <AdSupport/AdSupport.h>
#import "PhobosUtil.h"
#import "PhobosConfig.h"
#ifdef DEBUG
#define phobosLog(...) NSLog(@"[Phobos] %@",__VA_ARGS__)
#else
#define phobosLog(...)
#endif
#define PhobosHaveOpenApp @"PhobosHaveOpenApp" //是否打开过APP
#define PhobosBeginTime @"PhobosBeginTime" //记录APP打开|从后台启动时的时间戳
#define PhobosEndTime @"PhobosEndTime" //记录APP退出|退到后台时的时间戳
#define PhobosCacheKey @"PhobosCacheKey"
#define PhobosShardCount 50 //收集数据分段发送的个数
static Phobos *sharedClient = nil;
static NSString *sdkVersion = @"110";
......@@ -177,12 +167,12 @@ static NSString *sdkVersion = @"110";
}
- (void)track:(NSString *)eventId attributes:(NSDictionary *)attributes{
[self track:eventId attributes:attributes sendNow:NO];
NSArray *array = [[WMCacheService sharedInstance] fetchObjectAtDiskWithkey:PhobosCacheKey];
//超过一定数量的话,统一发送一次
if (array.count > PhobosShardCount) {
[self sendArray:array];
}
[self track:eventId attributes:attributes sendNow:NO];
}
- (void)track:(NSString *)eventId attributes:(NSDictionary *)attributes sendNow:(BOOL)sendNow{
......@@ -285,7 +275,6 @@ static NSString *sdkVersion = @"110";
}
}
/**
* @brief 发送数组
*
......@@ -299,144 +288,19 @@ static NSString *sdkVersion = @"110";
}
@try {
NSData *JSON = [self encodeJSON:array];
NSData *compressedData = [self compressData:JSON];
[self sendData:compressedData];
}
@catch (NSException *exception) {
phobosLog(exception);
}
}
/**
* @brief 上传数据
*
* @param data
*
* @since 0.0.1
*/
- (void)sendData:(NSData *)data {
#ifdef DEBUG
NSString *url = @"http://log.test.gengmei.cc/log/collect";
#else
NSString *url = @"http://log.gengmei.cc/log/collect";
#endif
@try {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"];
request.HTTPBody = data;
request.HTTPMethod = @"POST";
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
NSInteger code = res.statusCode;
if (code == 200) {
NSData *compressedData = [PhobosUtil compressData:JSON];
if (compressedData) {
[PhobosUtil sendData:compressedData success:^(NSInteger code) {
phobosLog(@"✈ ---------- ✈ data arrived Mars");
[[WMCacheService sharedInstance] removeObjectAtDiskWithkey:PhobosCacheKey];
}
}];
}];
}
}
@catch (NSException *exception) {
phobosLog(exception);
}
}
/**
* @brief 压缩待上传的数据。经过测试,50条数据压缩大概6毫秒,所以不要放在异步线程中处理
*
* @param originData 压缩前的数据
*
* @return 压缩后的数据
*
* @since 0.0.1
*/
- (NSData *)compressData:(NSData *)originData{
if (!originData || [originData length] == 0)
{
if (_logEnabled) {
phobosLog(@"Error: Can't compress an empty or null NSData object.");
}
return nil;
}
z_stream zlibStreamStruct;
zlibStreamStruct.zalloc = Z_NULL; // Set zalloc, zfree, and opaque to Z_NULL so
zlibStreamStruct.zfree = Z_NULL; // that when we call deflateInit2 they will be
zlibStreamStruct.opaque = Z_NULL; // updated to use default allocation functions.
zlibStreamStruct.total_out = 0; // Total number of output bytes produced so far
zlibStreamStruct.next_in = (Bytef*)[originData bytes]; // Pointer to input bytes
zlibStreamStruct.avail_in = (uInt)[originData length]; // Number of input bytes left to process
int initError = deflateInit2(&zlibStreamStruct, Z_DEFAULT_COMPRESSION, Z_DEFLATED, (15+16), 8, Z_DEFAULT_STRATEGY);
if (initError != Z_OK)
{
NSString *errorMsg = nil;
if (_logEnabled) {
switch (initError)
{
case Z_STREAM_ERROR:
errorMsg = @"Invalid parameter passed in to function.";
break;
case Z_MEM_ERROR:
errorMsg = @"Insufficient memory.";
break;
case Z_VERSION_ERROR:
errorMsg = @"The version of zlib.h and the version of the library linked do not match.";
break;
default:
errorMsg = @"Unknown error code.";
break;
}
}
return nil;
}
NSMutableData *compressedData = [NSMutableData dataWithLength:[originData length] * 1.01 + 12];
NSInteger deflateStatus;
do
{
zlibStreamStruct.next_out = [compressedData mutableBytes] + zlibStreamStruct.total_out;
zlibStreamStruct.avail_out = (uInt)([compressedData length] - zlibStreamStruct.total_out);
deflateStatus = deflate(&zlibStreamStruct, Z_FINISH);
} while ( deflateStatus == Z_OK );
// Check for zlib error and convert code to usable error message if appropriate
if (deflateStatus != Z_STREAM_END)
{
NSString *errorMsg = nil;
if (_logEnabled) {
switch (deflateStatus)
{
case Z_ERRNO:
errorMsg = @"Error occured while reading file.";
break;
case Z_STREAM_ERROR:
errorMsg = @"The stream state was inconsistent (e.g., next_in or next_out was NULL).";
break;
case Z_DATA_ERROR:
errorMsg = @"The deflate data was invalid or incomplete.";
break;
case Z_MEM_ERROR:
errorMsg = @"Memory could not be allocated for processing.";
break;
case Z_BUF_ERROR:
errorMsg = @"Ran out of output buffer for writing compressed bytes.";
break;
case Z_VERSION_ERROR:
errorMsg = @"The version of zlib.h and the version of the library linked do not match.";
break;
default:
errorMsg = @"Unknown error code.";
break;
}
}
deflateEnd(&zlibStreamStruct);
return nil;
}
deflateEnd(&zlibStreamStruct);
[compressedData setLength: zlibStreamStruct.total_out];
return compressedData;
}
#pragma mark - helpers
/**
* @brief 将对象转成JSON格式数据
......
//
// PhobosConfig.h
// Pods
//
// Created by Thierry on 16/2/15.
//
//
#ifndef PhobosConfig_h
#define PhobosConfig_h
#ifdef DEBUG
#define phobosLog(...) NSLog(@"[Phobos] %@",__VA_ARGS__)
#else
#define phobosLog(...)
#endif
#define PhobosHaveOpenApp @"PhobosHaveOpenApp" //是否打开过APP
#define PhobosBeginTime @"PhobosBeginTime" //记录APP打开|从后台启动时的时间戳
#define PhobosEndTime @"PhobosEndTime" //记录APP退出|退到后台时的时间戳
#define PhobosCacheKey @"PhobosCacheKey"
#define PhobosShardCount 50 //收集数据分段发送的个数
#endif /* PhobosConfig_h */
//
// PhobosUtil.h
// Phobos工具类
//
// Created by Thierry on 16/2/15.
//
//
#import <Foundation/Foundation.h>
typedef void (^SendDataSuccessBlock)(NSInteger code);
@interface PhobosUtil : NSObject
/**
* @brief 压缩待上传的数据。经过测试,50条数据压缩大概6毫秒,所以不要放在异步线程中处理
*
* @param originData 压缩前的数据
*
* @return 压缩后的数据
*
* @since 0.0.1
*/
+ (NSData *)compressData:(NSData *)originData;
/**
* @brief 上传数据
*
* @param data,success
*
* @since 0.0.1
*/
+ (void)sendData:(NSData *)data success:(SendDataSuccessBlock)success;
@end
//
// PhobosUtil.m
// Pods
//
// Created by Thierry on 16/2/15.
//
//
#import "PhobosUtil.h"
#import <zlib.h>
#import "PhobosConfig.h"
#import "WMCacheService.h"
@implementation PhobosUtil
+ (NSData *)compressData:(NSData *)originData{
if (!originData || [originData length] == 0)
{
return nil;
}
z_stream zlibStreamStruct;
zlibStreamStruct.zalloc = Z_NULL; // Set zalloc, zfree, and opaque to Z_NULL so
zlibStreamStruct.zfree = Z_NULL; // that when we call deflateInit2 they will be
zlibStreamStruct.opaque = Z_NULL; // updated to use default allocation functions.
zlibStreamStruct.total_out = 0; // Total number of output bytes produced so far
zlibStreamStruct.next_in = (Bytef*)[originData bytes]; // Pointer to input bytes
zlibStreamStruct.avail_in = (uInt)[originData length]; // Number of input bytes left to process
int initError = deflateInit2(&zlibStreamStruct, Z_DEFAULT_COMPRESSION, Z_DEFLATED, (15+16), 8, Z_DEFAULT_STRATEGY);
if (initError != Z_OK)
{
NSString *errorMsg = nil;
switch (initError)
{
case Z_STREAM_ERROR:
errorMsg = @"Invalid parameter passed in to function.";
break;
case Z_MEM_ERROR:
errorMsg = @"Insufficient memory.";
break;
case Z_VERSION_ERROR:
errorMsg = @"The version of zlib.h and the version of the library linked do not match.";
break;
default:
errorMsg = @"Unknown error code.";
break;
}
return nil;
}
NSMutableData *compressedData = [NSMutableData dataWithLength:[originData length] * 1.01 + 12];
NSInteger deflateStatus;
do
{
zlibStreamStruct.next_out = [compressedData mutableBytes] + zlibStreamStruct.total_out;
zlibStreamStruct.avail_out = (uInt)([compressedData length] - zlibStreamStruct.total_out);
deflateStatus = deflate(&zlibStreamStruct, Z_FINISH);
} while ( deflateStatus == Z_OK );
// Check for zlib error and convert code to usable error message if appropriate
if (deflateStatus != Z_STREAM_END)
{
NSString *errorMsg = nil;
switch (deflateStatus)
{
case Z_ERRNO:
errorMsg = @"Error occured while reading file.";
break;
case Z_STREAM_ERROR:
errorMsg = @"The stream state was inconsistent (e.g., next_in or next_out was NULL).";
break;
case Z_DATA_ERROR:
errorMsg = @"The deflate data was invalid or incomplete.";
break;
case Z_MEM_ERROR:
errorMsg = @"Memory could not be allocated for processing.";
break;
case Z_BUF_ERROR:
errorMsg = @"Ran out of output buffer for writing compressed bytes.";
break;
case Z_VERSION_ERROR:
errorMsg = @"The version of zlib.h and the version of the library linked do not match.";
break;
default:
errorMsg = @"Unknown error code.";
break;
}
deflateEnd(&zlibStreamStruct);
return nil;
}
deflateEnd(&zlibStreamStruct);
[compressedData setLength: zlibStreamStruct.total_out];
phobosLog([NSString stringWithFormat:@"Compressed file from %lu B to %lu B", [originData length], [compressedData length]]);
return compressedData;
}
+ (void)sendData:(NSData *)data success:(SendDataSuccessBlock)success {
#ifdef DEBUG
NSString *url = @"http://log.test.gengmei.cc/log/collect";
#else
NSString *url = @"http://log.gengmei.cc/log/collect";
#endif
@try {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"];
request.HTTPBody = data;
request.HTTPMethod = @"POST";
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
NSInteger code = res.statusCode;
if (code == 200) {
if (success) {
success(code);
}
}
}];
}
@catch (NSException *exception) {
phobosLog(exception);
}
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment