diff --git a/Podfile b/Podfile index bbadfd0..eec3f84 100644 --- a/Podfile +++ b/Podfile @@ -1,20 +1,19 @@ # Uncomment the next line to define a global platform for your project platform :ios, '13.0' +use_frameworks! + +def testing_pods + pod "Weibo_SDK", :git => "https://github.com/sinaweibosdk/weibo_ios_sdk.git" + pod 'AlamofireImage', '~> 4.1' + pod 'SwiftyJSON', '~> 4.0' +end target 'Weibo' do # Comment the next line if you don't want to use dynamic frameworks - use_frameworks! -pod "Weibo_SDK", :git => "https://github.com/sinaweibosdk/weibo_ios_sdk.git" -pod 'AlamofireImage', '~> 4.1' - # Pods for Weibo - - target 'WeiboTests' do - inherit! :search_paths - # Pods for testing - end - - target 'WeiboUITests' do - # Pods for testing - end + testing_pods +end +target 'WeiboTests' do + # Comment the next line if you don't want to use dynamic frameworks + testing_pods end diff --git a/Podfile.lock b/Podfile.lock index c5ca85c..045795f 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,16 +2,19 @@ PODS: - Alamofire (5.2.2) - AlamofireImage (4.1.0): - Alamofire (~> 5.1) + - SwiftyJSON (4.3.0) - Weibo_SDK (3.2.7) DEPENDENCIES: - AlamofireImage (~> 4.1) + - SwiftyJSON (~> 4.0) - Weibo_SDK (from `https://github.com/sinaweibosdk/weibo_ios_sdk.git`) SPEC REPOS: trunk: - Alamofire - AlamofireImage + - SwiftyJSON EXTERNAL SOURCES: Weibo_SDK: @@ -25,8 +28,9 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: Alamofire: 814429acc853c6c54ff123fc3d2ef66803823ce0 AlamofireImage: c4a2ba349885fb3064feb74d2e547bd42ce9be10 + SwiftyJSON: 6faa0040f8b59dead0ee07436cbf76b73c08fd08 Weibo_SDK: 5a4d08f7e1fedbb635435e4585c8c0439c7da089 -PODFILE CHECKSUM: 599c8e5ab6c4a30be0c9160b75846117173d99df +PODFILE CHECKSUM: 3358a770b56bb5d11548a82df2f4a186f3dd13b8 COCOAPODS: 1.9.3 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index c5ca85c..045795f 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -2,16 +2,19 @@ PODS: - Alamofire (5.2.2) - AlamofireImage (4.1.0): - Alamofire (~> 5.1) + - SwiftyJSON (4.3.0) - Weibo_SDK (3.2.7) DEPENDENCIES: - AlamofireImage (~> 4.1) + - SwiftyJSON (~> 4.0) - Weibo_SDK (from `https://github.com/sinaweibosdk/weibo_ios_sdk.git`) SPEC REPOS: trunk: - Alamofire - AlamofireImage + - SwiftyJSON EXTERNAL SOURCES: Weibo_SDK: @@ -25,8 +28,9 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: Alamofire: 814429acc853c6c54ff123fc3d2ef66803823ce0 AlamofireImage: c4a2ba349885fb3064feb74d2e547bd42ce9be10 + SwiftyJSON: 6faa0040f8b59dead0ee07436cbf76b73c08fd08 Weibo_SDK: 5a4d08f7e1fedbb635435e4585c8c0439c7da089 -PODFILE CHECKSUM: 599c8e5ab6c4a30be0c9160b75846117173d99df +PODFILE CHECKSUM: 3358a770b56bb5d11548a82df2f4a186f3dd13b8 COCOAPODS: 1.9.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index f67b448..bdd0709 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -19,246 +19,254 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 00DFBCFB78BD568BD817640DB7C27526 /* Request+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFE3ACFBAF1B5FDF27C98D09975F63F8 /* Request+AlamofireImage.swift */; }; - 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40411F90509EC9F7140825A9D675119 /* HTTPMethod.swift */; }; - 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEB24EB37605FD540DDCE8A909708E9E /* Combine.swift */; }; - 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792343F0694DAB87E1EADC5529D23875 /* OperationQueue+Alamofire.swift */; }; - 0E9D410C0EAF0EEDDBC1C5FC862B1814 /* Pods-WeiboTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DB40A4693720D382B26F248CF498739D /* Pods-WeiboTests-dummy.m */; }; - 11EB2DF28DA884182306B439B8983BE8 /* UIButton+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 656811B7B52B435AA5C859C21020A3B0 /* UIButton+AlamofireImage.swift */; }; - 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB266AED4E90B31157AD4CE25167642F /* AFError.swift */; }; - 13C2CE4A0206DD3FA63352E1503E81E7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; - 140D7AD7F7E817F4D6BB419EB5C7312B /* AlamofireImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 07706C6FA8EA8AE889E6542C71694407 /* AlamofireImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D6F66EC165650CDED31DD9E6E987BB /* NetworkReachabilityManager.swift */; }; - 20743FEA683F40FDB4B50D3DA11875EB /* UIImage+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939EE78EAC20849CAB7261506DF16161 /* UIImage+AlamofireImage.swift */; }; - 20831966381FED414F9C7EC9AAB49077 /* ImageFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF7FC60AA562D64226B8416A76E5451 /* ImageFilter.swift */; }; - 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFBA482433ADDABEF0EE2D6A38521C22 /* StringEncoding+Alamofire.swift */; }; - 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792242C5B0A3251025A67B68E4812F8D /* Protected.swift */; }; - 2241A0F4D61C95C8982AEC2D8904D394 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = A798BC7890EAB2BB0F9D409FB0804549 /* Image.swift */; }; - 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32875FE322B2511D3C9C6D41BDC55428 /* DispatchQueue+Alamofire.swift */; }; + 00DFBCFB78BD568BD817640DB7C27526 /* Request+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB946B983793B08D48941B6157986B47 /* Request+AlamofireImage.swift */; }; + 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93DF101AABB4234D28CD09FFAD63EB2 /* HTTPMethod.swift */; }; + 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 704082C18E8E260D72FF8CC8BD0401FE /* Combine.swift */; }; + 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50CA4E096DBF592E4310688DC8668802 /* OperationQueue+Alamofire.swift */; }; + 11EB2DF28DA884182306B439B8983BE8 /* UIButton+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 109B5006D6EAE858E4456DDE7EFEF6A6 /* UIButton+AlamofireImage.swift */; }; + 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA6D494966537E318FFB31A3F546CB4 /* AFError.swift */; }; + 140D7AD7F7E817F4D6BB419EB5C7312B /* AlamofireImage-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EF76D47F092F93384B916BE68748C50 /* AlamofireImage-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1942F7D3B7722A5637C3FC0BE44B1E6C /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C07B4512A08794EF110EFCF4D2445941 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD79DA4CB5A347335A4287423236AD47 /* NetworkReachabilityManager.swift */; }; + 20743FEA683F40FDB4B50D3DA11875EB /* UIImage+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = E22BC9E96D71BF6651C02949DEEA81C7 /* UIImage+AlamofireImage.swift */; }; + 20831966381FED414F9C7EC9AAB49077 /* ImageFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D57A49E0ACBD242EE567143215D2369 /* ImageFilter.swift */; }; + 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 557847BBA46AFDDBC6470E05F1B03431 /* StringEncoding+Alamofire.swift */; }; + 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9653E39F5DDF846E33323833A667B670 /* Protected.swift */; }; + 2241A0F4D61C95C8982AEC2D8904D394 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA4F65CF9BCBD8162928300063E20DC /* Image.swift */; }; + 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5EEE45AFA6039512F957A1CA6C9FB2 /* DispatchQueue+Alamofire.swift */; }; + 2BF6FBC0A64BF107C5D64C61F1397770 /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A603831BEA86889A1FC75B323B85DDF /* SwiftyJSON-dummy.m */; }; 2D59A856EA1200F7CB8F97466F71D9E9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; - 34E858864C3F61C35BDA949320EBDC44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; - 37E04DC7A8A99B2AA82B6318805D1473 /* UIImageView+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5DA379DB59D06E3DAE1F82AC4ABE51A /* UIImageView+AlamofireImage.swift */; }; - 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E993C940711D584FD72886DE79D97540 /* SessionDelegate.swift */; }; - 3B6EB21897FFD6A8F008A6BE2E5520C8 /* Pods-Weibo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 05D0A222C1DD21DFA482017F04A492F4 /* Pods-Weibo-dummy.m */; }; - 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B818D9BB50288C4B095AA7B5482C5FB /* MultipartFormData.swift */; }; - 462B0F68E8438C1FF4BB1EC3E72E2239 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; - 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133AE1EE9761A0ADB265E78FA68C4AB9 /* ServerTrustEvaluation.swift */; }; - 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 396B2DD32CFCA70BFEE74C7F5E0720DE /* ParameterEncoder.swift */; }; - 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 327E42A2DE34639508BA07EA09E316CB /* EventMonitor.swift */; }; + 37E04DC7A8A99B2AA82B6318805D1473 /* UIImageView+AlamofireImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92CC4440E08E90A5FC3DAB8ED5B5B975 /* UIImageView+AlamofireImage.swift */; }; + 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53372FD3FBAE30129B54F99FE5E2059E /* SessionDelegate.swift */; }; + 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC49E669F0D1C499BED7A157FACB6FA /* MultipartFormData.swift */; }; + 464450D037D17ED5EE2322E180A6A9F5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; + 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E8CAE5BE6795250BBABB29A5B001F7 /* ServerTrustEvaluation.swift */; }; + 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7060A2BC6D068D79B72C34A056E50162 /* ParameterEncoder.swift */; }; + 5C07F968C5A6D146D5BFB9BD0FBC9E3C /* Pods-Weibo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E295102573FDFBFC584B418DA879AFC8 /* Pods-Weibo-dummy.m */; }; + 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCF72FC046D5116A432376BC8ADF094D /* EventMonitor.swift */; }; 65A161117DC1C41192916756704D99F8 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0FF301302A2A77E95697F2B5692FA5E /* Alamofire.framework */; }; - 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B26ADF80FD3D5F08D5A7B06789C7D3 /* RedirectHandler.swift */; }; - 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DFE68AAE2D53225925E69F59E630A0B /* Result+Alamofire.swift */; }; - 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BAF867111FDE03815973A309080D409 /* Session.swift */; }; - 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = E270C4B501460DA285067CA3EF269753 /* RequestTaskMap.swift */; }; - 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9333AF5B3BAFD01D7E772EEEA24665D9 /* RequestInterceptor.swift */; }; - 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3A6D3853168DEC4B58B4FAF79381B1 /* AlamofireExtended.swift */; }; - 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A12039BCDED56563EFDC6C44CDBB5950 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 879F02C85701A85EB69DF847EFC94277 /* AFIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995F410DE6EA45D3329DECE5388F56E0 /* AFIError.swift */; }; - 87DBB75FF78B13818475837EC463C528 /* Pods-Weibo-WeiboUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8609B3FD060A40A005DFFEED78E5E94 /* Pods-Weibo-WeiboUITests-dummy.m */; }; - 8938BEF6FF11C6291FA31A0638A0D8E1 /* Pods-WeiboTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 40C2F3176A8294E5BBC97216A0446F39 /* Pods-WeiboTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 254E07D3C7AC68C85E8196856754C2D2 /* Notifications.swift */; }; - 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B144F3B50E47D25B0FF5E156220F1F7 /* ResponseSerialization.swift */; }; - 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 505A0463C97D33231213B40295FDC347 /* HTTPHeaders.swift */; }; - 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCD4BFAE48C0D1C59502035808EC3385 /* URLConvertible+URLRequestConvertible.swift */; }; - 9B966B0E1A805EB1CC23E1436C42DD82 /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F444CFB48CDAF4AA6D91D0E0457014C /* ImageDownloader.swift */; }; - 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 008712A18E94361B177BEEDDFD558CEC /* RetryPolicy.swift */; }; + 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F13253A31A4B6211EBF0385D4AD1BC25 /* RedirectHandler.swift */; }; + 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF7C3E985BCB6B497288BD819F0B7BD /* Result+Alamofire.swift */; }; + 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAA4A5854F83AEA740A9722FFB8F840C /* Session.swift */; }; + 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66B130E9D9CEFEB5A589CF4C64004F68 /* RequestTaskMap.swift */; }; + 6D15DA5AFA07DA7D84DBF31263FBF8F9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; + 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA3C100AF015D48DB17E9102F52B0A98 /* RequestInterceptor.swift */; }; + 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09BA8C85F32546014EA77FDCDEE134B6 /* AlamofireExtended.swift */; }; + 7B4CE5C84161E2BFE477F42DFD634382 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F55CAC237899FAC62067C0F8381952 /* SwiftyJSON.swift */; }; + 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B4A7D6022DE7314E99D0BF266D0A03A7 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 879F02C85701A85EB69DF847EFC94277 /* AFIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BD5BC3EC81365C12FE6F0DF8496D13A /* AFIError.swift */; }; + 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B9D9C0117DC6ABE39B03A31273B1EAE /* Notifications.swift */; }; + 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AF25899F5CFDE3F294C43AA3029F893 /* ResponseSerialization.swift */; }; + 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB34258AC7B5E870DB38A316AC75DC57 /* HTTPHeaders.swift */; }; + 988DFC72CE38E7645D68BA62FCC1C9AD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; + 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 572C6E4C23197EC7C63B67583BFEE37F /* URLConvertible+URLRequestConvertible.swift */; }; + 9B966B0E1A805EB1CC23E1436C42DD82 /* ImageDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0198C33F60A84035E06C6593342290E8 /* ImageDownloader.swift */; }; + 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6884D307F0400747571B063869565C03 /* RetryPolicy.swift */; }; A738C2A39C0150BBA7EA5EC19B95F03E /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 32BD7B93FEA70BDFD057550D07FA7961 /* CFNetwork.framework */; }; - ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDD7C85D2F2986638DDF71BA30AE160F /* CachedResponseHandler.swift */; }; - C0AE89FBE2F0AED45014EAB24A8769F4 /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 111878828D32CDF48FEEFB648DE9FC02 /* ImageCache.swift */; }; - C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4A2D867560007D2ADAEE686CE82C9E1 /* Response.swift */; }; - C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD8D3B14A87D5CE10C6EBBD673CDEA16 /* Alamofire.swift */; }; - C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 66AC5FAFD81C9E8BEA5AC316DCF6E8A7 /* Alamofire-dummy.m */; }; - C95CB7DBF11778B246018ADFEA0715DB /* AlamofireImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EAD5015955D53CADBE96CB3AEE7A50D /* AlamofireImage-dummy.m */; }; - D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D94BD70084A9963A741A3D145098160 /* MultipartUpload.swift */; }; - D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC7A74317986140A9C1D4C509F2C5CDD /* ParameterEncoding.swift */; }; - D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B203B0415855DDE747EDFB3D768E8DE /* URLEncodedFormEncoder.swift */; }; - D3AAE8AE566ED2543CF7A7114F8D7490 /* Pods-Weibo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F5872C024BD4586A4ABC1F15DBA102D /* Pods-Weibo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45F3ED8EB9FCEC41E26AD19990AE6EA /* URLRequest+Alamofire.swift */; }; - DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C2687EA4EBDA19D504B7D1315D6BB86 /* AuthenticationInterceptor.swift */; }; - E1EF356DA7FB063FB272F89CA6939522 /* Pods-Weibo-WeiboUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E4AE24BE8F9B8C207FFD1A182612DBB /* Pods-Weibo-WeiboUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A076A94BD3DCD270438C962006C5C31 /* Request.swift */; }; - F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49E2427335B2E38C76A87EA61B5FF7B9 /* Validation.swift */; }; + ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A7558BC3588DC7F5CC0A9A84C8D88AE /* CachedResponseHandler.swift */; }; + C0AE89FBE2F0AED45014EAB24A8769F4 /* ImageCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5110E98E8B63C374803ACEC92CCE494C /* ImageCache.swift */; }; + C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = C353F97BAE4A28FE0E70B29A11E9BA7C /* Response.swift */; }; + C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55782E00F8724919E77D9827D43D2C4F /* Alamofire.swift */; }; + C6B797B11FE37A42412D6BED966567AD /* Pods-Weibo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C70278BC6C2D4F3B921D9FAD2F54CB3 /* Pods-Weibo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B777A6783618E69CA5CB9835433FF8E9 /* Alamofire-dummy.m */; }; + C95CB7DBF11778B246018ADFEA0715DB /* AlamofireImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A5D9FF3D544933127E592945C57AD1D4 /* AlamofireImage-dummy.m */; }; + D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32A36D5806199764EBE88B1FF4A861FF /* MultipartUpload.swift */; }; + D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB112A6ACA8EE36186938C8E7DC0E2D /* ParameterEncoding.swift */; }; + D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60C3E7EE46027AABB78C7DB14F5E280F /* URLEncodedFormEncoder.swift */; }; + D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 911F8AC696083CD6F359B13AB8A3E687 /* URLRequest+Alamofire.swift */; }; + D83B62E55DE0B026785BEA38EB95E89C /* Pods-WeiboTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A76007F132D090566674307F45BD36C /* Pods-WeiboTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DD8E0F6053F2D5900FD838C00A44CD5 /* AuthenticationInterceptor.swift */; }; + EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3430849D1702C5526BE37931BE12B524 /* Request.swift */; }; + F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D1038C9F1C62BC568CD461681806B00 /* Validation.swift */; }; F6B16DC8CADA07287C6A372AC8AD787C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F401E181BEA002337E464DED414F440 /* Foundation.framework */; }; - F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85A47C57D42651574648AA139457C549 /* URLSessionConfiguration+Alamofire.swift */; }; + F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092358EC86F0418D2E23E49425F724ED /* URLSessionConfiguration+Alamofire.swift */; }; + FA08F41194F891FE04DDE759D442EC48 /* Pods-WeiboTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EB74D934422436F0944E78708F5220F0 /* Pods-WeiboTests-dummy.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 37594C7E35163D3FDD36B0592EB4F47E /* PBXContainerItemProxy */ = { + 171970F8D0F468ED69505A78E29D573A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D472C5195936E228AC7F8E400B66E682; - remoteInfo = Weibo_SDK; + remoteGlobalIDString = C9778AE8394BE451567650E0B239BA21; + remoteInfo = AlamofireImage; }; - 7486BCA5A725BB6D0FF35ACED26F8B72 /* PBXContainerItemProxy */ = { + 2A87D9126E30DCB6863421F4DAE6DDEB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = D472C5195936E228AC7F8E400B66E682; remoteInfo = Weibo_SDK; }; - 9C28DD4AAC517194146242EDFB6207E0 /* PBXContainerItemProxy */ = { + 4BE8B00BC41C5110C65F6A7EB2814F6D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = C9778AE8394BE451567650E0B239BA21; remoteInfo = AlamofireImage; }; - AA610AD3C43B18EC5A37B654D1A8B7A2 /* PBXContainerItemProxy */ = { + 5BB056F8105DB8234185549EDDACED21 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C9778AE8394BE451567650E0B239BA21; - remoteInfo = AlamofireImage; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; }; - BDA116BACF591EAC2572F19356E8878E /* PBXContainerItemProxy */ = { + 77C1B09B5157B24ADD3628C49DF3261D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; remoteInfo = Alamofire; }; - D4A3C1232575307DC5BF674A83F37C5A /* PBXContainerItemProxy */ = { + 8E6B565F74F9FCFDCBA62833C9BEEC31 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; + remoteInfo = SwiftyJSON; }; - D8ADFD91A10025318263E6D1FE2D9E21 /* PBXContainerItemProxy */ = { + D0A666183BC1367477C491E81C6A3835 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; remoteInfo = Alamofire; }; - F11C33311F0CAF6C44C60F264583B24D /* PBXContainerItemProxy */ = { + E55316A3E76596B6B675A2A4246478F3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 452E183573F4565DEFF20C7A37052D2E; - remoteInfo = "Pods-Weibo"; + remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; + remoteInfo = SwiftyJSON; + }; + F276F2FE7CB2B51EA5982F1ABDD4B4EA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D472C5195936E228AC7F8E400B66E682; + remoteInfo = Weibo_SDK; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 008712A18E94361B177BEEDDFD558CEC /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; - 02CADCBF22370BECE6E59C729B782730 /* libWeiboSDK.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libWeiboSDK.a; path = libWeiboSDK/libWeiboSDK.a; sourceTree = ""; }; - 05D0A222C1DD21DFA482017F04A492F4 /* Pods-Weibo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Weibo-dummy.m"; sourceTree = ""; }; - 06CCD1036A903CB7E6AC8642E770F294 /* Pods-Weibo-WeiboUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-WeiboUITests-Info.plist"; sourceTree = ""; }; - 07706C6FA8EA8AE889E6542C71694407 /* AlamofireImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireImage-umbrella.h"; sourceTree = ""; }; - 09A15D2E4D236D2C60B5E438D2F71648 /* Pods_Weibo_WeiboUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Weibo_WeiboUITests.framework; path = "Pods-Weibo-WeiboUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0CCAB3CE72BD1D0C856A7C8D2AE0AD50 /* Pods-WeiboTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-WeiboTests-acknowledgements.markdown"; sourceTree = ""; }; - 0DFE68AAE2D53225925E69F59E630A0B /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; - 0E4AE24BE8F9B8C207FFD1A182612DBB /* Pods-Weibo-WeiboUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Weibo-WeiboUITests-umbrella.h"; sourceTree = ""; }; - 0FFD259ABF9F7006562A9B0465557A8F /* WBHttpRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBHttpRequest.h; path = libWeiboSDK/WBHttpRequest.h; sourceTree = ""; }; - 111878828D32CDF48FEEFB648DE9FC02 /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Source/ImageCache.swift; sourceTree = ""; }; - 133AE1EE9761A0ADB265E78FA68C4AB9 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; - 13CBD06D8622481ECF35002DD00EAA07 /* Pods-Weibo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo.debug.xcconfig"; sourceTree = ""; }; - 150B4FB9C28C1EBDE8FEA9EC5B9DABE3 /* AlamofireImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireImage.debug.xcconfig; sourceTree = ""; }; - 16C53FAD5BF00BFC43DE58925B9DC025 /* Pods-WeiboTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-WeiboTests-acknowledgements.plist"; sourceTree = ""; }; - 18170685A12DDE41216A9A5CDBD63472 /* Pods-WeiboTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-WeiboTests.modulemap"; sourceTree = ""; }; - 254E07D3C7AC68C85E8196856754C2D2 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 2785EA5AA4C5356475A3126D43F1640B /* Pods-Weibo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-frameworks.sh"; sourceTree = ""; }; - 2BAF867111FDE03815973A309080D409 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; - 327E42A2DE34639508BA07EA09E316CB /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; - 32875FE322B2511D3C9C6D41BDC55428 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + 0198C33F60A84035E06C6593342290E8 /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Source/ImageDownloader.swift; sourceTree = ""; }; + 04DC70D79A5A8991101DB7EA0E486206 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 06ED4881C50C71E69CD6E5D4DC63BF7B /* Pods-WeiboTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-WeiboTests-resources.sh"; sourceTree = ""; }; + 07799D8D440205F5633EAD945469A822 /* Pods-Weibo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo.release.xcconfig"; sourceTree = ""; }; + 092358EC86F0418D2E23E49425F724ED /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; + 09BA8C85F32546014EA77FDCDEE134B6 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; + 0CF7C3E985BCB6B497288BD819F0B7BD /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; + 0D57A49E0ACBD242EE567143215D2369 /* ImageFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageFilter.swift; path = Source/ImageFilter.swift; sourceTree = ""; }; + 109B5006D6EAE858E4456DDE7EFEF6A6 /* UIButton+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+AlamofireImage.swift"; path = "Source/UIButton+AlamofireImage.swift"; sourceTree = ""; }; + 1D1998790F89AEC06544237525A00046 /* Pods-Weibo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo.debug.xcconfig"; sourceTree = ""; }; + 1DD8E0F6053F2D5900FD838C00A44CD5 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; + 1DE96D25F44E5EAF13AB673B8373AD22 /* AlamofireImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireImage-prefix.pch"; sourceTree = ""; }; + 21C4C213BCD233F8B175D9FA00572039 /* AlamofireImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireImage.release.xcconfig; sourceTree = ""; }; + 2C628DEAC8C490E49508F48A7C5D0902 /* AlamofireImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AlamofireImage.modulemap; sourceTree = ""; }; + 2D66F15CC4884280E59438F4EF789271 /* Pods-Weibo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-frameworks.sh"; sourceTree = ""; }; + 2E784E6D130CAE8D812655810A7FCC93 /* Pods-Weibo-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-Info.plist"; sourceTree = ""; }; + 3263B7CD6E3192D6CDBD0F650E2105F3 /* SwiftyJSON.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.debug.xcconfig; sourceTree = ""; }; + 32A36D5806199764EBE88B1FF4A861FF /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; 32BD7B93FEA70BDFD057550D07FA7961 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 396B2DD32CFCA70BFEE74C7F5E0720DE /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; - 3B818D9BB50288C4B095AA7B5482C5FB /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - 3F123A3C9BFB95520B1CC9B585711208 /* Pods-Weibo-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-Info.plist"; sourceTree = ""; }; + 32FBF2035257E282ABC8881F63571D10 /* SwiftyJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyJSON-Info.plist"; sourceTree = ""; }; + 3430849D1702C5526BE37931BE12B524 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 3612584524453A950B642E1270EC82EA /* Pods-Weibo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Weibo-acknowledgements.markdown"; sourceTree = ""; }; + 3B5F53019AA43869F6369B8049AE1D63 /* Pods-WeiboTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-WeiboTests.modulemap"; sourceTree = ""; }; + 3BD5BC3EC81365C12FE6F0DF8496D13A /* AFIError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFIError.swift; path = Source/AFIError.swift; sourceTree = ""; }; + 3D0FA9F7D28E04209598AFFFDE5A286A /* Pods-WeiboTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-WeiboTests-acknowledgements.markdown"; sourceTree = ""; }; + 3D1038C9F1C62BC568CD461681806B00 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; 3F401E181BEA002337E464DED414F440 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 3F5872C024BD4586A4ABC1F15DBA102D /* Pods-Weibo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Weibo-umbrella.h"; sourceTree = ""; }; - 40838850539AA8F2C555BC1776F5FCFE /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; - 40C2F3176A8294E5BBC97216A0446F39 /* Pods-WeiboTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-WeiboTests-umbrella.h"; sourceTree = ""; }; - 4118B6C4C4DAAAE7E45375E8C2F57C91 /* Weibo_SDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Weibo_SDK.release.xcconfig; sourceTree = ""; }; - 43B56445C373B18B36643BB563E5A9E2 /* AlamofireImage-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AlamofireImage-Info.plist"; sourceTree = ""; }; + 438C6D7B011A2C661D0A5D1F53B19C8C /* AlamofireImage-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AlamofireImage-Info.plist"; sourceTree = ""; }; 458AF9B6408B46308CD4E00F84DF08C8 /* Pods_Weibo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Weibo.framework; path = "Pods-Weibo.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 45D6F66EC165650CDED31DD9E6E987BB /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - 48469AB958A0AF307A9CD25161E570FB /* Pods-Weibo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Weibo.modulemap"; sourceTree = ""; }; - 49E2427335B2E38C76A87EA61B5FF7B9 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - 4AF7FC60AA562D64226B8416A76E5451 /* ImageFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageFilter.swift; path = Source/ImageFilter.swift; sourceTree = ""; }; - 4D07203D6A9DEC1EFEE6C90D754B67B4 /* WeiboSDK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WeiboSDK.h; path = libWeiboSDK/WeiboSDK.h; sourceTree = ""; }; - 4E0F0E0EAD74EC37D15523DFDB7CA2BD /* Pods-Weibo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-acknowledgements.plist"; sourceTree = ""; }; - 505A0463C97D33231213B40295FDC347 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + 4A76007F132D090566674307F45BD36C /* Pods-WeiboTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-WeiboTests-umbrella.h"; sourceTree = ""; }; + 4B9D9C0117DC6ABE39B03A31273B1EAE /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + 50CA4E096DBF592E4310688DC8668802 /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; + 5110E98E8B63C374803ACEC92CCE494C /* ImageCache.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageCache.swift; path = Source/ImageCache.swift; sourceTree = ""; }; + 53372FD3FBAE30129B54F99FE5E2059E /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 55782E00F8724919E77D9827D43D2C4F /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 557847BBA46AFDDBC6470E05F1B03431 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; + 5603DBFF8673865A642A5DFE093B17FA /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; + 572C6E4C23197EC7C63B67583BFEE37F /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; 57516A26E737583C325062934C7F322B /* Pods_WeiboTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_WeiboTests.framework; path = "Pods-WeiboTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5A389A3FEDFB81B750C92C80666EF307 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; - 5B203B0415855DDE747EDFB3D768E8DE /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; + 5AA6D494966537E318FFB31A3F546CB4 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5EF84518C50FA747379046BC3D956FC5 /* Pods-WeiboTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-WeiboTests-Info.plist"; sourceTree = ""; }; - 656811B7B52B435AA5C859C21020A3B0 /* UIButton+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+AlamofireImage.swift"; path = "Source/UIButton+AlamofireImage.swift"; sourceTree = ""; }; - 66AC5FAFD81C9E8BEA5AC316DCF6E8A7 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 67697EA434A2099957997C48A6DE5C76 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; - 68A1F7681E50B077CEAAC25EE67447AE /* AlamofireImage.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AlamofireImage.modulemap; sourceTree = ""; }; - 6A66F6568693B7EC7B868D6C9BCBDBFC /* AlamofireImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireImage-prefix.pch"; sourceTree = ""; }; - 6B144F3B50E47D25B0FF5E156220F1F7 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 6C2687EA4EBDA19D504B7D1315D6BB86 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; - 6CA1C6AD22B8AEE13B08AD0D58FFD1C4 /* Pods-Weibo-WeiboUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-WeiboUITests-acknowledgements.plist"; sourceTree = ""; }; - 6D94BD70084A9963A741A3D145098160 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; - 792242C5B0A3251025A67B68E4812F8D /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; - 792343F0694DAB87E1EADC5529D23875 /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; - 84B26ADF80FD3D5F08D5A7B06789C7D3 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; - 85A47C57D42651574648AA139457C549 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; - 8EAD5015955D53CADBE96CB3AEE7A50D /* AlamofireImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamofireImage-dummy.m"; sourceTree = ""; }; - 8F444CFB48CDAF4AA6D91D0E0457014C /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Source/ImageDownloader.swift; sourceTree = ""; }; - 9333AF5B3BAFD01D7E772EEEA24665D9 /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; - 939EE78EAC20849CAB7261506DF16161 /* UIImage+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+AlamofireImage.swift"; path = "Source/UIImage+AlamofireImage.swift"; sourceTree = ""; }; - 96FDC9621F615B0F83756402AAB4C4A4 /* Pods-Weibo-WeiboUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Weibo-WeiboUITests.modulemap"; sourceTree = ""; }; - 995F410DE6EA45D3329DECE5388F56E0 /* AFIError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFIError.swift; path = Source/AFIError.swift; sourceTree = ""; }; - 9A076A94BD3DCD270438C962006C5C31 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 9D5F478CFE4CD7C75A58C45506CE7BFB /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 5EF76D47F092F93384B916BE68748C50 /* AlamofireImage-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AlamofireImage-umbrella.h"; sourceTree = ""; }; + 60C3E7EE46027AABB78C7DB14F5E280F /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; + 6102693CA452A1976384439EA3331965 /* WeiboSDK.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = WeiboSDK.bundle; path = libWeiboSDK/WeiboSDK.bundle; sourceTree = ""; }; + 621CBFB5D6B39B989985AEC7889423EC /* AlamofireImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireImage.debug.xcconfig; sourceTree = ""; }; + 66B130E9D9CEFEB5A589CF4C64004F68 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; + 6884D307F0400747571B063869565C03 /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; + 68E8CAE5BE6795250BBABB29A5B001F7 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + 6C70278BC6C2D4F3B921D9FAD2F54CB3 /* Pods-Weibo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Weibo-umbrella.h"; sourceTree = ""; }; + 6F2CCE0B7F6F6E34F0B136CB13E8874E /* Pods-WeiboTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-WeiboTests.debug.xcconfig"; sourceTree = ""; }; + 704082C18E8E260D72FF8CC8BD0401FE /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + 7060A2BC6D068D79B72C34A056E50162 /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; + 709C2B2F9DBEBF5F9B63B797EE486327 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 710E8AFF5B84E3896FAFFD56FEE832C3 /* Pods-WeiboTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-WeiboTests-acknowledgements.plist"; sourceTree = ""; }; + 71F55CAC237899FAC62067C0F8381952 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON/SwiftyJSON.swift; sourceTree = ""; }; + 73F92DB1943C521D196995DB4B839967 /* Pods-Weibo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Weibo-acknowledgements.plist"; sourceTree = ""; }; + 7AFBEC3AF6012EC2460A9354632CE9E0 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; + 7B8EC769E06AB0B5C39673CA76B5CA84 /* Pods-WeiboTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-WeiboTests-frameworks.sh"; sourceTree = ""; }; + 8A603831BEA86889A1FC75B323B85DDF /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; + 8A80D0CE327F1F27D9D016C9F9C8619F /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyJSON.modulemap; sourceTree = ""; }; + 8AB112A6ACA8EE36186938C8E7DC0E2D /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + 8E59B91B1BE8AE861842FA91E05ED124 /* SwiftyJSON.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.release.xcconfig; sourceTree = ""; }; + 911F8AC696083CD6F359B13AB8A3E687 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; + 92C3A17DFD2CE6D1A78C23CEAFBABAC1 /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; + 92CC4440E08E90A5FC3DAB8ED5B5B975 /* UIImageView+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+AlamofireImage.swift"; path = "Source/UIImageView+AlamofireImage.swift"; sourceTree = ""; }; + 9653E39F5DDF846E33323833A667B670 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; + 9A7558BC3588DC7F5CC0A9A84C8D88AE /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; + 9AF25899F5CFDE3F294C43AA3029F893 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F9EBE9936CC6CCFD5E896687328C1A7 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; - A0DC38EBDD120A67B0674B1C38A9C651 /* AlamofireImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AlamofireImage.release.xcconfig; sourceTree = ""; }; - A12039BCDED56563EFDC6C44CDBB5950 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - A48CB8639128ACBE078B9A24CD19F726 /* Weibo_SDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Weibo_SDK.debug.xcconfig; sourceTree = ""; }; - A798BC7890EAB2BB0F9D409FB0804549 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Source/Image.swift; sourceTree = ""; }; - A9AD99B51A82E3F4CA3A37D842DE2439 /* Pods-Weibo-WeiboUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Weibo-WeiboUITests-acknowledgements.markdown"; sourceTree = ""; }; - AB266AED4E90B31157AD4CE25167642F /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - AFBA482433ADDABEF0EE2D6A38521C22 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; - BCD4BFAE48C0D1C59502035808EC3385 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; - BD16AE369EFDBA51C9D9FE7483BEA437 /* Pods-Weibo-WeiboUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo-WeiboUITests.release.xcconfig"; sourceTree = ""; }; - BEF54679B3BBA7C99C2A1F058685F847 /* Pods-WeiboTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-WeiboTests.debug.xcconfig"; sourceTree = ""; }; - BF0D51378A5BC4042E2757652FCD8995 /* Pods-WeiboTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-WeiboTests.release.xcconfig"; sourceTree = ""; }; - C82FE3009894D8CFC9815682D6D4D9E6 /* WeiboSDK.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = WeiboSDK.bundle; path = libWeiboSDK/WeiboSDK.bundle; sourceTree = ""; }; + A5D9FF3D544933127E592945C57AD1D4 /* AlamofireImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AlamofireImage-dummy.m"; sourceTree = ""; }; + A9468F9670C998983FF64F1BEB521A82 /* Pods-WeiboTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-WeiboTests-Info.plist"; sourceTree = ""; }; + AE496709756F85F812C5C6194EFB3EB5 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; + B21B845DB05CB2F053709B854EFD25E5 /* Pods-WeiboTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-WeiboTests.release.xcconfig"; sourceTree = ""; }; + B4A7D6022DE7314E99D0BF266D0A03A7 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; + B777A6783618E69CA5CB9835433FF8E9 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + BA12A6171F110C2677BAA4DF96347581 /* Pods-Weibo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-resources.sh"; sourceTree = ""; }; + BD79DA4CB5A347335A4287423236AD47 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + BF5EEE45AFA6039512F957A1CA6C9FB2 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; + BFA4F65CF9BCBD8162928300063E20DC /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Source/Image.swift; sourceTree = ""; }; + C07B4512A08794EF110EFCF4D2445941 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; + C353F97BAE4A28FE0E70B29A11E9BA7C /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + C4C28E5FA8291E669466A2F9AC6DB8BD /* WBHttpRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WBHttpRequest.h; path = libWeiboSDK/WBHttpRequest.h; sourceTree = ""; }; C8498160B5D29EF2745E4D41F2D971B5 /* AlamofireImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AlamofireImage.framework; path = AlamofireImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C944F3833537E8879A7E21AB70C99029 /* Pods-Weibo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo.release.xcconfig"; sourceTree = ""; }; - CCD3F10405DC26D150FF03B0D8383740 /* Pods-Weibo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Weibo-acknowledgements.markdown"; sourceTree = ""; }; - CFE3ACFBAF1B5FDF27C98D09975F63F8 /* Request+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Request+AlamofireImage.swift"; path = "Source/Request+AlamofireImage.swift"; sourceTree = ""; }; + C93DF101AABB4234D28CD09FFAD63EB2 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; + CCF72FC046D5116A432376BC8ADF094D /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; D0FF301302A2A77E95697F2B5692FA5E /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8609B3FD060A40A005DFFEED78E5E94 /* Pods-Weibo-WeiboUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Weibo-WeiboUITests-dummy.m"; sourceTree = ""; }; - DB40A4693720D382B26F248CF498739D /* Pods-WeiboTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-WeiboTests-dummy.m"; sourceTree = ""; }; - DC7A74317986140A9C1D4C509F2C5CDD /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - E270C4B501460DA285067CA3EF269753 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; - E45F3ED8EB9FCEC41E26AD19990AE6EA /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; - E7D0849B7DAEF3478BA5D6BB35075276 /* Pods-Weibo-WeiboUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-WeiboUITests-frameworks.sh"; sourceTree = ""; }; - E993C940711D584FD72886DE79D97540 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - EA3A6D3853168DEC4B58B4FAF79381B1 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; - ED9906105D4C7396AB65B9E15E3250DE /* Pods-Weibo-WeiboUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Weibo-WeiboUITests.debug.xcconfig"; sourceTree = ""; }; - EDD7C85D2F2986638DDF71BA30AE160F /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; - EF4847A95DF88DCEF2930AC400AB68E6 /* Pods-Weibo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-resources.sh"; sourceTree = ""; }; - F3EBB65DD8CDF0270DC7EA4A467E7154 /* Pods-Weibo-WeiboUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Weibo-WeiboUITests-resources.sh"; sourceTree = ""; }; - F40411F90509EC9F7140825A9D675119 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; - F4A2D867560007D2ADAEE686CE82C9E1 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - F5DA379DB59D06E3DAE1F82AC4ABE51A /* UIImageView+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+AlamofireImage.swift"; path = "Source/UIImageView+AlamofireImage.swift"; sourceTree = ""; }; - FD8D3B14A87D5CE10C6EBBD673CDEA16 /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - FEB24EB37605FD540DDCE8A909708E9E /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + D2E20B0C04ECB44BCB70177DE2B386F8 /* WeiboSDK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WeiboSDK.h; path = libWeiboSDK/WeiboSDK.h; sourceTree = ""; }; + DA3C100AF015D48DB17E9102F52B0A98 /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; + DB946B983793B08D48941B6157986B47 /* Request+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Request+AlamofireImage.swift"; path = "Source/Request+AlamofireImage.swift"; sourceTree = ""; }; + DBC49E669F0D1C499BED7A157FACB6FA /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + E22BC9E96D71BF6651C02949DEEA81C7 /* UIImage+AlamofireImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+AlamofireImage.swift"; path = "Source/UIImage+AlamofireImage.swift"; sourceTree = ""; }; + E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E295102573FDFBFC584B418DA879AFC8 /* Pods-Weibo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Weibo-dummy.m"; sourceTree = ""; }; + E33D3A511A1FA5D41295D6C364728366 /* Weibo_SDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Weibo_SDK.release.xcconfig; sourceTree = ""; }; + EB34258AC7B5E870DB38A316AC75DC57 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + EB74D934422436F0944E78708F5220F0 /* Pods-WeiboTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-WeiboTests-dummy.m"; sourceTree = ""; }; + EC63DD6A3E73456277A302B520D281EB /* Weibo_SDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Weibo_SDK.debug.xcconfig; sourceTree = ""; }; + EDA08C339E36330F02324526F3C09261 /* libWeiboSDK.a */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = archive.ar; name = libWeiboSDK.a; path = libWeiboSDK/libWeiboSDK.a; sourceTree = ""; }; + F13253A31A4B6211EBF0385D4AD1BC25 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; + F8E2466A6B55B964F1835D47F4ABAD1C /* Pods-Weibo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Weibo.modulemap"; sourceTree = ""; }; + FAA4A5854F83AEA740A9722FFB8F840C /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 02C9FE9DA79B8E9D4BBFD675EE69134B /* Frameworks */ = { + 0AADBBFAEDBA768AA2BD5AAD123DF140 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 13C2CE4A0206DD3FA63352E1503E81E7 /* Foundation.framework in Frameworks */, + 988DFC72CE38E7645D68BA62FCC1C9AD /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 21D82D5F4E4F3B24BAEF9A1C667DD0BA /* Frameworks */ = { + 559F8D0938CB448B13DB108BC2DD54A9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 462B0F68E8438C1FF4BB1EC3E72E2239 /* Foundation.framework in Frameworks */, + 6D15DA5AFA07DA7D84DBF31263FBF8F9 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -280,301 +288,310 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FF2C87AB188D01E908AFC10F7D6233F1 /* Frameworks */ = { + AD9C5A8DAF4334B670E91B2EC08DBE2C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 34E858864C3F61C35BDA949320EBDC44 /* Foundation.framework in Frameworks */, + 464450D037D17ED5EE2322E180A6A9F5 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0655A45B2DE112F0AE00B3FF2BE7B909 /* Support Files */ = { + 0D2AA171848801157586A3210A1F6CD4 /* Support Files */ = { isa = PBXGroup; children = ( - 68A1F7681E50B077CEAAC25EE67447AE /* AlamofireImage.modulemap */, - 8EAD5015955D53CADBE96CB3AEE7A50D /* AlamofireImage-dummy.m */, - 43B56445C373B18B36643BB563E5A9E2 /* AlamofireImage-Info.plist */, - 6A66F6568693B7EC7B868D6C9BCBDBFC /* AlamofireImage-prefix.pch */, - 07706C6FA8EA8AE889E6542C71694407 /* AlamofireImage-umbrella.h */, - 150B4FB9C28C1EBDE8FEA9EC5B9DABE3 /* AlamofireImage.debug.xcconfig */, - A0DC38EBDD120A67B0674B1C38A9C651 /* AlamofireImage.release.xcconfig */, + 2C628DEAC8C490E49508F48A7C5D0902 /* AlamofireImage.modulemap */, + A5D9FF3D544933127E592945C57AD1D4 /* AlamofireImage-dummy.m */, + 438C6D7B011A2C661D0A5D1F53B19C8C /* AlamofireImage-Info.plist */, + 1DE96D25F44E5EAF13AB673B8373AD22 /* AlamofireImage-prefix.pch */, + 5EF76D47F092F93384B916BE68748C50 /* AlamofireImage-umbrella.h */, + 621CBFB5D6B39B989985AEC7889423EC /* AlamofireImage.debug.xcconfig */, + 21C4C213BCD233F8B175D9FA00572039 /* AlamofireImage.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/AlamofireImage"; sourceTree = ""; }; - 0EEA237F931007A9C70181EA2EE5C1C3 /* Frameworks */ = { + 28FFF2F35564C5E94EA5C028447C5CB0 /* Pods-Weibo */ = { isa = PBXGroup; children = ( - 02CADCBF22370BECE6E59C729B782730 /* libWeiboSDK.a */, + F8E2466A6B55B964F1835D47F4ABAD1C /* Pods-Weibo.modulemap */, + 3612584524453A950B642E1270EC82EA /* Pods-Weibo-acknowledgements.markdown */, + 73F92DB1943C521D196995DB4B839967 /* Pods-Weibo-acknowledgements.plist */, + E295102573FDFBFC584B418DA879AFC8 /* Pods-Weibo-dummy.m */, + 2D66F15CC4884280E59438F4EF789271 /* Pods-Weibo-frameworks.sh */, + 2E784E6D130CAE8D812655810A7FCC93 /* Pods-Weibo-Info.plist */, + BA12A6171F110C2677BAA4DF96347581 /* Pods-Weibo-resources.sh */, + 6C70278BC6C2D4F3B921D9FAD2F54CB3 /* Pods-Weibo-umbrella.h */, + 1D1998790F89AEC06544237525A00046 /* Pods-Weibo.debug.xcconfig */, + 07799D8D440205F5633EAD945469A822 /* Pods-Weibo.release.xcconfig */, ); - name = Frameworks; + name = "Pods-Weibo"; + path = "Target Support Files/Pods-Weibo"; sourceTree = ""; }; - 0FB57CDEAD3A2553E985FF82AE18697C /* Alamofire */ = { + 4A40DFC9E2EF50F0D08BD0172B53DAD0 /* Targets Support Files */ = { isa = PBXGroup; children = ( - AB266AED4E90B31157AD4CE25167642F /* AFError.swift */, - FD8D3B14A87D5CE10C6EBBD673CDEA16 /* Alamofire.swift */, - EA3A6D3853168DEC4B58B4FAF79381B1 /* AlamofireExtended.swift */, - 6C2687EA4EBDA19D504B7D1315D6BB86 /* AuthenticationInterceptor.swift */, - EDD7C85D2F2986638DDF71BA30AE160F /* CachedResponseHandler.swift */, - FEB24EB37605FD540DDCE8A909708E9E /* Combine.swift */, - 32875FE322B2511D3C9C6D41BDC55428 /* DispatchQueue+Alamofire.swift */, - 327E42A2DE34639508BA07EA09E316CB /* EventMonitor.swift */, - 505A0463C97D33231213B40295FDC347 /* HTTPHeaders.swift */, - F40411F90509EC9F7140825A9D675119 /* HTTPMethod.swift */, - 3B818D9BB50288C4B095AA7B5482C5FB /* MultipartFormData.swift */, - 6D94BD70084A9963A741A3D145098160 /* MultipartUpload.swift */, - 45D6F66EC165650CDED31DD9E6E987BB /* NetworkReachabilityManager.swift */, - 254E07D3C7AC68C85E8196856754C2D2 /* Notifications.swift */, - 792343F0694DAB87E1EADC5529D23875 /* OperationQueue+Alamofire.swift */, - 396B2DD32CFCA70BFEE74C7F5E0720DE /* ParameterEncoder.swift */, - DC7A74317986140A9C1D4C509F2C5CDD /* ParameterEncoding.swift */, - 792242C5B0A3251025A67B68E4812F8D /* Protected.swift */, - 84B26ADF80FD3D5F08D5A7B06789C7D3 /* RedirectHandler.swift */, - 9A076A94BD3DCD270438C962006C5C31 /* Request.swift */, - 9333AF5B3BAFD01D7E772EEEA24665D9 /* RequestInterceptor.swift */, - E270C4B501460DA285067CA3EF269753 /* RequestTaskMap.swift */, - F4A2D867560007D2ADAEE686CE82C9E1 /* Response.swift */, - 6B144F3B50E47D25B0FF5E156220F1F7 /* ResponseSerialization.swift */, - 0DFE68AAE2D53225925E69F59E630A0B /* Result+Alamofire.swift */, - 008712A18E94361B177BEEDDFD558CEC /* RetryPolicy.swift */, - 133AE1EE9761A0ADB265E78FA68C4AB9 /* ServerTrustEvaluation.swift */, - 2BAF867111FDE03815973A309080D409 /* Session.swift */, - E993C940711D584FD72886DE79D97540 /* SessionDelegate.swift */, - AFBA482433ADDABEF0EE2D6A38521C22 /* StringEncoding+Alamofire.swift */, - BCD4BFAE48C0D1C59502035808EC3385 /* URLConvertible+URLRequestConvertible.swift */, - 5B203B0415855DDE747EDFB3D768E8DE /* URLEncodedFormEncoder.swift */, - E45F3ED8EB9FCEC41E26AD19990AE6EA /* URLRequest+Alamofire.swift */, - 85A47C57D42651574648AA139457C549 /* URLSessionConfiguration+Alamofire.swift */, - 49E2427335B2E38C76A87EA61B5FF7B9 /* Validation.swift */, - ED6FE3B15D941D09ABDC521C838E17DA /* Support Files */, + 28FFF2F35564C5E94EA5C028447C5CB0 /* Pods-Weibo */, + B7CDE8FE3D9DA15419C37F962B876C8A /* Pods-WeiboTests */, ); - name = Alamofire; - path = Alamofire; + name = "Targets Support Files"; sourceTree = ""; }; - 27367E3A72EFC761EB2447210D8972A1 /* Weibo_SDK */ = { + 4BF62439A2FE1F58E9E704216CF2CE03 /* iOS */ = { isa = PBXGroup; children = ( - 0FFD259ABF9F7006562A9B0465557A8F /* WBHttpRequest.h */, - 4D07203D6A9DEC1EFEE6C90D754B67B4 /* WeiboSDK.h */, - 0EEA237F931007A9C70181EA2EE5C1C3 /* Frameworks */, - 37733FE0BA1FB2F80C7432C76BDCA018 /* Resources */, - CB9669777F69367A1C0F417D497AE6BD /* Support Files */, + 32BD7B93FEA70BDFD057550D07FA7961 /* CFNetwork.framework */, + 3F401E181BEA002337E464DED414F440 /* Foundation.framework */, ); - name = Weibo_SDK; - path = Weibo_SDK; + name = iOS; sourceTree = ""; }; - 37733FE0BA1FB2F80C7432C76BDCA018 /* Resources */ = { + 6159CBF5ED78B8B9CA3A96091A807A10 /* Support Files */ = { isa = PBXGroup; children = ( - C82FE3009894D8CFC9815682D6D4D9E6 /* WeiboSDK.bundle */, + 8A80D0CE327F1F27D9D016C9F9C8619F /* SwiftyJSON.modulemap */, + 8A603831BEA86889A1FC75B323B85DDF /* SwiftyJSON-dummy.m */, + 32FBF2035257E282ABC8881F63571D10 /* SwiftyJSON-Info.plist */, + 92C3A17DFD2CE6D1A78C23CEAFBABAC1 /* SwiftyJSON-prefix.pch */, + C07B4512A08794EF110EFCF4D2445941 /* SwiftyJSON-umbrella.h */, + 3263B7CD6E3192D6CDBD0F650E2105F3 /* SwiftyJSON.debug.xcconfig */, + 8E59B91B1BE8AE861842FA91E05ED124 /* SwiftyJSON.release.xcconfig */, ); - name = Resources; + name = "Support Files"; + path = "../Target Support Files/SwiftyJSON"; sourceTree = ""; }; - 3FF2E557F4D74C5F6C0C85CD02987195 /* AlamofireImage */ = { + 6C41A7A8DAEC85D9AE0CF78B6325CD8A /* Pods */ = { isa = PBXGroup; children = ( - 995F410DE6EA45D3329DECE5388F56E0 /* AFIError.swift */, - A798BC7890EAB2BB0F9D409FB0804549 /* Image.swift */, - 111878828D32CDF48FEEFB648DE9FC02 /* ImageCache.swift */, - 8F444CFB48CDAF4AA6D91D0E0457014C /* ImageDownloader.swift */, - 4AF7FC60AA562D64226B8416A76E5451 /* ImageFilter.swift */, - CFE3ACFBAF1B5FDF27C98D09975F63F8 /* Request+AlamofireImage.swift */, - 656811B7B52B435AA5C859C21020A3B0 /* UIButton+AlamofireImage.swift */, - 939EE78EAC20849CAB7261506DF16161 /* UIImage+AlamofireImage.swift */, - F5DA379DB59D06E3DAE1F82AC4ABE51A /* UIImageView+AlamofireImage.swift */, - 0655A45B2DE112F0AE00B3FF2BE7B909 /* Support Files */, + 971152D9C23015EBBC4A4F8ACD6EDB9B /* Alamofire */, + B90D9069C58651232DE1B6A587397200 /* AlamofireImage */, + A3D7629E2F857B11D8B482277CD0BF5D /* SwiftyJSON */, + B083505FE9F4F4DE68B2CB99C09B4264 /* Weibo_SDK */, ); - name = AlamofireImage; - path = AlamofireImage; + name = Pods; sourceTree = ""; }; - 4BF62439A2FE1F58E9E704216CF2CE03 /* iOS */ = { + 82BCB89A1D6145BB8924FC6778ADB28A /* Support Files */ = { isa = PBXGroup; children = ( - 32BD7B93FEA70BDFD057550D07FA7961 /* CFNetwork.framework */, - 3F401E181BEA002337E464DED414F440 /* Foundation.framework */, + 709C2B2F9DBEBF5F9B63B797EE486327 /* Alamofire.modulemap */, + B777A6783618E69CA5CB9835433FF8E9 /* Alamofire-dummy.m */, + AE496709756F85F812C5C6194EFB3EB5 /* Alamofire-Info.plist */, + 04DC70D79A5A8991101DB7EA0E486206 /* Alamofire-prefix.pch */, + B4A7D6022DE7314E99D0BF266D0A03A7 /* Alamofire-umbrella.h */, + 7AFBEC3AF6012EC2460A9354632CE9E0 /* Alamofire.debug.xcconfig */, + 5603DBFF8673865A642A5DFE093B17FA /* Alamofire.release.xcconfig */, ); - name = iOS; + name = "Support Files"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - 6E63A0791EB65375F1137FADD23931DF /* Products */ = { + 8368A1C8FD0E3724FAFA0028227C0C3C /* Products */ = { isa = PBXGroup; children = ( 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */, C8498160B5D29EF2745E4D41F2D971B5 /* AlamofireImage.framework */, 458AF9B6408B46308CD4E00F84DF08C8 /* Pods_Weibo.framework */, - 09A15D2E4D236D2C60B5E438D2F71648 /* Pods_Weibo_WeiboUITests.framework */, 57516A26E737583C325062934C7F322B /* Pods_WeiboTests.framework */, + E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */, ); name = Products; sourceTree = ""; }; - 709D9145961CDED6757943A453479891 /* Pods */ = { + 84E0931F3DAE01AEBE71A3B1C0621252 /* Support Files */ = { isa = PBXGroup; children = ( - 0FB57CDEAD3A2553E985FF82AE18697C /* Alamofire */, - 3FF2E557F4D74C5F6C0C85CD02987195 /* AlamofireImage */, - 27367E3A72EFC761EB2447210D8972A1 /* Weibo_SDK */, + EC63DD6A3E73456277A302B520D281EB /* Weibo_SDK.debug.xcconfig */, + E33D3A511A1FA5D41295D6C364728366 /* Weibo_SDK.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/Weibo_SDK"; sourceTree = ""; }; - 77A979CDBD5BD9B9E940ACA725E450C4 /* Pods-WeiboTests */ = { + 8B7A79262BFE6D94671D449787F3AAA9 /* Frameworks */ = { isa = PBXGroup; children = ( - 18170685A12DDE41216A9A5CDBD63472 /* Pods-WeiboTests.modulemap */, - 0CCAB3CE72BD1D0C856A7C8D2AE0AD50 /* Pods-WeiboTests-acknowledgements.markdown */, - 16C53FAD5BF00BFC43DE58925B9DC025 /* Pods-WeiboTests-acknowledgements.plist */, - DB40A4693720D382B26F248CF498739D /* Pods-WeiboTests-dummy.m */, - 5EF84518C50FA747379046BC3D956FC5 /* Pods-WeiboTests-Info.plist */, - 40C2F3176A8294E5BBC97216A0446F39 /* Pods-WeiboTests-umbrella.h */, - BEF54679B3BBA7C99C2A1F058685F847 /* Pods-WeiboTests.debug.xcconfig */, - BF0D51378A5BC4042E2757652FCD8995 /* Pods-WeiboTests.release.xcconfig */, + D0FF301302A2A77E95697F2B5692FA5E /* Alamofire.framework */, + 4BF62439A2FE1F58E9E704216CF2CE03 /* iOS */, ); - name = "Pods-WeiboTests"; - path = "Target Support Files/Pods-WeiboTests"; + name = Frameworks; sourceTree = ""; }; - 8B7A79262BFE6D94671D449787F3AAA9 /* Frameworks */ = { + 971152D9C23015EBBC4A4F8ACD6EDB9B /* Alamofire */ = { isa = PBXGroup; children = ( - D0FF301302A2A77E95697F2B5692FA5E /* Alamofire.framework */, - 4BF62439A2FE1F58E9E704216CF2CE03 /* iOS */, + 5AA6D494966537E318FFB31A3F546CB4 /* AFError.swift */, + 55782E00F8724919E77D9827D43D2C4F /* Alamofire.swift */, + 09BA8C85F32546014EA77FDCDEE134B6 /* AlamofireExtended.swift */, + 1DD8E0F6053F2D5900FD838C00A44CD5 /* AuthenticationInterceptor.swift */, + 9A7558BC3588DC7F5CC0A9A84C8D88AE /* CachedResponseHandler.swift */, + 704082C18E8E260D72FF8CC8BD0401FE /* Combine.swift */, + BF5EEE45AFA6039512F957A1CA6C9FB2 /* DispatchQueue+Alamofire.swift */, + CCF72FC046D5116A432376BC8ADF094D /* EventMonitor.swift */, + EB34258AC7B5E870DB38A316AC75DC57 /* HTTPHeaders.swift */, + C93DF101AABB4234D28CD09FFAD63EB2 /* HTTPMethod.swift */, + DBC49E669F0D1C499BED7A157FACB6FA /* MultipartFormData.swift */, + 32A36D5806199764EBE88B1FF4A861FF /* MultipartUpload.swift */, + BD79DA4CB5A347335A4287423236AD47 /* NetworkReachabilityManager.swift */, + 4B9D9C0117DC6ABE39B03A31273B1EAE /* Notifications.swift */, + 50CA4E096DBF592E4310688DC8668802 /* OperationQueue+Alamofire.swift */, + 7060A2BC6D068D79B72C34A056E50162 /* ParameterEncoder.swift */, + 8AB112A6ACA8EE36186938C8E7DC0E2D /* ParameterEncoding.swift */, + 9653E39F5DDF846E33323833A667B670 /* Protected.swift */, + F13253A31A4B6211EBF0385D4AD1BC25 /* RedirectHandler.swift */, + 3430849D1702C5526BE37931BE12B524 /* Request.swift */, + DA3C100AF015D48DB17E9102F52B0A98 /* RequestInterceptor.swift */, + 66B130E9D9CEFEB5A589CF4C64004F68 /* RequestTaskMap.swift */, + C353F97BAE4A28FE0E70B29A11E9BA7C /* Response.swift */, + 9AF25899F5CFDE3F294C43AA3029F893 /* ResponseSerialization.swift */, + 0CF7C3E985BCB6B497288BD819F0B7BD /* Result+Alamofire.swift */, + 6884D307F0400747571B063869565C03 /* RetryPolicy.swift */, + 68E8CAE5BE6795250BBABB29A5B001F7 /* ServerTrustEvaluation.swift */, + FAA4A5854F83AEA740A9722FFB8F840C /* Session.swift */, + 53372FD3FBAE30129B54F99FE5E2059E /* SessionDelegate.swift */, + 557847BBA46AFDDBC6470E05F1B03431 /* StringEncoding+Alamofire.swift */, + 572C6E4C23197EC7C63B67583BFEE37F /* URLConvertible+URLRequestConvertible.swift */, + 60C3E7EE46027AABB78C7DB14F5E280F /* URLEncodedFormEncoder.swift */, + 911F8AC696083CD6F359B13AB8A3E687 /* URLRequest+Alamofire.swift */, + 092358EC86F0418D2E23E49425F724ED /* URLSessionConfiguration+Alamofire.swift */, + 3D1038C9F1C62BC568CD461681806B00 /* Validation.swift */, + 82BCB89A1D6145BB8924FC6778ADB28A /* Support Files */, ); - name = Frameworks; + name = Alamofire; + path = Alamofire; sourceTree = ""; }; - AB67F1FB782172A88DC9EC4EB37DDBA9 /* Targets Support Files */ = { + A3D7629E2F857B11D8B482277CD0BF5D /* SwiftyJSON */ = { isa = PBXGroup; children = ( - C8955FDD6BBC4AF389DA192394014313 /* Pods-Weibo */, - FA7DE64D0BA96668F2AA1DBD0CB6B4B3 /* Pods-Weibo-WeiboUITests */, - 77A979CDBD5BD9B9E940ACA725E450C4 /* Pods-WeiboTests */, + 71F55CAC237899FAC62067C0F8381952 /* SwiftyJSON.swift */, + 6159CBF5ED78B8B9CA3A96091A807A10 /* Support Files */, ); - name = "Targets Support Files"; + name = SwiftyJSON; + path = SwiftyJSON; sourceTree = ""; }; - C8955FDD6BBC4AF389DA192394014313 /* Pods-Weibo */ = { + B083505FE9F4F4DE68B2CB99C09B4264 /* Weibo_SDK */ = { isa = PBXGroup; children = ( - 48469AB958A0AF307A9CD25161E570FB /* Pods-Weibo.modulemap */, - CCD3F10405DC26D150FF03B0D8383740 /* Pods-Weibo-acknowledgements.markdown */, - 4E0F0E0EAD74EC37D15523DFDB7CA2BD /* Pods-Weibo-acknowledgements.plist */, - 05D0A222C1DD21DFA482017F04A492F4 /* Pods-Weibo-dummy.m */, - 2785EA5AA4C5356475A3126D43F1640B /* Pods-Weibo-frameworks.sh */, - 3F123A3C9BFB95520B1CC9B585711208 /* Pods-Weibo-Info.plist */, - EF4847A95DF88DCEF2930AC400AB68E6 /* Pods-Weibo-resources.sh */, - 3F5872C024BD4586A4ABC1F15DBA102D /* Pods-Weibo-umbrella.h */, - 13CBD06D8622481ECF35002DD00EAA07 /* Pods-Weibo.debug.xcconfig */, - C944F3833537E8879A7E21AB70C99029 /* Pods-Weibo.release.xcconfig */, + C4C28E5FA8291E669466A2F9AC6DB8BD /* WBHttpRequest.h */, + D2E20B0C04ECB44BCB70177DE2B386F8 /* WeiboSDK.h */, + B81CACDED9892BBFEB56D6A70DA2EF2E /* Frameworks */, + E2C0338B72C7298481872BA2D19816E5 /* Resources */, + 84E0931F3DAE01AEBE71A3B1C0621252 /* Support Files */, ); - name = "Pods-Weibo"; - path = "Target Support Files/Pods-Weibo"; + name = Weibo_SDK; + path = Weibo_SDK; sourceTree = ""; }; - CB9669777F69367A1C0F417D497AE6BD /* Support Files */ = { + B7CDE8FE3D9DA15419C37F962B876C8A /* Pods-WeiboTests */ = { isa = PBXGroup; children = ( - A48CB8639128ACBE078B9A24CD19F726 /* Weibo_SDK.debug.xcconfig */, - 4118B6C4C4DAAAE7E45375E8C2F57C91 /* Weibo_SDK.release.xcconfig */, + 3B5F53019AA43869F6369B8049AE1D63 /* Pods-WeiboTests.modulemap */, + 3D0FA9F7D28E04209598AFFFDE5A286A /* Pods-WeiboTests-acknowledgements.markdown */, + 710E8AFF5B84E3896FAFFD56FEE832C3 /* Pods-WeiboTests-acknowledgements.plist */, + EB74D934422436F0944E78708F5220F0 /* Pods-WeiboTests-dummy.m */, + 7B8EC769E06AB0B5C39673CA76B5CA84 /* Pods-WeiboTests-frameworks.sh */, + A9468F9670C998983FF64F1BEB521A82 /* Pods-WeiboTests-Info.plist */, + 06ED4881C50C71E69CD6E5D4DC63BF7B /* Pods-WeiboTests-resources.sh */, + 4A76007F132D090566674307F45BD36C /* Pods-WeiboTests-umbrella.h */, + 6F2CCE0B7F6F6E34F0B136CB13E8874E /* Pods-WeiboTests.debug.xcconfig */, + B21B845DB05CB2F053709B854EFD25E5 /* Pods-WeiboTests.release.xcconfig */, ); - name = "Support Files"; - path = "../Target Support Files/Weibo_SDK"; + name = "Pods-WeiboTests"; + path = "Target Support Files/Pods-WeiboTests"; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + B81CACDED9892BBFEB56D6A70DA2EF2E /* Frameworks */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 8B7A79262BFE6D94671D449787F3AAA9 /* Frameworks */, - 709D9145961CDED6757943A453479891 /* Pods */, - 6E63A0791EB65375F1137FADD23931DF /* Products */, - AB67F1FB782172A88DC9EC4EB37DDBA9 /* Targets Support Files */, + EDA08C339E36330F02324526F3C09261 /* libWeiboSDK.a */, ); + name = Frameworks; sourceTree = ""; }; - ED6FE3B15D941D09ABDC521C838E17DA /* Support Files */ = { + B90D9069C58651232DE1B6A587397200 /* AlamofireImage */ = { isa = PBXGroup; children = ( - 9F9EBE9936CC6CCFD5E896687328C1A7 /* Alamofire.modulemap */, - 66AC5FAFD81C9E8BEA5AC316DCF6E8A7 /* Alamofire-dummy.m */, - 5A389A3FEDFB81B750C92C80666EF307 /* Alamofire-Info.plist */, - 9D5F478CFE4CD7C75A58C45506CE7BFB /* Alamofire-prefix.pch */, - A12039BCDED56563EFDC6C44CDBB5950 /* Alamofire-umbrella.h */, - 67697EA434A2099957997C48A6DE5C76 /* Alamofire.debug.xcconfig */, - 40838850539AA8F2C555BC1776F5FCFE /* Alamofire.release.xcconfig */, + 3BD5BC3EC81365C12FE6F0DF8496D13A /* AFIError.swift */, + BFA4F65CF9BCBD8162928300063E20DC /* Image.swift */, + 5110E98E8B63C374803ACEC92CCE494C /* ImageCache.swift */, + 0198C33F60A84035E06C6593342290E8 /* ImageDownloader.swift */, + 0D57A49E0ACBD242EE567143215D2369 /* ImageFilter.swift */, + DB946B983793B08D48941B6157986B47 /* Request+AlamofireImage.swift */, + 109B5006D6EAE858E4456DDE7EFEF6A6 /* UIButton+AlamofireImage.swift */, + E22BC9E96D71BF6651C02949DEEA81C7 /* UIImage+AlamofireImage.swift */, + 92CC4440E08E90A5FC3DAB8ED5B5B975 /* UIImageView+AlamofireImage.swift */, + 0D2AA171848801157586A3210A1F6CD4 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + name = AlamofireImage; + path = AlamofireImage; sourceTree = ""; }; - FA7DE64D0BA96668F2AA1DBD0CB6B4B3 /* Pods-Weibo-WeiboUITests */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 96FDC9621F615B0F83756402AAB4C4A4 /* Pods-Weibo-WeiboUITests.modulemap */, - A9AD99B51A82E3F4CA3A37D842DE2439 /* Pods-Weibo-WeiboUITests-acknowledgements.markdown */, - 6CA1C6AD22B8AEE13B08AD0D58FFD1C4 /* Pods-Weibo-WeiboUITests-acknowledgements.plist */, - D8609B3FD060A40A005DFFEED78E5E94 /* Pods-Weibo-WeiboUITests-dummy.m */, - E7D0849B7DAEF3478BA5D6BB35075276 /* Pods-Weibo-WeiboUITests-frameworks.sh */, - 06CCD1036A903CB7E6AC8642E770F294 /* Pods-Weibo-WeiboUITests-Info.plist */, - F3EBB65DD8CDF0270DC7EA4A467E7154 /* Pods-Weibo-WeiboUITests-resources.sh */, - 0E4AE24BE8F9B8C207FFD1A182612DBB /* Pods-Weibo-WeiboUITests-umbrella.h */, - ED9906105D4C7396AB65B9E15E3250DE /* Pods-Weibo-WeiboUITests.debug.xcconfig */, - BD16AE369EFDBA51C9D9FE7483BEA437 /* Pods-Weibo-WeiboUITests.release.xcconfig */, - ); - name = "Pods-Weibo-WeiboUITests"; - path = "Target Support Files/Pods-Weibo-WeiboUITests"; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 8B7A79262BFE6D94671D449787F3AAA9 /* Frameworks */, + 6C41A7A8DAEC85D9AE0CF78B6325CD8A /* Pods */, + 8368A1C8FD0E3724FAFA0028227C0C3C /* Products */, + 4A40DFC9E2EF50F0D08BD0172B53DAD0 /* Targets Support Files */, + ); + sourceTree = ""; + }; + E2C0338B72C7298481872BA2D19816E5 /* Resources */ = { + isa = PBXGroup; + children = ( + 6102693CA452A1976384439EA3331965 /* WeiboSDK.bundle */, + ); + name = Resources; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 2FC2D6EDF34255289D03ACE1D902569D /* Headers */ = { + 06A7FF0ED96505BE7B9EEAA200343750 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E1EF356DA7FB063FB272F89CA6939522 /* Pods-Weibo-WeiboUITests-umbrella.h in Headers */, + D83B62E55DE0B026785BEA38EB95E89C /* Pods-WeiboTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 373B447DF970898E286D88C7DD8D3889 /* Headers */ = { + 2555656DE2E7B122341E21C91875E195 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8938BEF6FF11C6291FA31A0638A0D8E1 /* Pods-WeiboTests-umbrella.h in Headers */, + C6B797B11FE37A42412D6BED966567AD /* Pods-Weibo-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8070B01910C64B9AFD0DB550EDE38D6B /* Headers */ = { + 3D7DD627DB5C5AD636646E57B685AFB2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */, + 1942F7D3B7722A5637C3FC0BE44B1E6C /* SwiftyJSON-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - B0CA61E02AED482191BE910FEA9FFB1B /* Headers */ = { + 8070B01910C64B9AFD0DB550EDE38D6B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 140D7AD7F7E817F4D6BB419EB5C7312B /* AlamofireImage-umbrella.h in Headers */, + 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - BAD1319EBF7F5A881BBD15F777F0674B /* Headers */ = { + B0CA61E02AED482191BE910FEA9FFB1B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D3AAE8AE566ED2543CF7A7114F8D7490 /* Pods-Weibo-umbrella.h in Headers */, + 140D7AD7F7E817F4D6BB419EB5C7312B /* AlamofireImage-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -583,17 +600,20 @@ /* Begin PBXNativeTarget section */ 030A235D6A9BBE4ACFA1BD9E93787652 /* Pods-WeiboTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 9CE1BD21CBCB1F4F147993792A18D64C /* Build configuration list for PBXNativeTarget "Pods-WeiboTests" */; + buildConfigurationList = 09F7CC4C9B0E46533539EA81BC012EA9 /* Build configuration list for PBXNativeTarget "Pods-WeiboTests" */; buildPhases = ( - 373B447DF970898E286D88C7DD8D3889 /* Headers */, - 00EE88FE60B8CB01B8AC28B21E5971E3 /* Sources */, - FF2C87AB188D01E908AFC10F7D6233F1 /* Frameworks */, - 4756792D6CDFD6429B772B4730A3F629 /* Resources */, + 06A7FF0ED96505BE7B9EEAA200343750 /* Headers */, + 42AB6B87EBA5C41EF786A1CDF5A8DB5B /* Sources */, + 0AADBBFAEDBA768AA2BD5AAD123DF140 /* Frameworks */, + 6E452A334C27DFD4A0EB304C46A22A03 /* Resources */, ); buildRules = ( ); dependencies = ( - 4781E1833C13243FBAB1511BDB08178A /* PBXTargetDependency */, + 9AE29ECA0713BD2D84973575D848D204 /* PBXTargetDependency */, + D56699D04AD426DBB480A4831BAB980A /* PBXTargetDependency */, + E3E369D1B539936FEA57AF965873C2CD /* PBXTargetDependency */, + C57E91C465CE4CCBAA717639FD48F98D /* PBXTargetDependency */, ); name = "Pods-WeiboTests"; productName = "Pods-WeiboTests"; @@ -602,19 +622,20 @@ }; 452E183573F4565DEFF20C7A37052D2E /* Pods-Weibo */ = { isa = PBXNativeTarget; - buildConfigurationList = 389920EE0646B74FDED2D19C07124EDC /* Build configuration list for PBXNativeTarget "Pods-Weibo" */; + buildConfigurationList = 15EE92D100F4D9DA9C5AC395F30963FB /* Build configuration list for PBXNativeTarget "Pods-Weibo" */; buildPhases = ( - BAD1319EBF7F5A881BBD15F777F0674B /* Headers */, - 086BB5E186EC68FE46ECFD4DAE12F129 /* Sources */, - 21D82D5F4E4F3B24BAEF9A1C667DD0BA /* Frameworks */, - AE64B6365144B8605B636B7FFAA5DB62 /* Resources */, + 2555656DE2E7B122341E21C91875E195 /* Headers */, + EABB8C9930EDDEB972693E8FE191A3F2 /* Sources */, + 559F8D0938CB448B13DB108BC2DD54A9 /* Frameworks */, + BBCF1006E02708F4EB4F10DF90C21C38 /* Resources */, ); buildRules = ( ); dependencies = ( - 3D318829C5E8067B764C396F551FC722 /* PBXTargetDependency */, - 30534F339FF553090ACB271FDD73CAF6 /* PBXTargetDependency */, - 79A4051352028D020041B2041DB763BB /* PBXTargetDependency */, + 813124741FC704824ED8278649ACA13E /* PBXTargetDependency */, + B0CA26E8D38B0B232B972E675486F4F3 /* PBXTargetDependency */, + 3EABA19031454BF21430D0D210500586 /* PBXTargetDependency */, + 1575491D73F106104E32BE67E8501F36 /* PBXTargetDependency */, ); name = "Pods-Weibo"; productName = "Pods-Weibo"; @@ -633,32 +654,29 @@ buildRules = ( ); dependencies = ( - 23DFE72B01F3CAACE6F8A9972D7BDDF1 /* PBXTargetDependency */, + 72D3B8126914577BB03947794784CAAA /* PBXTargetDependency */, ); name = AlamofireImage; productName = AlamofireImage; productReference = C8498160B5D29EF2745E4D41F2D971B5 /* AlamofireImage.framework */; productType = "com.apple.product-type.framework"; }; - D94B76C1728FFF3A16CA8C964A943BE9 /* Pods-Weibo-WeiboUITests */ = { + D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */ = { isa = PBXNativeTarget; - buildConfigurationList = 4ADF011ED35DF4B2E525542D97879013 /* Build configuration list for PBXNativeTarget "Pods-Weibo-WeiboUITests" */; + buildConfigurationList = 62468BF9C7EDA172E951A24083C3ECA7 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; buildPhases = ( - 2FC2D6EDF34255289D03ACE1D902569D /* Headers */, - E2CC379661FBC5A47AE284FFA9213505 /* Sources */, - 02C9FE9DA79B8E9D4BBFD675EE69134B /* Frameworks */, - EED20F692DE7DCC84EF1A1ED867F45D2 /* Resources */, + 3D7DD627DB5C5AD636646E57B685AFB2 /* Headers */, + 1700C451C98D9DCECBEDFC5E351C5A9E /* Sources */, + AD9C5A8DAF4334B670E91B2EC08DBE2C /* Frameworks */, + D098F7F0080A87A1F472C81FC2F85528 /* Resources */, ); buildRules = ( ); dependencies = ( - F62014B119B65E1D1FA9B6DA8FDB8274 /* PBXTargetDependency */, - 976A8C4BFEA1DAB1A6A64053467E3419 /* PBXTargetDependency */, - 56563F7BB9791E22C7F26A35071B9436 /* PBXTargetDependency */, ); - name = "Pods-Weibo-WeiboUITests"; - productName = "Pods-Weibo-WeiboUITests"; - productReference = 09A15D2E4D236D2C60B5E438D2F71648 /* Pods_Weibo_WeiboUITests.framework */; + name = SwiftyJSON; + productName = SwiftyJSON; + productReference = E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */; productType = "com.apple.product-type.framework"; }; EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */ = { @@ -697,15 +715,15 @@ Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 6E63A0791EB65375F1137FADD23931DF /* Products */; + productRefGroup = 8368A1C8FD0E3724FAFA0028227C0C3C /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */, C9778AE8394BE451567650E0B239BA21 /* AlamofireImage */, 452E183573F4565DEFF20C7A37052D2E /* Pods-Weibo */, - D94B76C1728FFF3A16CA8C964A943BE9 /* Pods-Weibo-WeiboUITests */, 030A235D6A9BBE4ACFA1BD9E93787652 /* Pods-WeiboTests */, + D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */, D472C5195936E228AC7F8E400B66E682 /* Weibo_SDK */, ); }; @@ -719,7 +737,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4756792D6CDFD6429B772B4730A3F629 /* Resources */ = { + 6E452A334C27DFD4A0EB304C46A22A03 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -733,14 +751,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AE64B6365144B8605B636B7FFAA5DB62 /* Resources */ = { + BBCF1006E02708F4EB4F10DF90C21C38 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - EED20F692DE7DCC84EF1A1ED867F45D2 /* Resources */ = { + D098F7F0080A87A1F472C81FC2F85528 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -750,22 +768,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 00EE88FE60B8CB01B8AC28B21E5971E3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0E9D410C0EAF0EEDDBC1C5FC862B1814 /* Pods-WeiboTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 086BB5E186EC68FE46ECFD4DAE12F129 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3B6EB21897FFD6A8F008A6BE2E5520C8 /* Pods-Weibo-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 0A73581424DF737D74A37D2B432BE08E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -783,6 +785,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 1700C451C98D9DCECBEDFC5E351C5A9E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2BF6FBC0A64BF107C5D64C61F1397770 /* SwiftyJSON-dummy.m in Sources */, + 7B4CE5C84161E2BFE477F42DFD634382 /* SwiftyJSON.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2C8326877F6A9617C2FBE9BD15D95B59 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -826,68 +837,153 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E2CC379661FBC5A47AE284FFA9213505 /* Sources */ = { + 42AB6B87EBA5C41EF786A1CDF5A8DB5B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 87DBB75FF78B13818475837EC463C528 /* Pods-Weibo-WeiboUITests-dummy.m in Sources */, + FA08F41194F891FE04DDE759D442EC48 /* Pods-WeiboTests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EABB8C9930EDDEB972693E8FE191A3F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5C07F968C5A6D146D5BFB9BD0FBC9E3C /* Pods-Weibo-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 23DFE72B01F3CAACE6F8A9972D7BDDF1 /* PBXTargetDependency */ = { + 1575491D73F106104E32BE67E8501F36 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = BDA116BACF591EAC2572F19356E8878E /* PBXContainerItemProxy */; + name = Weibo_SDK; + target = D472C5195936E228AC7F8E400B66E682 /* Weibo_SDK */; + targetProxy = F276F2FE7CB2B51EA5982F1ABDD4B4EA /* PBXContainerItemProxy */; }; - 30534F339FF553090ACB271FDD73CAF6 /* PBXTargetDependency */ = { + 3EABA19031454BF21430D0D210500586 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AlamofireImage; - target = C9778AE8394BE451567650E0B239BA21 /* AlamofireImage */; - targetProxy = AA610AD3C43B18EC5A37B654D1A8B7A2 /* PBXContainerItemProxy */; + name = SwiftyJSON; + target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; + targetProxy = 8E6B565F74F9FCFDCBA62833C9BEEC31 /* PBXContainerItemProxy */; }; - 3D318829C5E8067B764C396F551FC722 /* PBXTargetDependency */ = { + 72D3B8126914577BB03947794784CAAA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Alamofire; target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = D8ADFD91A10025318263E6D1FE2D9E21 /* PBXContainerItemProxy */; + targetProxy = 77C1B09B5157B24ADD3628C49DF3261D /* PBXContainerItemProxy */; }; - 4781E1833C13243FBAB1511BDB08178A /* PBXTargetDependency */ = { + 813124741FC704824ED8278649ACA13E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-Weibo"; - target = 452E183573F4565DEFF20C7A37052D2E /* Pods-Weibo */; - targetProxy = F11C33311F0CAF6C44C60F264583B24D /* PBXContainerItemProxy */; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = 5BB056F8105DB8234185549EDDACED21 /* PBXContainerItemProxy */; }; - 56563F7BB9791E22C7F26A35071B9436 /* PBXTargetDependency */ = { + 9AE29ECA0713BD2D84973575D848D204 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Weibo_SDK; - target = D472C5195936E228AC7F8E400B66E682 /* Weibo_SDK */; - targetProxy = 37594C7E35163D3FDD36B0592EB4F47E /* PBXContainerItemProxy */; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = D0A666183BC1367477C491E81C6A3835 /* PBXContainerItemProxy */; }; - 79A4051352028D020041B2041DB763BB /* PBXTargetDependency */ = { + B0CA26E8D38B0B232B972E675486F4F3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AlamofireImage; + target = C9778AE8394BE451567650E0B239BA21 /* AlamofireImage */; + targetProxy = 4BE8B00BC41C5110C65F6A7EB2814F6D /* PBXContainerItemProxy */; + }; + C57E91C465CE4CCBAA717639FD48F98D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Weibo_SDK; target = D472C5195936E228AC7F8E400B66E682 /* Weibo_SDK */; - targetProxy = 7486BCA5A725BB6D0FF35ACED26F8B72 /* PBXContainerItemProxy */; + targetProxy = 2A87D9126E30DCB6863421F4DAE6DDEB /* PBXContainerItemProxy */; }; - 976A8C4BFEA1DAB1A6A64053467E3419 /* PBXTargetDependency */ = { + D56699D04AD426DBB480A4831BAB980A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AlamofireImage; target = C9778AE8394BE451567650E0B239BA21 /* AlamofireImage */; - targetProxy = 9C28DD4AAC517194146242EDFB6207E0 /* PBXContainerItemProxy */; + targetProxy = 171970F8D0F468ED69505A78E29D573A /* PBXContainerItemProxy */; }; - F62014B119B65E1D1FA9B6DA8FDB8274 /* PBXTargetDependency */ = { + E3E369D1B539936FEA57AF965873C2CD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = D4A3C1232575307DC5BF674A83F37C5A /* PBXContainerItemProxy */; + name = SwiftyJSON; + target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; + targetProxy = E55316A3E76596B6B675A2A4246478F3 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 009DB1577F07B2FF797B78F2D1142134 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3263B7CD6E3192D6CDBD0F650E2105F3 /* SwiftyJSON.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; + PRODUCT_MODULE_NAME = SwiftyJSON; + PRODUCT_NAME = SwiftyJSON; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 0C9896C7563CB84B32833F4506F3096C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8E59B91B1BE8AE861842FA91E05ED124 /* SwiftyJSON.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; + PRODUCT_MODULE_NAME = SwiftyJSON; + PRODUCT_NAME = SwiftyJSON; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 1422B121EAEAEA11307496903FA623C6 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -950,7 +1046,7 @@ }; 487B944E71B66FCF2073CE10B1EDD255 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4118B6C4C4DAAAE7E45375E8C2F57C91 /* Weibo_SDK.release.xcconfig */; + baseConfigurationReference = E33D3A511A1FA5D41295D6C364728366 /* Weibo_SDK.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -967,7 +1063,7 @@ }; 48FD2B4E815CEB933B18D313E9E9EF64 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 40838850539AA8F2C555BC1776F5FCFE /* Alamofire.release.xcconfig */; + baseConfigurationReference = 5603DBFF8673865A642A5DFE093B17FA /* Alamofire.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1002,9 +1098,9 @@ }; name = Release; }; - 65D69944692CD5F74AA9D419FAB40C11 /* Debug */ = { + 5484A8B8BDEDC83AA38AD6616C3CE948 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 13CBD06D8622481ECF35002DD00EAA07 /* Pods-Weibo.debug.xcconfig */; + baseConfigurationReference = 1D1998790F89AEC06544237525A00046 /* Pods-Weibo.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1042,7 +1138,7 @@ }; 7F08A32F1629CC28AE914DBEEEC62AAB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A48CB8639128ACBE078B9A24CD19F726 /* Weibo_SDK.debug.xcconfig */; + baseConfigurationReference = EC63DD6A3E73456277A302B520D281EB /* Weibo_SDK.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -1056,9 +1152,9 @@ }; name = Debug; }; - 8BB384EA4A14133DC62423E330047911 /* Release */ = { + 8B7D5C6E3DB1C168764BB064830F67EB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BD16AE369EFDBA51C9D9FE7483BEA437 /* Pods-Weibo-WeiboUITests.release.xcconfig */; + baseConfigurationReference = B21B845DB05CB2F053709B854EFD25E5 /* Pods-WeiboTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1071,7 +1167,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1080,7 +1176,7 @@ "@loader_path/Frameworks", ); MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1095,9 +1191,9 @@ }; name = Release; }; - 8F5CA084A974E92E9494BE5F8A5B32C2 /* Release */ = { + 9559E80CBD0DBC4CE782774EA23FAECC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C944F3833537E8879A7E21AB70C99029 /* Pods-Weibo.release.xcconfig */; + baseConfigurationReference = 07799D8D440205F5633EAD945469A822 /* Pods-Weibo.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1134,47 +1230,9 @@ }; name = Release; }; - 9858BF37BE1B465CC094099729383A9C /* Debug */ = { + BAD5D061B9FFF2CFCA07E73D707E8441 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED9906105D4C7396AB65B9E15E3250DE /* Pods-Weibo-WeiboUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D3D64D27DD4A75B11FAE31E6AC9ED6FA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BF0D51378A5BC4042E2757652FCD8995 /* Pods-WeiboTests.release.xcconfig */; + baseConfigurationReference = 6F2CCE0B7F6F6E34F0B136CB13E8874E /* Pods-WeiboTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1205,15 +1263,14 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; E73BFB7433831CF292FADF6B2CB7AC3B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 67697EA434A2099957997C48A6DE5C76 /* Alamofire.debug.xcconfig */; + baseConfigurationReference = 7AFBEC3AF6012EC2460A9354632CE9E0 /* Alamofire.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1247,44 +1304,6 @@ }; name = Debug; }; - EABDE76DCABE2215C8C19B182119FD85 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BEF54679B3BBA7C99C2A1F058685F847 /* Pods-WeiboTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; ED7888FA6713EABBF66D26A8003AD1CA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1351,7 +1370,7 @@ }; F993A8A7BCAFE82F744B8FEF4371C05E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A0DC38EBDD120A67B0674B1C38A9C651 /* AlamofireImage.release.xcconfig */; + baseConfigurationReference = 21C4C213BCD233F8B175D9FA00572039 /* AlamofireImage.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1388,7 +1407,7 @@ }; FFA5603D306EDA2F4CF12ACFD2649C5A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 150B4FB9C28C1EBDE8FEA9EC5B9DABE3 /* AlamofireImage.debug.xcconfig */; + baseConfigurationReference = 621CBFB5D6B39B989985AEC7889423EC /* AlamofireImage.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1425,47 +1444,47 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 389920EE0646B74FDED2D19C07124EDC /* Build configuration list for PBXNativeTarget "Pods-Weibo" */ = { + 09F7CC4C9B0E46533539EA81BC012EA9 /* Build configuration list for PBXNativeTarget "Pods-WeiboTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 65D69944692CD5F74AA9D419FAB40C11 /* Debug */, - 8F5CA084A974E92E9494BE5F8A5B32C2 /* Release */, + BAD5D061B9FFF2CFCA07E73D707E8441 /* Debug */, + 8B7D5C6E3DB1C168764BB064830F67EB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 15EE92D100F4D9DA9C5AC395F30963FB /* Build configuration list for PBXNativeTarget "Pods-Weibo" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED7888FA6713EABBF66D26A8003AD1CA /* Debug */, - 1422B121EAEAEA11307496903FA623C6 /* Release */, + 5484A8B8BDEDC83AA38AD6616C3CE948 /* Debug */, + 9559E80CBD0DBC4CE782774EA23FAECC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4ADF011ED35DF4B2E525542D97879013 /* Build configuration list for PBXNativeTarget "Pods-Weibo-WeiboUITests" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9858BF37BE1B465CC094099729383A9C /* Debug */, - 8BB384EA4A14133DC62423E330047911 /* Release */, + ED7888FA6713EABBF66D26A8003AD1CA /* Debug */, + 1422B121EAEAEA11307496903FA623C6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 62468BF9C7EDA172E951A24083C3ECA7 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { isa = XCConfigurationList; buildConfigurations = ( - E73BFB7433831CF292FADF6B2CB7AC3B /* Debug */, - 48FD2B4E815CEB933B18D313E9E9EF64 /* Release */, + 009DB1577F07B2FF797B78F2D1142134 /* Debug */, + 0C9896C7563CB84B32833F4506F3096C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9CE1BD21CBCB1F4F147993792A18D64C /* Build configuration list for PBXNativeTarget "Pods-WeiboTests" */ = { + 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - EABDE76DCABE2215C8C19B182119FD85 /* Debug */, - D3D64D27DD4A75B11FAE31E6AC9ED6FA /* Release */, + E73BFB7433831CF292FADF6B2CB7AC3B /* Debug */, + 48FD2B4E815CEB933B18D313E9E9EF64 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/Pods-Weibo-WeiboUITests.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/SwiftyJSON.xcscheme similarity index 79% rename from Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/Pods-Weibo-WeiboUITests.xcscheme rename to Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/SwiftyJSON.xcscheme index e0a1fdd..24941c0 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/Pods-Weibo-WeiboUITests.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/SwiftyJSON.xcscheme @@ -7,31 +7,30 @@ buildImplicitDependencies = "YES"> + buildForArchiving = "YES"> - - + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + + + + + debugDocumentVersioning = "YES" + buildConfiguration = "Release" + shouldUseLaunchSchemeArgsEnv = "YES"> diff --git a/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/xcschememanagement.plist index f07993e..e2d0f2b 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Pods/Pods.xcodeproj/xcuserdata/qihuapan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -18,21 +18,21 @@ orderHint 1 - Pods-Weibo-WeiboUITests.xcscheme + Pods-Weibo.xcscheme isShown orderHint - 3 + 2 - Pods-Weibo.xcscheme + Pods-WeiboTests.xcscheme isShown orderHint - 2 + 3 - Pods-WeiboTests.xcscheme + SwiftyJSON.xcscheme isShown diff --git a/Pods/SwiftyJSON/LICENSE b/Pods/SwiftyJSON/LICENSE new file mode 100644 index 0000000..68e3fd7 --- /dev/null +++ b/Pods/SwiftyJSON/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Ruoyu Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Pods/SwiftyJSON/README.md b/Pods/SwiftyJSON/README.md new file mode 100644 index 0000000..7a10e29 --- /dev/null +++ b/Pods/SwiftyJSON/README.md @@ -0,0 +1,562 @@ +# SwiftyJSON + +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![CocoaPods](https://img.shields.io/cocoapods/v/SwiftyJSON.svg) ![Platform](https://img.shields.io/badge/platforms-iOS%208.0%20%7C%20macOS%2010.10%20%7C%20tvOS%209.0%20%7C%20watchOS%203.0-F28D00.svg) [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com) + +SwiftyJSON makes it easy to deal with JSON data in Swift. + +Platform | Build Status +---------| --------------| +*OS | [![Travis CI](https://travis-ci.org/SwiftyJSON/SwiftyJSON.svg?branch=master)](https://travis-ci.org/SwiftyJSON/SwiftyJSON) | +[Linux](https://github.com/IBM-Swift/SwiftyJSON) | [![Build Status](https://travis-ci.org/IBM-Swift/SwiftyJSON.svg?branch=master)](https://travis-ci.org/IBM-Swift/SwiftyJSON) | + + +1. [Why is the typical JSON handling in Swift NOT good](#why-is-the-typical-json-handling-in-swift-not-good) +2. [Requirements](#requirements) +3. [Integration](#integration) +4. [Usage](#usage) + - [Initialization](#initialization) + - [Subscript](#subscript) + - [Loop](#loop) + - [Error](#error) + - [Optional getter](#optional-getter) + - [Non-optional getter](#non-optional-getter) + - [Setter](#setter) + - [Raw object](#raw-object) + - [Literal convertibles](#literal-convertibles) + - [Merging](#merging) +5. [Work with Alamofire](#work-with-alamofire) +6. [Work with Moya](#work-with-moya) +7. [SwiftyJSON Model Generator](#swiftyjson-model-generator) + +> [中文介绍](http://tangplin.github.io/swiftyjson/) + + +## Why is the typical JSON handling in Swift NOT good? + +Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types. + +Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to [Twitter's API](https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline)). + +The code would look like this: + +```swift +if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], + let user = statusesArray[0]["user"] as? [String: Any], + let username = user["name"] as? String { + // Finally we got the username +} +``` + +It's not good. + +Even if we use optional chaining, it would be messy: + +```swift +if let JSONObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], + let username = (JSONObject[0]["user"] as? [String: Any])?["name"] as? String { + // There's our username +} +``` + +An unreadable mess--for something that should really be simple! + +With SwiftyJSON all you have to do is: + +```swift +let json = JSON(data: dataFromNetworking) +if let userName = json[0]["user"]["name"].string { + //Now you got your value +} +``` + +And don't worry about the Optional Wrapping thing. It's done for you automatically. + +```swift +let json = JSON(data: dataFromNetworking) +let result = json[999999]["wrong_key"]["wrong_name"] +if let userName = result.string { + //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety +} else { + //Print the error + print(result.error) +} +``` + +## Requirements + +- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+ +- Xcode 8 + +## Integration + +#### CocoaPods (iOS 8+, OS X 10.9+) + +You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON` by adding it to your `Podfile`: + +```ruby +platform :ios, '8.0' +use_frameworks! + +target 'MyApp' do + pod 'SwiftyJSON', '~> 4.0' +end +``` + +#### Carthage (iOS 8+, OS X 10.9+) + +You can use [Carthage](https://github.com/Carthage/Carthage) to install `SwiftyJSON` by adding it to your `Cartfile`: + +``` +github "SwiftyJSON/SwiftyJSON" ~> 4.0 +``` + +If you use Carthage to build your dependencies, make sure you have added `SwiftyJSON.framework` to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase. + +#### Swift Package Manager + +You can use [The Swift Package Manager](https://swift.org/package-manager) to install `SwiftyJSON` by adding the proper description to your `Package.swift` file: + +```swift +// swift-tools-version:4.0 +import PackageDescription + +let package = Package( + name: "YOUR_PROJECT_NAME", + dependencies: [ + .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"), + ] +) +``` +Then run `swift build` whenever you get prepared. + +#### Manually (iOS 7+, OS X 10.9+) + +To use this library in your project manually you may: + +1. for Projects, just drag SwiftyJSON.swift to the project tree +2. for Workspaces, include the whole SwiftyJSON.xcodeproj + +## Usage + +#### Initialization + +```swift +import SwiftyJSON +``` + +```swift +let json = JSON(data: dataFromNetworking) +``` +Or + +```swift +let json = JSON(jsonObject) +``` +Or + +```swift +if let dataFromString = jsonString.data(using: .utf8, allowLossyConversion: false) { + let json = JSON(data: dataFromString) +} +``` + +#### Subscript + +```swift +// Getting a double from a JSON Array +let name = json[0].double +``` + +```swift +// Getting an array of string from a JSON Array +let arrayNames = json["users"].arrayValue.map {$0["name"].stringValue} +``` + +```swift +// Getting a string from a JSON Dictionary +let name = json["name"].stringValue +``` + +```swift +// Getting a string using a path to the element +let path: [JSONSubscriptType] = [1,"list",2,"name"] +let name = json[path].string +// Just the same +let name = json[1]["list"][2]["name"].string +// Alternatively +let name = json[1,"list",2,"name"].string +``` + +```swift +// With a hard way +let name = json[].string +``` + +```swift +// With a custom way +let keys:[JSONSubscriptType] = [1,"list",2,"name"] +let name = json[keys].string +``` + +#### Loop + +```swift +// If json is .Dictionary +for (key,subJson):(String, JSON) in json { + // Do something you want +} +``` + +*The first element is always a String, even if the JSON is an Array* + +```swift +// If json is .Array +// The `index` is 0.. = json["list"].arrayValue +``` + +```swift +// If not a Dictionary or nil, return [:] +let user: Dictionary = json["user"].dictionaryValue +``` + +#### Setter + +```swift +json["name"] = JSON("new-name") +json[0] = JSON(1) +``` + +```swift +json["id"].int = 1234567890 +json["coordinate"].double = 8766.766 +json["name"].string = "Jack" +json.arrayObject = [1,2,3,4] +json.dictionaryObject = ["name":"Jack", "age":25] +``` + +#### Raw object + +```swift +let rawObject: Any = json.object +``` + +```swift +let rawValue: Any = json.rawValue +``` + +```swift +//convert the JSON to raw NSData +do { + let rawData = try json.rawData() + //Do something you want +} catch { + print("Error \(error)") +} +``` + +```swift +//convert the JSON to a raw String +if let rawString = json.rawString() { + //Do something you want +} else { + print("json.rawString is nil") +} +``` + +#### Existence + +```swift +// shows you whether value specified in JSON or not +if json["name"].exists() +``` + +#### Literal convertibles + +For more info about literal convertibles: [Swift Literal Convertibles](http://nshipster.com/swift-literal-convertible/) + +```swift +// StringLiteralConvertible +let json: JSON = "I'm a json" +``` + +```swift +/ /IntegerLiteralConvertible +let json: JSON = 12345 +``` + +```swift +// BooleanLiteralConvertible +let json: JSON = true +``` + +```swift +// FloatLiteralConvertible +let json: JSON = 2.8765 +``` + +```swift +// DictionaryLiteralConvertible +let json: JSON = ["I":"am", "a":"json"] +``` + +```swift +// ArrayLiteralConvertible +let json: JSON = ["I", "am", "a", "json"] +``` + +```swift +// With subscript in array +var json: JSON = [1,2,3] +json[0] = 100 +json[1] = 200 +json[2] = 300 +json[999] = 300 // Don't worry, nothing will happen +``` + +```swift +// With subscript in dictionary +var json: JSON = ["name": "Jack", "age": 25] +json["name"] = "Mike" +json["age"] = "25" // It's OK to set String +json["address"] = "L.A." // Add the "address": "L.A." in json +``` + +```swift +// Array & Dictionary +var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]] +json["list"][3]["what"] = "that" +json["list",3,"what"] = "that" +let path: [JSONSubscriptType] = ["list",3,"what"] +json[path] = "that" +``` + +```swift +// With other JSON objects +let user: JSON = ["username" : "Steve", "password": "supersecurepassword"] +let auth: JSON = [ + "user": user.object, // use user.object instead of just user + "apikey": "supersecretapitoken" +] +``` + +#### Merging + +It is possible to merge one JSON into another JSON. Merging a JSON into another JSON adds all non existing values to the original JSON which are only present in the `other` JSON. + +If both JSONs contain a value for the same key, _mostly_ this value gets overwritten in the original JSON, but there are two cases where it provides some special treatment: + +- In case of both values being a `JSON.Type.array` the values form the array found in the `other` JSON getting appended to the original JSON's array value. +- In case of both values being a `JSON.Type.dictionary` both JSON-values are getting merged the same way the encapsulating JSON is merged. + +In case, where two fields in a JSON have a different types, the value will get always overwritten. + +There are two different fashions for merging: `merge` modifies the original JSON, whereas `merged` works non-destructively on a copy. + +```swift +let original: JSON = [ + "first_name": "John", + "age": 20, + "skills": ["Coding", "Reading"], + "address": [ + "street": "Front St", + "zip": "12345", + ] +] + +let update: JSON = [ + "last_name": "Doe", + "age": 21, + "skills": ["Writing"], + "address": [ + "zip": "12342", + "city": "New York City" + ] +] + +let updated = original.merge(with: update) +// [ +// "first_name": "John", +// "last_name": "Doe", +// "age": 21, +// "skills": ["Coding", "Reading", "Writing"], +// "address": [ +// "street": "Front St", +// "zip": "12342", +// "city": "New York City" +// ] +// ] +``` + +## String representation +There are two options available: +- use the default Swift one +- use a custom one that will handle optionals well and represent `nil` as `"null"`: +```swift +let dict = ["1":2, "2":"two", "3": nil] as [String: Any?] +let json = JSON(dict) +let representation = json.rawString(options: [.castNilToNSNull: true]) +// representation is "{\"1\":2,\"2\":\"two\",\"3\":null}", which represents {"1":2,"2":"two","3":null} +``` + +## Work with [Alamofire](https://github.com/Alamofire/Alamofire) + +SwiftyJSON nicely wraps the result of the Alamofire JSON response handler: + +```swift +Alamofire.request(url, method: .get).validate().responseJSON { response in + switch response.result { + case .success(let value): + let json = JSON(value) + print("JSON: \(json)") + case .failure(let error): + print(error) + } +} +``` + +We also provide an extension of Alamofire for serializing NSData to SwiftyJSON's JSON. + +See: [Alamofire-SwiftyJSON](https://github.com/SwiftyJSON/Alamofire-SwiftyJSON) + + +## Work with [Moya](https://github.com/Moya/Moya) + +SwiftyJSON parse data to JSON: + +```swift +let provider = MoyaProvider() +provider.request(.showProducts) { result in + switch result { + case let .success(moyaResponse): + let data = moyaResponse.data + let json = JSON(data: data) // convert network data to json + print(json) + case let .failure(error): + print("error: \(error)") + } +} + +``` + +## SwiftyJSON Model Generator +Tools to generate SwiftyJSON Models +* [JSON Cafe](http://www.jsoncafe.com/) +* [JSON Export](https://github.com/Ahmed-Ali/JSONExport) diff --git a/Pods/SwiftyJSON/Source/SwiftyJSON/SwiftyJSON.swift b/Pods/SwiftyJSON/Source/SwiftyJSON/SwiftyJSON.swift new file mode 100644 index 0000000..f7a3f08 --- /dev/null +++ b/Pods/SwiftyJSON/Source/SwiftyJSON/SwiftyJSON.swift @@ -0,0 +1,1401 @@ +// SwiftyJSON.swift +// +// Copyright (c) 2014 - 2017 Ruoyu Fu, Pinglin Tang +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +// MARK: - Error +// swiftlint:disable line_length +public enum SwiftyJSONError: Int, Swift.Error { + case unsupportedType = 999 + case indexOutOfBounds = 900 + case elementTooDeep = 902 + case wrongType = 901 + case notExist = 500 + case invalidJSON = 490 +} + +extension SwiftyJSONError: CustomNSError { + + /// return the error domain of SwiftyJSONError + public static var errorDomain: String { return "com.swiftyjson.SwiftyJSON" } + + /// return the error code of SwiftyJSONError + public var errorCode: Int { return self.rawValue } + + /// return the userInfo of SwiftyJSONError + public var errorUserInfo: [String: Any] { + switch self { + case .unsupportedType: + return [NSLocalizedDescriptionKey: "It is an unsupported type."] + case .indexOutOfBounds: + return [NSLocalizedDescriptionKey: "Array Index is out of bounds."] + case .wrongType: + return [NSLocalizedDescriptionKey: "Couldn't merge, because the JSONs differ in type on top level."] + case .notExist: + return [NSLocalizedDescriptionKey: "Dictionary key does not exist."] + case .invalidJSON: + return [NSLocalizedDescriptionKey: "JSON is invalid."] + case .elementTooDeep: + return [NSLocalizedDescriptionKey: "Element too deep. Increase maxObjectDepth and make sure there is no reference loop."] + } + } +} + +// MARK: - JSON Type + +/** +JSON's type definitions. + +See http://www.json.org +*/ +public enum Type: Int { + case number + case string + case bool + case array + case dictionary + case null + case unknown +} + +// MARK: - JSON Base + +public struct JSON { + + /** + Creates a JSON using the data. + + - parameter data: The NSData used to convert to json.Top level object in data is an NSArray or NSDictionary + - parameter opt: The JSON serialization reading options. `[]` by default. + + - returns: The created JSON + */ + public init(data: Data, options opt: JSONSerialization.ReadingOptions = []) throws { + let object: Any = try JSONSerialization.jsonObject(with: data, options: opt) + self.init(jsonObject: object) + } + + /** + Creates a JSON object + - note: this does not parse a `String` into JSON, instead use `init(parseJSON: String)` + + - parameter object: the object + + - returns: the created JSON object + */ + public init(_ object: Any) { + switch object { + case let object as Data: + do { + try self.init(data: object) + } catch { + self.init(jsonObject: NSNull()) + } + default: + self.init(jsonObject: object) + } + } + + /** + Parses the JSON string into a JSON object + + - parameter json: the JSON string + + - returns: the created JSON object + */ + public init(parseJSON jsonString: String) { + if let data = jsonString.data(using: .utf8) { + self.init(data) + } else { + self.init(NSNull()) + } + } + + /** + Creates a JSON using the object. + + - parameter jsonObject: The object must have the following properties: All objects are NSString/String, NSNumber/Int/Float/Double/Bool, NSArray/Array, NSDictionary/Dictionary, or NSNull; All dictionary keys are NSStrings/String; NSNumbers are not NaN or infinity. + + - returns: The created JSON + */ + fileprivate init(jsonObject: Any) { + object = jsonObject + } + + /** + Merges another JSON into this JSON, whereas primitive values which are not present in this JSON are getting added, + present values getting overwritten, array values getting appended and nested JSONs getting merged the same way. + + - parameter other: The JSON which gets merged into this JSON + + - throws `ErrorWrongType` if the other JSONs differs in type on the top level. + */ + public mutating func merge(with other: JSON) throws { + try self.merge(with: other, typecheck: true) + } + + /** + Merges another JSON into this JSON and returns a new JSON, whereas primitive values which are not present in this JSON are getting added, + present values getting overwritten, array values getting appended and nested JSONS getting merged the same way. + + - parameter other: The JSON which gets merged into this JSON + + - throws `ErrorWrongType` if the other JSONs differs in type on the top level. + + - returns: New merged JSON + */ + public func merged(with other: JSON) throws -> JSON { + var merged = self + try merged.merge(with: other, typecheck: true) + return merged + } + + /** + Private woker function which does the actual merging + Typecheck is set to true for the first recursion level to prevent total override of the source JSON + */ + fileprivate mutating func merge(with other: JSON, typecheck: Bool) throws { + if type == other.type { + switch type { + case .dictionary: + for (key, _) in other { + try self[key].merge(with: other[key], typecheck: false) + } + case .array: + self = JSON(arrayValue + other.arrayValue) + default: + self = other + } + } else { + if typecheck { + throw SwiftyJSONError.wrongType + } else { + self = other + } + } + } + + /// Private object + fileprivate var rawArray: [Any] = [] + fileprivate var rawDictionary: [String: Any] = [:] + fileprivate var rawString: String = "" + fileprivate var rawNumber: NSNumber = 0 + fileprivate var rawNull: NSNull = NSNull() + fileprivate var rawBool: Bool = false + + /// JSON type, fileprivate setter + public fileprivate(set) var type: Type = .null + + /// Error in JSON, fileprivate setter + public fileprivate(set) var error: SwiftyJSONError? + + /// Object in JSON + public var object: Any { + get { + switch type { + case .array: return rawArray + case .dictionary: return rawDictionary + case .string: return rawString + case .number: return rawNumber + case .bool: return rawBool + default: return rawNull + } + } + set { + error = nil + switch unwrap(newValue) { + case let number as NSNumber: + if number.isBool { + type = .bool + rawBool = number.boolValue + } else { + type = .number + rawNumber = number + } + case let string as String: + type = .string + rawString = string + case _ as NSNull: + type = .null + case nil: + type = .null + case let array as [Any]: + type = .array + rawArray = array + case let dictionary as [String: Any]: + type = .dictionary + rawDictionary = dictionary + default: + type = .unknown + error = SwiftyJSONError.unsupportedType + } + } + } + + /// The static null JSON + @available(*, unavailable, renamed:"null") + public static var nullJSON: JSON { return null } + public static var null: JSON { return JSON(NSNull()) } +} + +/// Private method to unwarp an object recursively +private func unwrap(_ object: Any) -> Any { + switch object { + case let json as JSON: + return unwrap(json.object) + case let array as [Any]: + return array.map(unwrap) + case let dictionary as [String: Any]: + var d = dictionary + dictionary.forEach { pair in + d[pair.key] = unwrap(pair.value) + } + return d + default: + return object + } +} + +public enum Index: Comparable { + case array(Int) + case dictionary(DictionaryIndex) + case null + + static public func == (lhs: Index, rhs: Index) -> Bool { + switch (lhs, rhs) { + case (.array(let left), .array(let right)): return left == right + case (.dictionary(let left), .dictionary(let right)): return left == right + case (.null, .null): return true + default: return false + } + } + + static public func < (lhs: Index, rhs: Index) -> Bool { + switch (lhs, rhs) { + case (.array(let left), .array(let right)): return left < right + case (.dictionary(let left), .dictionary(let right)): return left < right + default: return false + } + } +} + +public typealias JSONIndex = Index +public typealias JSONRawIndex = Index + +extension JSON: Swift.Collection { + + public typealias Index = JSONRawIndex + + public var startIndex: Index { + switch type { + case .array: return .array(rawArray.startIndex) + case .dictionary: return .dictionary(rawDictionary.startIndex) + default: return .null + } + } + + public var endIndex: Index { + switch type { + case .array: return .array(rawArray.endIndex) + case .dictionary: return .dictionary(rawDictionary.endIndex) + default: return .null + } + } + + public func index(after i: Index) -> Index { + switch i { + case .array(let idx): return .array(rawArray.index(after: idx)) + case .dictionary(let idx): return .dictionary(rawDictionary.index(after: idx)) + default: return .null + } + } + + public subscript (position: Index) -> (String, JSON) { + switch position { + case .array(let idx): return (String(idx), JSON(rawArray[idx])) + case .dictionary(let idx): return (rawDictionary[idx].key, JSON(rawDictionary[idx].value)) + default: return ("", JSON.null) + } + } +} + +// MARK: - Subscript + +/** + * To mark both String and Int can be used in subscript. + */ +public enum JSONKey { + case index(Int) + case key(String) +} + +public protocol JSONSubscriptType { + var jsonKey: JSONKey { get } +} + +extension Int: JSONSubscriptType { + public var jsonKey: JSONKey { + return JSONKey.index(self) + } +} + +extension String: JSONSubscriptType { + public var jsonKey: JSONKey { + return JSONKey.key(self) + } +} + +extension JSON { + + /// If `type` is `.array`, return json whose object is `array[index]`, otherwise return null json with error. + fileprivate subscript(index index: Int) -> JSON { + get { + if type != .array { + var r = JSON.null + r.error = self.error ?? SwiftyJSONError.wrongType + return r + } else if rawArray.indices.contains(index) { + return JSON(rawArray[index]) + } else { + var r = JSON.null + r.error = SwiftyJSONError.indexOutOfBounds + return r + } + } + set { + if type == .array && + rawArray.indices.contains(index) && + newValue.error == nil { + rawArray[index] = newValue.object + } + } + } + + /// If `type` is `.dictionary`, return json whose object is `dictionary[key]` , otherwise return null json with error. + fileprivate subscript(key key: String) -> JSON { + get { + var r = JSON.null + if type == .dictionary { + if let o = rawDictionary[key] { + r = JSON(o) + } else { + r.error = SwiftyJSONError.notExist + } + } else { + r.error = self.error ?? SwiftyJSONError.wrongType + } + return r + } + set { + if type == .dictionary && newValue.error == nil { + rawDictionary[key] = newValue.object + } + } + } + + /// If `sub` is `Int`, return `subscript(index:)`; If `sub` is `String`, return `subscript(key:)`. + fileprivate subscript(sub sub: JSONSubscriptType) -> JSON { + get { + switch sub.jsonKey { + case .index(let index): return self[index: index] + case .key(let key): return self[key: key] + } + } + set { + switch sub.jsonKey { + case .index(let index): self[index: index] = newValue + case .key(let key): self[key: key] = newValue + } + } + } + + /** + Find a json in the complex data structures by using array of Int and/or String as path. + + Example: + + ``` + let json = JSON[data] + let path = [9,"list","person","name"] + let name = json[path] + ``` + + The same as: let name = json[9]["list"]["person"]["name"] + + - parameter path: The target json's path. + + - returns: Return a json found by the path or a null json with error + */ + public subscript(path: [JSONSubscriptType]) -> JSON { + get { + return path.reduce(self) { $0[sub: $1] } + } + set { + switch path.count { + case 0: return + case 1: self[sub:path[0]].object = newValue.object + default: + var aPath = path + aPath.remove(at: 0) + var nextJSON = self[sub: path[0]] + nextJSON[aPath] = newValue + self[sub: path[0]] = nextJSON + } + } + } + + /** + Find a json in the complex data structures by using array of Int and/or String as path. + + - parameter path: The target json's path. Example: + + let name = json[9,"list","person","name"] + + The same as: let name = json[9]["list"]["person"]["name"] + + - returns: Return a json found by the path or a null json with error + */ + public subscript(path: JSONSubscriptType...) -> JSON { + get { + return self[path] + } + set { + self[path] = newValue + } + } +} + +// MARK: - LiteralConvertible + +extension JSON: Swift.ExpressibleByStringLiteral { + + public init(stringLiteral value: StringLiteralType) { + self.init(value) + } + + public init(extendedGraphemeClusterLiteral value: StringLiteralType) { + self.init(value) + } + + public init(unicodeScalarLiteral value: StringLiteralType) { + self.init(value) + } +} + +extension JSON: Swift.ExpressibleByIntegerLiteral { + + public init(integerLiteral value: IntegerLiteralType) { + self.init(value) + } +} + +extension JSON: Swift.ExpressibleByBooleanLiteral { + + public init(booleanLiteral value: BooleanLiteralType) { + self.init(value) + } +} + +extension JSON: Swift.ExpressibleByFloatLiteral { + + public init(floatLiteral value: FloatLiteralType) { + self.init(value) + } +} + +extension JSON: Swift.ExpressibleByDictionaryLiteral { + public init(dictionaryLiteral elements: (String, Any)...) { + let dictionary = elements.reduce(into: [String: Any](), { $0[$1.0] = $1.1}) + self.init(dictionary) + } +} + +extension JSON: Swift.ExpressibleByArrayLiteral { + + public init(arrayLiteral elements: Any...) { + self.init(elements) + } +} + +// MARK: - Raw + +extension JSON: Swift.RawRepresentable { + + public init?(rawValue: Any) { + if JSON(rawValue).type == .unknown { + return nil + } else { + self.init(rawValue) + } + } + + public var rawValue: Any { + return object + } + + public func rawData(options opt: JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Data { + guard JSONSerialization.isValidJSONObject(object) else { + throw SwiftyJSONError.invalidJSON + } + + return try JSONSerialization.data(withJSONObject: object, options: opt) + } + + public func rawString(_ encoding: String.Encoding = .utf8, options opt: JSONSerialization.WritingOptions = .prettyPrinted) -> String? { + do { + return try _rawString(encoding, options: [.jsonSerialization: opt]) + } catch { + print("Could not serialize object to JSON because:", error.localizedDescription) + return nil + } + } + + public func rawString(_ options: [writingOptionsKeys: Any]) -> String? { + let encoding = options[.encoding] as? String.Encoding ?? String.Encoding.utf8 + let maxObjectDepth = options[.maxObjextDepth] as? Int ?? 10 + do { + return try _rawString(encoding, options: options, maxObjectDepth: maxObjectDepth) + } catch { + print("Could not serialize object to JSON because:", error.localizedDescription) + return nil + } + } + + fileprivate func _rawString(_ encoding: String.Encoding = .utf8, options: [writingOptionsKeys: Any], maxObjectDepth: Int = 10) throws -> String? { + guard maxObjectDepth > 0 else { throw SwiftyJSONError.invalidJSON } + switch type { + case .dictionary: + do { + if !(options[.castNilToNSNull] as? Bool ?? false) { + let jsonOption = options[.jsonSerialization] as? JSONSerialization.WritingOptions ?? JSONSerialization.WritingOptions.prettyPrinted + let data = try rawData(options: jsonOption) + return String(data: data, encoding: encoding) + } + + guard let dict = object as? [String: Any?] else { + return nil + } + let body = try dict.keys.map { key throws -> String in + guard let value = dict[key] else { + return "\"\(key)\": null" + } + guard let unwrappedValue = value else { + return "\"\(key)\": null" + } + + let nestedValue = JSON(unwrappedValue) + guard let nestedString = try nestedValue._rawString(encoding, options: options, maxObjectDepth: maxObjectDepth - 1) else { + throw SwiftyJSONError.elementTooDeep + } + if nestedValue.type == .string { + return "\"\(key)\": \"\(nestedString.replacingOccurrences(of: "\\", with: "\\\\").replacingOccurrences(of: "\"", with: "\\\""))\"" + } else { + return "\"\(key)\": \(nestedString)" + } + } + + return "{\(body.joined(separator: ","))}" + } catch _ { + return nil + } + case .array: + do { + if !(options[.castNilToNSNull] as? Bool ?? false) { + let jsonOption = options[.jsonSerialization] as? JSONSerialization.WritingOptions ?? JSONSerialization.WritingOptions.prettyPrinted + let data = try rawData(options: jsonOption) + return String(data: data, encoding: encoding) + } + + guard let array = object as? [Any?] else { + return nil + } + let body = try array.map { value throws -> String in + guard let unwrappedValue = value else { + return "null" + } + + let nestedValue = JSON(unwrappedValue) + guard let nestedString = try nestedValue._rawString(encoding, options: options, maxObjectDepth: maxObjectDepth - 1) else { + throw SwiftyJSONError.invalidJSON + } + if nestedValue.type == .string { + return "\"\(nestedString.replacingOccurrences(of: "\\", with: "\\\\").replacingOccurrences(of: "\"", with: "\\\""))\"" + } else { + return nestedString + } + } + + return "[\(body.joined(separator: ","))]" + } catch _ { + return nil + } + case .string: return rawString + case .number: return rawNumber.stringValue + case .bool: return rawBool.description + case .null: return "null" + default: return nil + } + } +} + +// MARK: - Printable, DebugPrintable + +extension JSON: Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { + + public var description: String { + return rawString(options: .prettyPrinted) ?? "unknown" + } + + public var debugDescription: String { + return description + } +} + +// MARK: - Array + +extension JSON { + + //Optional [JSON] + public var array: [JSON]? { + return type == .array ? rawArray.map { JSON($0) } : nil + } + + //Non-optional [JSON] + public var arrayValue: [JSON] { + return self.array ?? [] + } + + //Optional [Any] + public var arrayObject: [Any]? { + get { + switch type { + case .array: return rawArray + default: return nil + } + } + set { + self.object = newValue ?? NSNull() + } + } +} + +// MARK: - Dictionary + +extension JSON { + + //Optional [String : JSON] + public var dictionary: [String: JSON]? { + if type == .dictionary { + var d = [String: JSON](minimumCapacity: rawDictionary.count) + rawDictionary.forEach { pair in + d[pair.key] = JSON(pair.value) + } + return d + } else { + return nil + } + } + + //Non-optional [String : JSON] + public var dictionaryValue: [String: JSON] { + return dictionary ?? [:] + } + + //Optional [String : Any] + + public var dictionaryObject: [String: Any]? { + get { + switch type { + case .dictionary: return rawDictionary + default: return nil + } + } + set { + object = newValue ?? NSNull() + } + } +} + +// MARK: - Bool + +extension JSON { // : Swift.Bool + + //Optional bool + public var bool: Bool? { + get { + switch type { + case .bool: return rawBool + default: return nil + } + } + set { + object = newValue ?? NSNull() + } + } + + //Non-optional bool + public var boolValue: Bool { + get { + switch type { + case .bool: return rawBool + case .number: return rawNumber.boolValue + case .string: return ["true", "y", "t", "yes", "1"].contains { rawString.caseInsensitiveCompare($0) == .orderedSame } + default: return false + } + } + set { + object = newValue + } + } +} + +// MARK: - String + +extension JSON { + + //Optional string + public var string: String? { + get { + switch type { + case .string: return object as? String + default: return nil + } + } + set { + object = newValue ?? NSNull() + } + } + + //Non-optional string + public var stringValue: String { + get { + switch type { + case .string: return object as? String ?? "" + case .number: return rawNumber.stringValue + case .bool: return (object as? Bool).map { String($0) } ?? "" + default: return "" + } + } + set { + object = newValue + } + } +} + +// MARK: - Number + +extension JSON { + + //Optional number + public var number: NSNumber? { + get { + switch type { + case .number: return rawNumber + case .bool: return NSNumber(value: rawBool ? 1 : 0) + default: return nil + } + } + set { + object = newValue ?? NSNull() + } + } + + //Non-optional number + public var numberValue: NSNumber { + get { + switch type { + case .string: + let decimal = NSDecimalNumber(string: object as? String) + return decimal == .notANumber ? .zero : decimal + case .number: return object as? NSNumber ?? NSNumber(value: 0) + case .bool: return NSNumber(value: rawBool ? 1 : 0) + default: return NSNumber(value: 0.0) + } + } + set { + object = newValue + } + } +} + +// MARK: - Null + +extension JSON { + + public var null: NSNull? { + set { + object = NSNull() + } + get { + switch type { + case .null: return rawNull + default: return nil + } + } + } + public func exists() -> Bool { + if let errorValue = error, (400...1000).contains(errorValue.errorCode) { + return false + } + return true + } +} + +// MARK: - URL + +extension JSON { + + //Optional URL + public var url: URL? { + get { + switch type { + case .string: + // Check for existing percent escapes first to prevent double-escaping of % character + if rawString.range(of: "%[0-9A-Fa-f]{2}", options: .regularExpression, range: nil, locale: nil) != nil { + return Foundation.URL(string: rawString) + } else if let encodedString_ = rawString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) { + // We have to use `Foundation.URL` otherwise it conflicts with the variable name. + return Foundation.URL(string: encodedString_) + } else { + return nil + } + default: + return nil + } + } + set { + object = newValue?.absoluteString ?? NSNull() + } + } +} + +// MARK: - Int, Double, Float, Int8, Int16, Int32, Int64 + +extension JSON { + + public var double: Double? { + get { + return number?.doubleValue + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var doubleValue: Double { + get { + return numberValue.doubleValue + } + set { + object = NSNumber(value: newValue) + } + } + + public var float: Float? { + get { + return number?.floatValue + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var floatValue: Float { + get { + return numberValue.floatValue + } + set { + object = NSNumber(value: newValue) + } + } + + public var int: Int? { + get { + return number?.intValue + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var intValue: Int { + get { + return numberValue.intValue + } + set { + object = NSNumber(value: newValue) + } + } + + public var uInt: UInt? { + get { + return number?.uintValue + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var uIntValue: UInt { + get { + return numberValue.uintValue + } + set { + object = NSNumber(value: newValue) + } + } + + public var int8: Int8? { + get { + return number?.int8Value + } + set { + if let newValue = newValue { + object = NSNumber(value: Int(newValue)) + } else { + object = NSNull() + } + } + } + + public var int8Value: Int8 { + get { + return numberValue.int8Value + } + set { + object = NSNumber(value: Int(newValue)) + } + } + + public var uInt8: UInt8? { + get { + return number?.uint8Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var uInt8Value: UInt8 { + get { + return numberValue.uint8Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var int16: Int16? { + get { + return number?.int16Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var int16Value: Int16 { + get { + return numberValue.int16Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var uInt16: UInt16? { + get { + return number?.uint16Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var uInt16Value: UInt16 { + get { + return numberValue.uint16Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var int32: Int32? { + get { + return number?.int32Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var int32Value: Int32 { + get { + return numberValue.int32Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var uInt32: UInt32? { + get { + return number?.uint32Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var uInt32Value: UInt32 { + get { + return numberValue.uint32Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var int64: Int64? { + get { + return number?.int64Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var int64Value: Int64 { + get { + return numberValue.int64Value + } + set { + object = NSNumber(value: newValue) + } + } + + public var uInt64: UInt64? { + get { + return number?.uint64Value + } + set { + if let newValue = newValue { + object = NSNumber(value: newValue) + } else { + object = NSNull() + } + } + } + + public var uInt64Value: UInt64 { + get { + return numberValue.uint64Value + } + set { + object = NSNumber(value: newValue) + } + } +} + +// MARK: - Comparable + +extension JSON: Swift.Comparable {} + +public func == (lhs: JSON, rhs: JSON) -> Bool { + + switch (lhs.type, rhs.type) { + case (.number, .number): return lhs.rawNumber == rhs.rawNumber + case (.string, .string): return lhs.rawString == rhs.rawString + case (.bool, .bool): return lhs.rawBool == rhs.rawBool + case (.array, .array): return lhs.rawArray as NSArray == rhs.rawArray as NSArray + case (.dictionary, .dictionary): return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary + case (.null, .null): return true + default: return false + } +} + +public func <= (lhs: JSON, rhs: JSON) -> Bool { + + switch (lhs.type, rhs.type) { + case (.number, .number): return lhs.rawNumber <= rhs.rawNumber + case (.string, .string): return lhs.rawString <= rhs.rawString + case (.bool, .bool): return lhs.rawBool == rhs.rawBool + case (.array, .array): return lhs.rawArray as NSArray == rhs.rawArray as NSArray + case (.dictionary, .dictionary): return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary + case (.null, .null): return true + default: return false + } +} + +public func >= (lhs: JSON, rhs: JSON) -> Bool { + + switch (lhs.type, rhs.type) { + case (.number, .number): return lhs.rawNumber >= rhs.rawNumber + case (.string, .string): return lhs.rawString >= rhs.rawString + case (.bool, .bool): return lhs.rawBool == rhs.rawBool + case (.array, .array): return lhs.rawArray as NSArray == rhs.rawArray as NSArray + case (.dictionary, .dictionary): return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary + case (.null, .null): return true + default: return false + } +} + +public func > (lhs: JSON, rhs: JSON) -> Bool { + + switch (lhs.type, rhs.type) { + case (.number, .number): return lhs.rawNumber > rhs.rawNumber + case (.string, .string): return lhs.rawString > rhs.rawString + default: return false + } +} + +public func < (lhs: JSON, rhs: JSON) -> Bool { + + switch (lhs.type, rhs.type) { + case (.number, .number): return lhs.rawNumber < rhs.rawNumber + case (.string, .string): return lhs.rawString < rhs.rawString + default: return false + } +} + +private let trueNumber = NSNumber(value: true) +private let falseNumber = NSNumber(value: false) +private let trueObjCType = String(cString: trueNumber.objCType) +private let falseObjCType = String(cString: falseNumber.objCType) + +// MARK: - NSNumber: Comparable + +extension NSNumber { + fileprivate var isBool: Bool { + let objCType = String(cString: self.objCType) + if (self.compare(trueNumber) == .orderedSame && objCType == trueObjCType) || (self.compare(falseNumber) == .orderedSame && objCType == falseObjCType) { + return true + } else { + return false + } + } +} + +func == (lhs: NSNumber, rhs: NSNumber) -> Bool { + switch (lhs.isBool, rhs.isBool) { + case (false, true): return false + case (true, false): return false + default: return lhs.compare(rhs) == .orderedSame + } +} + +func != (lhs: NSNumber, rhs: NSNumber) -> Bool { + return !(lhs == rhs) +} + +func < (lhs: NSNumber, rhs: NSNumber) -> Bool { + + switch (lhs.isBool, rhs.isBool) { + case (false, true): return false + case (true, false): return false + default: return lhs.compare(rhs) == .orderedAscending + } +} + +func > (lhs: NSNumber, rhs: NSNumber) -> Bool { + + switch (lhs.isBool, rhs.isBool) { + case (false, true): return false + case (true, false): return false + default: return lhs.compare(rhs) == ComparisonResult.orderedDescending + } +} + +func <= (lhs: NSNumber, rhs: NSNumber) -> Bool { + + switch (lhs.isBool, rhs.isBool) { + case (false, true): return false + case (true, false): return false + default: return lhs.compare(rhs) != .orderedDescending + } +} + +func >= (lhs: NSNumber, rhs: NSNumber) -> Bool { + + switch (lhs.isBool, rhs.isBool) { + case (false, true): return false + case (true, false): return false + default: return lhs.compare(rhs) != .orderedAscending + } +} + +public enum writingOptionsKeys { + case jsonSerialization + case castNilToNSNull + case maxObjextDepth + case encoding +} + +// MARK: - JSON: Codable +extension JSON: Codable { + private static var codableTypes: [Codable.Type] { + return [ + Bool.self, + Int.self, + Int8.self, + Int16.self, + Int32.self, + Int64.self, + UInt.self, + UInt8.self, + UInt16.self, + UInt32.self, + UInt64.self, + Double.self, + String.self, + [JSON].self, + [String: JSON].self + ] + } + public init(from decoder: Decoder) throws { + var object: Any? + + if let container = try? decoder.singleValueContainer(), !container.decodeNil() { + for type in JSON.codableTypes { + if object != nil { + break + } + // try to decode value + switch type { + case let boolType as Bool.Type: + object = try? container.decode(boolType) + case let intType as Int.Type: + object = try? container.decode(intType) + case let int8Type as Int8.Type: + object = try? container.decode(int8Type) + case let int32Type as Int32.Type: + object = try? container.decode(int32Type) + case let int64Type as Int64.Type: + object = try? container.decode(int64Type) + case let uintType as UInt.Type: + object = try? container.decode(uintType) + case let uint8Type as UInt8.Type: + object = try? container.decode(uint8Type) + case let uint16Type as UInt16.Type: + object = try? container.decode(uint16Type) + case let uint32Type as UInt32.Type: + object = try? container.decode(uint32Type) + case let uint64Type as UInt64.Type: + object = try? container.decode(uint64Type) + case let doubleType as Double.Type: + object = try? container.decode(doubleType) + case let stringType as String.Type: + object = try? container.decode(stringType) + case let jsonValueArrayType as [JSON].Type: + object = try? container.decode(jsonValueArrayType) + case let jsonValueDictType as [String: JSON].Type: + object = try? container.decode(jsonValueDictType) + default: + break + } + } + } + self.init(object ?? NSNull()) + } + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + if object is NSNull { + try container.encodeNil() + return + } + switch object { + case let intValue as Int: + try container.encode(intValue) + case let int8Value as Int8: + try container.encode(int8Value) + case let int32Value as Int32: + try container.encode(int32Value) + case let int64Value as Int64: + try container.encode(int64Value) + case let uintValue as UInt: + try container.encode(uintValue) + case let uint8Value as UInt8: + try container.encode(uint8Value) + case let uint16Value as UInt16: + try container.encode(uint16Value) + case let uint32Value as UInt32: + try container.encode(uint32Value) + case let uint64Value as UInt64: + try container.encode(uint64Value) + case let doubleValue as Double: + try container.encode(doubleValue) + case let boolValue as Bool: + try container.encode(boolValue) + case let stringValue as String: + try container.encode(stringValue) + case is [Any]: + let jsonValueArray = array ?? [] + try container.encode(jsonValueArray) + case is [String: Any]: + let jsonValueDictValue = dictionary ?? [:] + try container.encode(jsonValueDictValue) + default: + break + } + } +} diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.markdown b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.markdown deleted file mode 100644 index 5f4d0ba..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.markdown +++ /dev/null @@ -1,53 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## Alamofire - -Copyright (c) 2014-2020 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -## AlamofireImage - -Copyright (c) 2015 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -## Weibo_SDK - - -Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.plist b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.plist deleted file mode 100644 index 4e30e8f..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-acknowledgements.plist +++ /dev/null @@ -1,97 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2014-2020 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - Alamofire - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2015 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - AlamofireImage - Type - PSGroupSpecifier - - - FooterText - - License - MIT - Title - Weibo_SDK - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-dummy.m b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-dummy.m deleted file mode 100644 index 3d2beb6..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Weibo_WeiboUITests : NSObject -@end -@implementation PodsDummy_Pods_Weibo_WeiboUITests -@end diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-input-files.xcfilelist deleted file mode 100644 index 2f71388..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-input-files.xcfilelist +++ /dev/null @@ -1,3 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh -${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework -${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-input-files.xcfilelist deleted file mode 100644 index 2f71388..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-input-files.xcfilelist +++ /dev/null @@ -1,3 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh -${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework -${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Debug-input-files.xcfilelist deleted file mode 100644 index 30083d4..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Debug-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources.sh -${PODS_ROOT}/Weibo_SDK/libWeiboSDK/WeiboSDK.bundle \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Release-input-files.xcfilelist deleted file mode 100644 index 30083d4..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Release-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources.sh -${PODS_ROOT}/Weibo_SDK/libWeiboSDK/WeiboSDK.bundle \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.debug.xcconfig b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.debug.xcconfig deleted file mode 100644 index 1f49fda..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" -OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.modulemap b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.modulemap deleted file mode 100644 index 89f297d..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_Weibo_WeiboUITests { - umbrella header "Pods-Weibo-WeiboUITests-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.release.xcconfig b/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.release.xcconfig deleted file mode 100644 index 1f49fda..0000000 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" -OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.markdown b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.markdown index 5f4d0ba..716f7f4 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.markdown @@ -47,6 +47,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## SwiftyJSON + +The MIT License (MIT) + +Copyright (c) 2017 Ruoyu Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + ## Weibo_SDK diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.plist b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.plist index 4e30e8f..29447dc 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-acknowledgements.plist @@ -70,6 +70,37 @@ THE SOFTWARE. Type PSGroupSpecifier + + FooterText + The MIT License (MIT) + +Copyright (c) 2017 Ruoyu Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + SwiftyJSON + Type + PSGroupSpecifier + FooterText diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-input-files.xcfilelist index f77f1d8..4b276ad 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-input-files.xcfilelist +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-input-files.xcfilelist @@ -1,3 +1,4 @@ ${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework -${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework \ No newline at end of file +${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework +${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-output-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-output-files.xcfilelist index adea6a0..22d6fff 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Debug-output-files.xcfilelist @@ -1,2 +1,3 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-input-files.xcfilelist index f77f1d8..4b276ad 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-input-files.xcfilelist +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-input-files.xcfilelist @@ -1,3 +1,4 @@ ${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework -${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework \ No newline at end of file +${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework +${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-output-files.xcfilelist b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-output-files.xcfilelist index adea6a0..22d6fff 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks-Release-output-files.xcfilelist @@ -1,2 +1,3 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh index 631bc85..770960c 100755 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh @@ -199,10 +199,12 @@ fi if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.debug.xcconfig b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.debug.xcconfig index 1f49fda..b2af03a 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.debug.xcconfig +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.debug.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" -OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.release.xcconfig b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.release.xcconfig index 1f49fda..b2af03a 100644 --- a/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.release.xcconfig +++ b/Pods/Target Support Files/Pods-Weibo/Pods-Weibo.release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" -OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.markdown b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.markdown index 102af75..716f7f4 100644 --- a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.markdown @@ -1,3 +1,78 @@ # Acknowledgements This application makes use of the following third party libraries: + +## Alamofire + +Copyright (c) 2014-2020 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## AlamofireImage + +Copyright (c) 2015 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## SwiftyJSON + +The MIT License (MIT) + +Copyright (c) 2017 Ruoyu Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +## Weibo_SDK + + Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.plist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.plist index 7acbad1..29447dc 100644 --- a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-acknowledgements.plist @@ -12,6 +12,105 @@ Type PSGroupSpecifier + + FooterText + Copyright (c) 2014-2020 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + Alamofire + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2015 Alamofire Software Foundation (http://alamofire.org/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + AlamofireImage + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2017 Ruoyu Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + SwiftyJSON + Type + PSGroupSpecifier + + + FooterText + + License + MIT + Title + Weibo_SDK + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-input-files.xcfilelist new file mode 100644 index 0000000..3754eef --- /dev/null +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-input-files.xcfilelist @@ -0,0 +1,4 @@ +${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh +${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework +${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework +${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-output-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-output-files.xcfilelist similarity index 64% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-output-files.xcfilelist rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-output-files.xcfilelist index adea6a0..22d6fff 100644 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Debug-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Debug-output-files.xcfilelist @@ -1,2 +1,3 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-input-files.xcfilelist new file mode 100644 index 0000000..3754eef --- /dev/null +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-input-files.xcfilelist @@ -0,0 +1,4 @@ +${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh +${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework +${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework +${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-output-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-output-files.xcfilelist similarity index 64% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-output-files.xcfilelist rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-output-files.xcfilelist index adea6a0..22d6fff 100644 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-Release-output-files.xcfilelist +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-Release-output-files.xcfilelist @@ -1,2 +1,3 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework \ No newline at end of file +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AlamofireImage.framework +${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh similarity index 98% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh index 631bc85..770960c 100755 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh @@ -199,10 +199,12 @@ fi if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" install_framework "${BUILT_PRODUCTS_DIR}/AlamofireImage/AlamofireImage.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Debug-input-files.xcfilelist new file mode 100644 index 0000000..44b8b06 --- /dev/null +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources.sh +${PODS_ROOT}/Weibo_SDK/libWeiboSDK/WeiboSDK.bundle \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Debug-output-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Debug-output-files.xcfilelist similarity index 100% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Debug-output-files.xcfilelist rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Debug-output-files.xcfilelist diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Release-input-files.xcfilelist new file mode 100644 index 0000000..44b8b06 --- /dev/null +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources.sh +${PODS_ROOT}/Weibo_SDK/libWeiboSDK/WeiboSDK.bundle \ No newline at end of file diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Release-output-files.xcfilelist b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Release-output-files.xcfilelist similarity index 100% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-Release-output-files.xcfilelist rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-Release-output-files.xcfilelist diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources.sh b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources.sh similarity index 100% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources.sh rename to Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources.sh diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig index 8c996d3..b2af03a 100644 --- a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig @@ -1,7 +1,11 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" -OTHER_LDFLAGS = $(inherited) -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" +OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. diff --git a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig index 8c996d3..b2af03a 100644 --- a/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig +++ b/Pods/Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig @@ -1,7 +1,11 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" -OTHER_LDFLAGS = $(inherited) -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/AlamofireImage/AlamofireImage.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Weibo_SDK" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Weibo_SDK/libWeiboSDK" +OTHER_LDFLAGS = $(inherited) -ObjC -l"WeiboSDK" -l"sqlite3" -l"z" -framework "Alamofire" -framework "AlamofireImage" -framework "CFNetwork" -framework "CoreGraphics" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "Photos" -framework "QuartzCore" -framework "Security" -framework "SwiftyJSON" -framework "SystemConfiguration" -framework "UIKit" -framework "WebKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-Info.plist b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist similarity index 96% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-Info.plist rename to Pods/Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist index 2243fe6..a83149a 100644 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-Info.plist +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.0 + 4.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m new file mode 100644 index 0000000..3159bec --- /dev/null +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_SwiftyJSON : NSObject +@end +@implementation PodsDummy_SwiftyJSON +@end diff --git a/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-umbrella.h b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h similarity index 58% rename from Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-umbrella.h rename to Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h index 0236e8e..b627dec 100644 --- a/Pods/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-umbrella.h +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h @@ -11,6 +11,6 @@ #endif -FOUNDATION_EXPORT double Pods_Weibo_WeiboUITestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_Weibo_WeiboUITestsVersionString[]; +FOUNDATION_EXPORT double SwiftyJSONVersionNumber; +FOUNDATION_EXPORT const unsigned char SwiftyJSONVersionString[]; diff --git a/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.debug.xcconfig b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.debug.xcconfig new file mode 100644 index 0000000..145ab25 --- /dev/null +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.debug.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap new file mode 100644 index 0000000..6f41751 --- /dev/null +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap @@ -0,0 +1,6 @@ +framework module SwiftyJSON { + umbrella header "SwiftyJSON-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.release.xcconfig b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.release.xcconfig new file mode 100644 index 0000000..145ab25 --- /dev/null +++ b/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.release.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Weibo.xcodeproj/project.pbxproj b/Weibo.xcodeproj/project.pbxproj index 82d2e4b..3601a33 100644 --- a/Weibo.xcodeproj/project.pbxproj +++ b/Weibo.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 43F5631C74EF810F4F999A66 /* Pods_WeiboTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11A13FDA013FB0DA2E12E48F /* Pods_WeiboTests.framework */; }; 716E9F0224E96288002CC6B8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F0124E96288002CC6B8 /* AppDelegate.swift */; }; 716E9F0424E96288002CC6B8 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F0324E96288002CC6B8 /* SceneDelegate.swift */; }; 716E9F0724E96288002CC6B8 /* Weibo.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F0524E96288002CC6B8 /* Weibo.xcdatamodeld */; }; @@ -19,9 +20,7 @@ 716E9F3924EA9175002CC6B8 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F3824EA9175002CC6B8 /* LoginView.swift */; }; 716E9F4224EB077E002CC6B8 /* UserData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F4124EB077E002CC6B8 /* UserData.swift */; }; 716E9F4424EB1E04002CC6B8 /* IndexView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716E9F4324EB1E04002CC6B8 /* IndexView.swift */; }; - 97BE7BB5242B918349740EAA /* Pods_Weibo_WeiboUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED6C645A3A330D5FD1AF2A50 /* Pods_Weibo_WeiboUITests.framework */; }; B2D6AA87C9190CD30B3135FF /* Pods_Weibo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F15422B52F0F02E13AD0E33 /* Pods_Weibo.framework */; }; - F5139582A166F6A46E7FE00D /* Pods_WeiboTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71A8E074D25D3283ECB41611 /* Pods_WeiboTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,9 +41,9 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 11A13FDA013FB0DA2E12E48F /* Pods_WeiboTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WeiboTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 27B0BA649924BF20ED711CE6 /* Pods-Weibo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Weibo.debug.xcconfig"; path = "Target Support Files/Pods-Weibo/Pods-Weibo.debug.xcconfig"; sourceTree = ""; }; - 4F159CB7E5D72ECAE978040C /* Pods-WeiboTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WeiboTests.debug.xcconfig"; path = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig"; sourceTree = ""; }; - 52A3230AEB68E2160CACEE3B /* Pods-Weibo-WeiboUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Weibo-WeiboUITests.debug.xcconfig"; path = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.debug.xcconfig"; sourceTree = ""; }; + 6808829B1FA2E4D6EA25A6AA /* Pods-WeiboTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WeiboTests.release.xcconfig"; path = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig"; sourceTree = ""; }; 716E9EFE24E96288002CC6B8 /* Weibo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Weibo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 716E9F0124E96288002CC6B8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 716E9F0324E96288002CC6B8 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -64,12 +63,9 @@ 716E9F3B24EABF1D002CC6B8 /* Weibo-Brigding-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Weibo-Brigding-Header.h"; sourceTree = ""; }; 716E9F4124EB077E002CC6B8 /* UserData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserData.swift; sourceTree = ""; }; 716E9F4324EB1E04002CC6B8 /* IndexView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndexView.swift; sourceTree = ""; }; - 71A8E074D25D3283ECB41611 /* Pods_WeiboTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WeiboTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 85DA2BE64DE6AE03B4ED4FDA /* Pods-WeiboTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WeiboTests.release.xcconfig"; path = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.release.xcconfig"; sourceTree = ""; }; 8F15422B52F0F02E13AD0E33 /* Pods_Weibo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Weibo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A93D652806DBF9E6B1869122 /* Pods-Weibo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Weibo.release.xcconfig"; path = "Target Support Files/Pods-Weibo/Pods-Weibo.release.xcconfig"; sourceTree = ""; }; - B6D5E506B996FB683A8222CD /* Pods-Weibo-WeiboUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Weibo-WeiboUITests.release.xcconfig"; path = "Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests.release.xcconfig"; sourceTree = ""; }; - ED6C645A3A330D5FD1AF2A50 /* Pods_Weibo_WeiboUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Weibo_WeiboUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E143BB38B1A06B9A110C6910 /* Pods-WeiboTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WeiboTests.debug.xcconfig"; path = "Target Support Files/Pods-WeiboTests/Pods-WeiboTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -85,7 +81,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F5139582A166F6A46E7FE00D /* Pods_WeiboTests.framework in Frameworks */, + 43F5631C74EF810F4F999A66 /* Pods_WeiboTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -93,7 +89,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 97BE7BB5242B918349740EAA /* Pods_Weibo_WeiboUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -104,8 +99,7 @@ isa = PBXGroup; children = ( 8F15422B52F0F02E13AD0E33 /* Pods_Weibo.framework */, - ED6C645A3A330D5FD1AF2A50 /* Pods_Weibo_WeiboUITests.framework */, - 71A8E074D25D3283ECB41611 /* Pods_WeiboTests.framework */, + 11A13FDA013FB0DA2E12E48F /* Pods_WeiboTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -115,10 +109,8 @@ children = ( 27B0BA649924BF20ED711CE6 /* Pods-Weibo.debug.xcconfig */, A93D652806DBF9E6B1869122 /* Pods-Weibo.release.xcconfig */, - 52A3230AEB68E2160CACEE3B /* Pods-Weibo-WeiboUITests.debug.xcconfig */, - B6D5E506B996FB683A8222CD /* Pods-Weibo-WeiboUITests.release.xcconfig */, - 4F159CB7E5D72ECAE978040C /* Pods-WeiboTests.debug.xcconfig */, - 85DA2BE64DE6AE03B4ED4FDA /* Pods-WeiboTests.release.xcconfig */, + E143BB38B1A06B9A110C6910 /* Pods-WeiboTests.debug.xcconfig */, + 6808829B1FA2E4D6EA25A6AA /* Pods-WeiboTests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -217,10 +209,12 @@ isa = PBXNativeTarget; buildConfigurationList = 716E9F2E24E9628A002CC6B8 /* Build configuration list for PBXNativeTarget "WeiboTests" */; buildPhases = ( - 1B19AD59759419320989E8A3 /* [CP] Check Pods Manifest.lock */, + 351AAC7122D098C89346677C /* [CP] Check Pods Manifest.lock */, 716E9F1324E9628A002CC6B8 /* Sources */, 716E9F1424E9628A002CC6B8 /* Frameworks */, 716E9F1524E9628A002CC6B8 /* Resources */, + F91FC61990042ACF7355D4DD /* [CP] Embed Pods Frameworks */, + 57E82A579C10BF110CDE31A3 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -236,12 +230,9 @@ isa = PBXNativeTarget; buildConfigurationList = 716E9F3124E9628A002CC6B8 /* Build configuration list for PBXNativeTarget "WeiboUITests" */; buildPhases = ( - 8E8D481EC569432345ED04C4 /* [CP] Check Pods Manifest.lock */, 716E9F1E24E9628A002CC6B8 /* Sources */, 716E9F1F24E9628A002CC6B8 /* Frameworks */, 716E9F2024E9628A002CC6B8 /* Resources */, - B9276B6A88F11D529CDFBCBA /* [CP] Copy Pods Resources */, - 39D33A5693AE986FBEAB8EB0 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -324,7 +315,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1B19AD59759419320989E8A3 /* [CP] Check Pods Manifest.lock */ = { + 351AAC7122D098C89346677C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -346,21 +337,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 39D33A5693AE986FBEAB8EB0 /* [CP] Embed Pods Frameworks */ = { + 57E82A579C10BF110CDE31A3 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; 7145F80BFC5BEFC6A40A97DE /* [CP] Embed Pods Frameworks */ = { @@ -380,28 +371,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 8E8D481EC569432345ED04C4 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Weibo-WeiboUITests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; 96109A5B982E09A46A711B78 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -424,38 +393,38 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B9276B6A88F11D529CDFBCBA /* [CP] Copy Pods Resources */ = { + BEC5486D9CD1E093CD3179AA /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Weibo-WeiboUITests/Pods-Weibo-WeiboUITests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources.sh\"\n"; showEnvVarsInLog = 0; }; - BEC5486D9CD1E093CD3179AA /* [CP] Copy Pods Resources */ = { + F91FC61990042ACF7355D4DD /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Weibo/Pods-Weibo-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WeiboTests/Pods-WeiboTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -650,6 +619,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.demo.Weibo; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Weibo/Weibo-Brigding-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -671,6 +641,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = org.demo.Weibo; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Weibo/Weibo-Brigding-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -678,7 +649,7 @@ }; 716E9F2F24E9628A002CC6B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F159CB7E5D72ECAE978040C /* Pods-WeiboTests.debug.xcconfig */; + baseConfigurationReference = E143BB38B1A06B9A110C6910 /* Pods-WeiboTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -700,7 +671,7 @@ }; 716E9F3024E9628A002CC6B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 85DA2BE64DE6AE03B4ED4FDA /* Pods-WeiboTests.release.xcconfig */; + baseConfigurationReference = 6808829B1FA2E4D6EA25A6AA /* Pods-WeiboTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -722,7 +693,6 @@ }; 716E9F3224E9628A002CC6B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 52A3230AEB68E2160CACEE3B /* Pods-Weibo-WeiboUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; @@ -742,7 +712,6 @@ }; 716E9F3324E9628A002CC6B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B6D5E506B996FB683A8222CD /* Pods-Weibo-WeiboUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; diff --git a/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 90b894d..12e463e 100644 --- a/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,4 +3,38 @@ uuid = "9139D2A3-932A-46FE-B7F4-027323B448BA" type = "0" version = "2.0"> + + + + + + + + + + diff --git a/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Expressions.xcexplist b/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Expressions.xcexplist new file mode 100644 index 0000000..558d478 --- /dev/null +++ b/Weibo.xcworkspace/xcuserdata/qihuapan.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + diff --git a/Weibo/AppDelegate.swift b/Weibo/AppDelegate.swift index b5c5b79..4866f4e 100644 --- a/Weibo/AppDelegate.swift +++ b/Weibo/AppDelegate.swift @@ -10,7 +10,7 @@ import UIKit import CoreData @UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate,WeiboSDKDelegate { +class AppDelegate: UIResponder, UIApplicationDelegate,WeiboSDKDelegate,WBHttpRequestDelegate { func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { return WeiboSDK.handleOpen(url, delegate: self) @@ -30,6 +30,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate,WeiboSDKDelegate { user.access_token=res.accessToken user.refresh_token=res.refreshToken user.uid=res.userID + user.expiration_Date=res.expirationDate.timeIntervalSince1970 self.saveContext() } } diff --git a/Weibo/Assets.xcassets/comment.imageset/Contents.json b/Weibo/Assets.xcassets/comment.imageset/Contents.json new file mode 100644 index 0000000..b5675d1 --- /dev/null +++ b/Weibo/Assets.xcassets/comment.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "comment.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Weibo/Assets.xcassets/comment.imageset/comment.png b/Weibo/Assets.xcassets/comment.imageset/comment.png new file mode 100644 index 0000000..19dfae4 Binary files /dev/null and b/Weibo/Assets.xcassets/comment.imageset/comment.png differ diff --git a/Weibo/Assets.xcassets/like.imageset/Contents.json b/Weibo/Assets.xcassets/like.imageset/Contents.json new file mode 100644 index 0000000..b14f064 --- /dev/null +++ b/Weibo/Assets.xcassets/like.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "like.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Weibo/Assets.xcassets/like.imageset/like.png b/Weibo/Assets.xcassets/like.imageset/like.png new file mode 100644 index 0000000..21fd7d6 Binary files /dev/null and b/Weibo/Assets.xcassets/like.imageset/like.png differ diff --git a/Weibo/Assets.xcassets/loading.imageset/Contents.json b/Weibo/Assets.xcassets/loading.imageset/Contents.json new file mode 100644 index 0000000..10a4d43 --- /dev/null +++ b/Weibo/Assets.xcassets/loading.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "loading.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Weibo/Assets.xcassets/loading.imageset/loading.png b/Weibo/Assets.xcassets/loading.imageset/loading.png new file mode 100644 index 0000000..e7e4255 Binary files /dev/null and b/Weibo/Assets.xcassets/loading.imageset/loading.png differ diff --git a/Weibo/Assets.xcassets/share.imageset/Contents.json b/Weibo/Assets.xcassets/share.imageset/Contents.json new file mode 100644 index 0000000..1730844 --- /dev/null +++ b/Weibo/Assets.xcassets/share.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "share.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Weibo/Assets.xcassets/share.imageset/share.png b/Weibo/Assets.xcassets/share.imageset/share.png new file mode 100644 index 0000000..874ef7e Binary files /dev/null and b/Weibo/Assets.xcassets/share.imageset/share.png differ diff --git a/Weibo/IndexView.swift b/Weibo/IndexView.swift index cb7417f..62f1ed0 100644 --- a/Weibo/IndexView.swift +++ b/Weibo/IndexView.swift @@ -8,8 +8,9 @@ import SwiftUI import AlamofireImage - - +import CoreData +import SwiftyJSON +import Alamofire struct ButtonView:View{ var title:String var action:() -> Void @@ -213,7 +214,7 @@ struct TopView:View { } struct ImageView:View { - @Binding var imageUrl:String + var imageUrl:String var body: some View{ Image(uiImage: requestImage(url: imageUrl)) } @@ -227,28 +228,184 @@ struct ImageView:View { } } -struct Content { - -} - struct RowView:View { + var content:Content + var body: some View{ - HStack{ - Text("vvv") + VStack { + HStack{ + ImageView(imageUrl:self.content.user.headUrl) + .frame(width: 60.0, height: 60.0) + .clipShape(/*@START_MENU_TOKEN@*/Circle()/*@END_MENU_TOKEN@*/) + VStack(alignment: .leading){ + Text(self.content.user.name) + Text("\(self.content.created_at) 来自 weibo....") + .foregroundColor(Color.gray) + .padding(.top, 5.0) + } + .padding(.leading, 10.0) + Spacer() + } + .padding(.leading, 20.0) + Text(self.content.content) + .fontWeight(.bold) + .padding([.top, .leading, .trailing], 5.0) + .lineSpacing(/*@START_MENU_TOKEN@*/4.0/*@END_MENU_TOKEN@*/).lineLimit(5) + Text("") + + HStack { + ForEach(self.content.picUrl, id: \.self){ + url in + ImageView(imageUrl: url).onTapGesture(perform: { + print("url=\(url)") + }) + } + } + Rectangle() + .frame(height: 1) + HStack { + Image("share") + Text(String(self.content.share)) + .scaleEffect(/*@START_MENU_TOKEN@*/1.5/*@END_MENU_TOKEN@*/) + Spacer() + Image("comment") + Text(String(self.content.comment)) + .scaleEffect(/*@START_MENU_TOKEN@*/1.5/*@END_MENU_TOKEN@*/) + Spacer() + Image("like") + Text(String(self.content.like)) + .scaleEffect(/*@START_MENU_TOKEN@*/1.5/*@END_MENU_TOKEN@*/) + } + .padding(.horizontal, 10.0) + Rectangle() + .frame(height: 20.0) + .foregroundColor(Color(red: 219/255, green: 220/255, blue: 219/255, opacity: 1.0)) + } + } +} + +struct LoadView:View { + @State var angle:Double=0 + + var body: some View { + VStack { + Image("loading") + .rotationEffect(.degrees(self.angle)) + .animation( + Animation.linear(duration:3) + .repeatForever(autoreverses: false)).onAppear(perform: { + self.angle=360 + }) + Text("正在加载中") } + } } +struct UserInfo{ + var id:Int + var headUrl:String + var name:String +} + +struct Content:Identifiable { + + var id:Int + var user:UserInfo + var content:String + var share:Int + var comment:Int + var like:Int + var picUrl:[String] + var source:String + var created_at:String +} + struct IndexView: View { @State var icon: String="arrowtop" + @Environment(\.managedObjectContext) var contenxt:NSManagedObjectContext + + @EnvironmentObject var user:User + + @State var statuses:[Content]=[] + + let queue=OperationQueue() + + @State var angle:Double=0 + + func tansformDate(dateStr:String)->String{ + let formatter = DateFormatter() + + formatter.dateFormat = "EEEE MMM dd HH:mm:ss zzz yyyy" + let datestr = formatter.date(from: dateStr) + let unix=datestr?.timeIntervalSince1970 + + formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" + let date = Date(timeIntervalSince1970: unix!) + return formatter.string(from: date) + } + + func loadContent(){ + if let access_token=self.user.access_token{ + print("加载用户\(String(describing: self.user.uid))关注用户的最新微博") + AF.request("https://api.weibo.com/2/statuses/friends_timeline.json",parameters: ["access_token":access_token]).responseJSON { response in + if let data=response.data,let json = try? JSON(data: data){ + if let statuses = json["statuses"].array { + self.statuses.removeAll() + for statuse in statuses{ + if let id = statuse["user"]["id"].int, + let headUrl=statuse["user"]["avatar_hd"].string, + let name=statuse["user"]["name"].string, + let statuse_id=statuse["id"].int, + let content=statuse["text"].string, + let source=statuse["source"].string, + let share=statuse["reposts_count"].int, + let comment=statuse["comments_count"].int, + let like=statuse["attitudes_count"].int, + let pic_urls=statuse["pic_urls"].array, + let created_at=statuse["created_at"].string + { + let obj=Content(id: statuse_id, user: UserInfo(id: id, headUrl: headUrl, name: name), content: content, share: share, comment: comment, like: like, picUrl: pic_urls.map({ json in + json["thumbnail_pic"].stringValue + }),source: source,created_at: self.tansformDate(dateStr: created_at)) + self.statuses.append(obj) + } + } + print("解析\(self.statuses.count)条微博数据") + }else{ + print("loadUserInfo error") + } + } + + + } + + }else{ + print("加载公共微博") + } + } + + + var body: some View { VStack { - TopView(icon: $icon) -// RowView() - Spacer() + TopView(icon: $icon).onAppear(perform: { + self.loadContent() + }) + if self.statuses.count>0{ + List(self.statuses){ + data in + RowView(content: data) + } + }else{ + Spacer() + LoadView() + Spacer() + } + } } } diff --git a/Weibo/LoginView.swift b/Weibo/LoginView.swift index dcd67a4..af0b847 100644 --- a/Weibo/LoginView.swift +++ b/Weibo/LoginView.swift @@ -8,8 +8,11 @@ import SwiftUI import CoreData - - +import SwiftyJSON +import Alamofire +struct UserProfile { + var name:String? +} struct LoginView: View { @@ -17,24 +20,50 @@ struct LoginView: View { @EnvironmentObject var user:User + @State var userInfo=UserProfile() + + let queue=OperationQueue() + + func login() { let request=WBAuthorizeRequest() request.redirectURI="https://api.weibo.com/oauth2/default.html" WeiboSDK.send(request) } + func loadUserInfo(){ + print("toekn=\(self.user.access_token),date=\(self.user.expiration_Date)") + + AF.request("https://api.weibo.com/2/users/show.json",parameters: ["access_token":self.user.access_token,"uid":self.user.uid]).responseJSON { response in + if let data=response.data,let json = try? JSON(data: data){ + print(json) + }else{ + print("loadUserInfo error") + } + } + + + } + var body: some View { VStack { - if (self.$user.uid.wrappedValue != nil){ - Text("uid=\(self.$user.uid.wrappedValue!)") - }else{ - Button(action: { + if self.user.access_token==nil{ + Text("正在跳转到授权页面").onAppear(perform: { self.login() - }) { - Text("跳转到授权登陆页面") - } + }) + } + else if self.user.expiration_Date + - + \ No newline at end of file diff --git a/WeiboTests/WeiboTests.swift b/WeiboTests/WeiboTests.swift index 41fd0dd..12e6ded 100644 --- a/WeiboTests/WeiboTests.swift +++ b/WeiboTests/WeiboTests.swift @@ -7,7 +7,6 @@ // import XCTest -@testable import Weibo class WeiboTests: XCTestCase { @@ -22,6 +21,7 @@ class WeiboTests: XCTestCase { func testExample() throws { // This is an example of a functional test case. // Use XCTAssert and related functions to verify your tests produce the correct results. + } func testPerformanceExample() throws {