diff --git a/CoreUmeng.xcodeproj/project.pbxproj b/CoreUmeng.xcodeproj/project.pbxproj new file mode 100644 index 0000000..f4a64dd --- /dev/null +++ b/CoreUmeng.xcodeproj/project.pbxproj @@ -0,0 +1,788 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 89628C9D1B3CF2D800082BBD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628C9C1B3CF2D800082BBD /* Security.framework */; }; + 89628C9F1B3CF2E600082BBD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628C9E1B3CF2E600082BBD /* libiconv.dylib */; }; + 89628CA11B3CF2F400082BBD /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628CA01B3CF2F400082BBD /* SystemConfiguration.framework */; }; + 89628CCA1B3CF59500082BBD /* CoreUMeng.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628CC91B3CF59500082BBD /* CoreUMeng.m */; }; + 89628CD31B3CFA7300082BBD /* CoreUmengShare.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628CD01B3CFA7300082BBD /* CoreUmengShare.m */; }; + 89628CD41B3CFA7300082BBD /* UIViewController+Umeng.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628CD21B3CFA7300082BBD /* UIViewController+Umeng.m */; }; + 89628D141B3CFDB500082BBD /* UMSocialLocalizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 89628CD61B3CFDB500082BBD /* UMSocialLocalizable.strings */; }; + 89628D151B3CFDB500082BBD /* libUMSocial_Sdk_4.2.3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628CE41B3CFDB500082BBD /* libUMSocial_Sdk_4.2.3.a */; }; + 89628D161B3CFDB500082BBD /* UMSCommentDetailController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CE61B3CFDB500082BBD /* UMSCommentDetailController.xib */; }; + 89628D171B3CFDB500082BBD /* UMSCommentInputController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CE71B3CFDB500082BBD /* UMSCommentInputController.xib */; }; + 89628D181B3CFDB500082BBD /* UMSCommentInputControlleriPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CE81B3CFDB500082BBD /* UMSCommentInputControlleriPad.xib */; }; + 89628D191B3CFDB500082BBD /* UMShareEditViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CE91B3CFDB500082BBD /* UMShareEditViewController.xib */; }; + 89628D1A1B3CFDB500082BBD /* UMShareEditViewControlleriPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CEA1B3CFDB500082BBD /* UMShareEditViewControlleriPad.xib */; }; + 89628D1B1B3CFDB500082BBD /* UMSLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CEB1B3CFDB500082BBD /* UMSLoginViewController.xib */; }; + 89628D1C1B3CFDB500082BBD /* UMSnsAccountViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CEC1B3CFDB500082BBD /* UMSnsAccountViewController.xib */; }; + 89628D1D1B3CFDB500082BBD /* UMSShareListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89628CED1B3CFDB500082BBD /* UMSShareListController.xib */; }; + 89628D1E1B3CFDB500082BBD /* UMSocialSDKResourcesNew.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 89628CEE1B3CFDB500082BBD /* UMSocialSDKResourcesNew.bundle */; }; + 89628D221B3CFDB500082BBD /* libSocialSina.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628CFB1B3CFDB500082BBD /* libSocialSina.a */; }; + 89628D231B3CFDB500082BBD /* libSocialQQ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628CFE1B3CFDB500082BBD /* libSocialQQ.a */; }; + 89628D241B3CFDB500082BBD /* TencentOpenAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628CFF1B3CFDB500082BBD /* TencentOpenAPI.framework */; }; + 89628D251B3CFDB500082BBD /* TencentOpenApi_IOS_Bundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 89628D001B3CFDB500082BBD /* TencentOpenApi_IOS_Bundle.bundle */; }; + 89628D271B3CFDB600082BBD /* libSocialWechat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D061B3CFDB500082BBD /* libSocialWechat.a */; }; + 89628D281B3CFDB600082BBD /* libWeChatSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D071B3CFDB500082BBD /* libWeChatSDK.a */; }; + 89628D2D1B3D037F00082BBD /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D2C1B3D037F00082BBD /* libsqlite3.dylib */; }; + 89628D2F1B3D038A00082BBD /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D2E1B3D038A00082BBD /* CoreTelephony.framework */; }; + 89628D311B3D039400082BBD /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D301B3D039400082BBD /* libstdc++.dylib */; }; + 89628D331B3D039E00082BBD /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 89628D321B3D039E00082BBD /* libz.dylib */; }; + 89628D411B3D1E0300082BBD /* CoreSVP.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 89628D361B3D1E0300082BBD /* CoreSVP.bundle */; }; + 89628D421B3D1E0300082BBD /* CoreSVP.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628D381B3D1E0300082BBD /* CoreSVP.m */; }; + 89628D431B3D1E0300082BBD /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628D3C1B3D1E0300082BBD /* SVIndefiniteAnimatedView.m */; }; + 89628D441B3D1E0300082BBD /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 89628D3E1B3D1E0300082BBD /* SVProgressHUD.bundle */; }; + 89628D451B3D1E0300082BBD /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 89628D401B3D1E0300082BBD /* SVProgressHUD.m */; }; + 89D0666F1B3CF01400349763 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D0666E1B3CF01400349763 /* main.m */; }; + 89D066721B3CF01400349763 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D066711B3CF01400349763 /* AppDelegate.m */; }; + 89D066751B3CF01400349763 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D066741B3CF01400349763 /* ViewController.m */; }; + 89D066781B3CF01400349763 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 89D066761B3CF01400349763 /* Main.storyboard */; }; + 89D0667A1B3CF01400349763 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 89D066791B3CF01400349763 /* Images.xcassets */; }; + 89D0667D1B3CF01400349763 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89D0667B1B3CF01400349763 /* LaunchScreen.xib */; }; + 89D066891B3CF01400349763 /* CoreUmengTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 89D066881B3CF01400349763 /* CoreUmengTests.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 89D066831B3CF01400349763 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 89D066611B3CF01400349763 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 89D066681B3CF01400349763; + remoteInfo = CoreUmeng; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 89628C9C1B3CF2D800082BBD /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 89628C9E1B3CF2E600082BBD /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; + 89628CA01B3CF2F400082BBD /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 89628CC81B3CF59500082BBD /* CoreUMeng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreUMeng.h; sourceTree = ""; }; + 89628CC91B3CF59500082BBD /* CoreUMeng.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreUMeng.m; sourceTree = ""; }; + 89628CCF1B3CFA7300082BBD /* CoreUmengShare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreUmengShare.h; sourceTree = ""; }; + 89628CD01B3CFA7300082BBD /* CoreUmengShare.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreUmengShare.m; sourceTree = ""; }; + 89628CD11B3CFA7300082BBD /* UIViewController+Umeng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Umeng.h"; sourceTree = ""; }; + 89628CD21B3CFA7300082BBD /* UIViewController+Umeng.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+Umeng.m"; sourceTree = ""; }; + 89628CD71B3CFDB500082BBD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/UMSocialLocalizable.strings; sourceTree = ""; }; + 89628CD91B3CFDB500082BBD /* UMSocial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocial.h; sourceTree = ""; }; + 89628CDA1B3CFDB500082BBD /* UMSocialAccountManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialAccountManager.h; sourceTree = ""; }; + 89628CDB1B3CFDB500082BBD /* UMSocialBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialBar.h; sourceTree = ""; }; + 89628CDC1B3CFDB500082BBD /* UMSocialConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialConfig.h; sourceTree = ""; }; + 89628CDD1B3CFDB500082BBD /* UMSocialControllerService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialControllerService.h; sourceTree = ""; }; + 89628CDE1B3CFDB500082BBD /* UMSocialControllerServiceComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialControllerServiceComment.h; sourceTree = ""; }; + 89628CDF1B3CFDB500082BBD /* UMSocialData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialData.h; sourceTree = ""; }; + 89628CE01B3CFDB500082BBD /* UMSocialDataService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialDataService.h; sourceTree = ""; }; + 89628CE11B3CFDB500082BBD /* UMSocialSnsData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialSnsData.h; sourceTree = ""; }; + 89628CE21B3CFDB500082BBD /* UMSocialSnsPlatformManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialSnsPlatformManager.h; sourceTree = ""; }; + 89628CE31B3CFDB500082BBD /* UMSocialSnsService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialSnsService.h; sourceTree = ""; }; + 89628CE41B3CFDB500082BBD /* libUMSocial_Sdk_4.2.3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libUMSocial_Sdk_4.2.3.a; sourceTree = ""; }; + 89628CE61B3CFDB500082BBD /* UMSCommentDetailController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSCommentDetailController.xib; sourceTree = ""; }; + 89628CE71B3CFDB500082BBD /* UMSCommentInputController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSCommentInputController.xib; sourceTree = ""; }; + 89628CE81B3CFDB500082BBD /* UMSCommentInputControlleriPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSCommentInputControlleriPad.xib; sourceTree = ""; }; + 89628CE91B3CFDB500082BBD /* UMShareEditViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMShareEditViewController.xib; sourceTree = ""; }; + 89628CEA1B3CFDB500082BBD /* UMShareEditViewControlleriPad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMShareEditViewControlleriPad.xib; sourceTree = ""; }; + 89628CEB1B3CFDB500082BBD /* UMSLoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSLoginViewController.xib; sourceTree = ""; }; + 89628CEC1B3CFDB500082BBD /* UMSnsAccountViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSnsAccountViewController.xib; sourceTree = ""; }; + 89628CED1B3CFDB500082BBD /* UMSShareListController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSShareListController.xib; sourceTree = ""; }; + 89628CEE1B3CFDB500082BBD /* UMSocialSDKResourcesNew.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = UMSocialSDKResourcesNew.bundle; sourceTree = ""; }; + 89628CEF1B3CFDB500082BBD /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/UMSocialLocalizable.strings"; sourceTree = ""; }; + 89628CFB1B3CFDB500082BBD /* libSocialSina.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialSina.a; sourceTree = ""; }; + 89628CFC1B3CFDB500082BBD /* UMSocialSinaHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialSinaHandler.h; sourceTree = ""; }; + 89628CFE1B3CFDB500082BBD /* libSocialQQ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialQQ.a; sourceTree = ""; }; + 89628CFF1B3CFDB500082BBD /* TencentOpenAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = TencentOpenAPI.framework; sourceTree = ""; }; + 89628D001B3CFDB500082BBD /* TencentOpenApi_IOS_Bundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = TencentOpenApi_IOS_Bundle.bundle; sourceTree = ""; }; + 89628D011B3CFDB500082BBD /* UMSocialQQHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialQQHandler.h; sourceTree = ""; }; + 89628D061B3CFDB500082BBD /* libSocialWechat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialWechat.a; sourceTree = ""; }; + 89628D071B3CFDB500082BBD /* libWeChatSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWeChatSDK.a; sourceTree = ""; }; + 89628D081B3CFDB500082BBD /* UMSocialWechatHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialWechatHandler.h; sourceTree = ""; }; + 89628D091B3CFDB500082BBD /* WXApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApi.h; sourceTree = ""; }; + 89628D0A1B3CFDB500082BBD /* WXApiObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApiObject.h; sourceTree = ""; }; + 89628D2C1B3D037F00082BBD /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; + 89628D2E1B3D038A00082BBD /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; + 89628D301B3D039400082BBD /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; + 89628D321B3D039E00082BBD /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 89628D361B3D1E0300082BBD /* CoreSVP.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = CoreSVP.bundle; sourceTree = ""; }; + 89628D371B3D1E0300082BBD /* CoreSVP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreSVP.h; sourceTree = ""; }; + 89628D381B3D1E0300082BBD /* CoreSVP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreSVP.m; sourceTree = ""; }; + 89628D3B1B3D1E0300082BBD /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVIndefiniteAnimatedView.h; sourceTree = ""; }; + 89628D3C1B3D1E0300082BBD /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVIndefiniteAnimatedView.m; sourceTree = ""; }; + 89628D3D1B3D1E0300082BBD /* SVProgressHUD-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-Prefix.pch"; sourceTree = ""; }; + 89628D3E1B3D1E0300082BBD /* SVProgressHUD.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = SVProgressHUD.bundle; sourceTree = ""; }; + 89628D3F1B3D1E0300082BBD /* SVProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVProgressHUD.h; sourceTree = ""; }; + 89628D401B3D1E0300082BBD /* SVProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVProgressHUD.m; sourceTree = ""; }; + 89D066691B3CF01400349763 /* CoreUmeng.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CoreUmeng.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 89D0666D1B3CF01400349763 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 89D0666E1B3CF01400349763 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 89D066701B3CF01400349763 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 89D066711B3CF01400349763 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 89D066731B3CF01400349763 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 89D066741B3CF01400349763 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 89D066771B3CF01400349763 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 89D066791B3CF01400349763 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 89D0667C1B3CF01400349763 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 89D066821B3CF01400349763 /* CoreUmengTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreUmengTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 89D066871B3CF01400349763 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 89D066881B3CF01400349763 /* CoreUmengTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CoreUmengTests.m; sourceTree = ""; }; + 89D0670E1B3CF0A000349763 /* APPHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = APPHeader.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 89D066661B3CF01400349763 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 89628D331B3D039E00082BBD /* libz.dylib in Frameworks */, + 89628D311B3D039400082BBD /* libstdc++.dylib in Frameworks */, + 89628D2F1B3D038A00082BBD /* CoreTelephony.framework in Frameworks */, + 89628D2D1B3D037F00082BBD /* libsqlite3.dylib in Frameworks */, + 89628D231B3CFDB500082BBD /* libSocialQQ.a in Frameworks */, + 89628D281B3CFDB600082BBD /* libWeChatSDK.a in Frameworks */, + 89628D221B3CFDB500082BBD /* libSocialSina.a in Frameworks */, + 89628D241B3CFDB500082BBD /* TencentOpenAPI.framework in Frameworks */, + 89628CA11B3CF2F400082BBD /* SystemConfiguration.framework in Frameworks */, + 89628C9F1B3CF2E600082BBD /* libiconv.dylib in Frameworks */, + 89628C9D1B3CF2D800082BBD /* Security.framework in Frameworks */, + 89628D271B3CFDB600082BBD /* libSocialWechat.a in Frameworks */, + 89628D151B3CFDB500082BBD /* libUMSocial_Sdk_4.2.3.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 89D0667F1B3CF01400349763 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 89628CCE1B3CFA7300082BBD /* Share */ = { + isa = PBXGroup; + children = ( + 89628CCF1B3CFA7300082BBD /* CoreUmengShare.h */, + 89628CD01B3CFA7300082BBD /* CoreUmengShare.m */, + 89628CD11B3CFA7300082BBD /* UIViewController+Umeng.h */, + 89628CD21B3CFA7300082BBD /* UIViewController+Umeng.m */, + ); + path = Share; + sourceTree = ""; + }; + 89628CD51B3CFDB500082BBD /* UMSocial_Sdk_4.2.3 */ = { + isa = PBXGroup; + children = ( + 89628CD61B3CFDB500082BBD /* UMSocialLocalizable.strings */, + 89628CD81B3CFDB500082BBD /* Header */, + 89628CE41B3CFDB500082BBD /* libUMSocial_Sdk_4.2.3.a */, + 89628CE51B3CFDB500082BBD /* SocialSDKXib */, + 89628CEE1B3CFDB500082BBD /* UMSocialSDKResourcesNew.bundle */, + ); + path = UMSocial_Sdk_4.2.3; + sourceTree = ""; + }; + 89628CD81B3CFDB500082BBD /* Header */ = { + isa = PBXGroup; + children = ( + 89628CD91B3CFDB500082BBD /* UMSocial.h */, + 89628CDA1B3CFDB500082BBD /* UMSocialAccountManager.h */, + 89628CDB1B3CFDB500082BBD /* UMSocialBar.h */, + 89628CDC1B3CFDB500082BBD /* UMSocialConfig.h */, + 89628CDD1B3CFDB500082BBD /* UMSocialControllerService.h */, + 89628CDE1B3CFDB500082BBD /* UMSocialControllerServiceComment.h */, + 89628CDF1B3CFDB500082BBD /* UMSocialData.h */, + 89628CE01B3CFDB500082BBD /* UMSocialDataService.h */, + 89628CE11B3CFDB500082BBD /* UMSocialSnsData.h */, + 89628CE21B3CFDB500082BBD /* UMSocialSnsPlatformManager.h */, + 89628CE31B3CFDB500082BBD /* UMSocialSnsService.h */, + ); + path = Header; + sourceTree = ""; + }; + 89628CE51B3CFDB500082BBD /* SocialSDKXib */ = { + isa = PBXGroup; + children = ( + 89628CE61B3CFDB500082BBD /* UMSCommentDetailController.xib */, + 89628CE71B3CFDB500082BBD /* UMSCommentInputController.xib */, + 89628CE81B3CFDB500082BBD /* UMSCommentInputControlleriPad.xib */, + 89628CE91B3CFDB500082BBD /* UMShareEditViewController.xib */, + 89628CEA1B3CFDB500082BBD /* UMShareEditViewControlleriPad.xib */, + 89628CEB1B3CFDB500082BBD /* UMSLoginViewController.xib */, + 89628CEC1B3CFDB500082BBD /* UMSnsAccountViewController.xib */, + 89628CED1B3CFDB500082BBD /* UMSShareListController.xib */, + ); + path = SocialSDKXib; + sourceTree = ""; + }; + 89628CF01B3CFDB500082BBD /* UMSocial_Sdk_Extra_Frameworks */ = { + isa = PBXGroup; + children = ( + 89628CFA1B3CFDB500082BBD /* Sina */, + 89628CFD1B3CFDB500082BBD /* TencentOpenAPI */, + 89628D051B3CFDB500082BBD /* Wechat */, + ); + path = UMSocial_Sdk_Extra_Frameworks; + sourceTree = ""; + }; + 89628CFA1B3CFDB500082BBD /* Sina */ = { + isa = PBXGroup; + children = ( + 89628CFB1B3CFDB500082BBD /* libSocialSina.a */, + 89628CFC1B3CFDB500082BBD /* UMSocialSinaHandler.h */, + ); + path = Sina; + sourceTree = ""; + }; + 89628CFD1B3CFDB500082BBD /* TencentOpenAPI */ = { + isa = PBXGroup; + children = ( + 89628CFE1B3CFDB500082BBD /* libSocialQQ.a */, + 89628CFF1B3CFDB500082BBD /* TencentOpenAPI.framework */, + 89628D001B3CFDB500082BBD /* TencentOpenApi_IOS_Bundle.bundle */, + 89628D011B3CFDB500082BBD /* UMSocialQQHandler.h */, + ); + path = TencentOpenAPI; + sourceTree = ""; + }; + 89628D051B3CFDB500082BBD /* Wechat */ = { + isa = PBXGroup; + children = ( + 89628D061B3CFDB500082BBD /* libSocialWechat.a */, + 89628D071B3CFDB500082BBD /* libWeChatSDK.a */, + 89628D081B3CFDB500082BBD /* UMSocialWechatHandler.h */, + 89628D091B3CFDB500082BBD /* WXApi.h */, + 89628D0A1B3CFDB500082BBD /* WXApiObject.h */, + ); + path = Wechat; + sourceTree = ""; + }; + 89628D341B3D1DE000082BBD /* FrameWorks */ = { + isa = PBXGroup; + children = ( + 89628D351B3D1E0300082BBD /* CoreSVP */, + ); + path = FrameWorks; + sourceTree = ""; + }; + 89628D351B3D1E0300082BBD /* CoreSVP */ = { + isa = PBXGroup; + children = ( + 89628D361B3D1E0300082BBD /* CoreSVP.bundle */, + 89628D371B3D1E0300082BBD /* CoreSVP.h */, + 89628D381B3D1E0300082BBD /* CoreSVP.m */, + 89628D391B3D1E0300082BBD /* Lib */, + ); + path = CoreSVP; + sourceTree = ""; + }; + 89628D391B3D1E0300082BBD /* Lib */ = { + isa = PBXGroup; + children = ( + 89628D3A1B3D1E0300082BBD /* SVProgressHUD */, + ); + path = Lib; + sourceTree = ""; + }; + 89628D3A1B3D1E0300082BBD /* SVProgressHUD */ = { + isa = PBXGroup; + children = ( + 89628D3B1B3D1E0300082BBD /* SVIndefiniteAnimatedView.h */, + 89628D3C1B3D1E0300082BBD /* SVIndefiniteAnimatedView.m */, + 89628D3D1B3D1E0300082BBD /* SVProgressHUD-Prefix.pch */, + 89628D3E1B3D1E0300082BBD /* SVProgressHUD.bundle */, + 89628D3F1B3D1E0300082BBD /* SVProgressHUD.h */, + 89628D401B3D1E0300082BBD /* SVProgressHUD.m */, + ); + path = SVProgressHUD; + sourceTree = ""; + }; + 89D066601B3CF01400349763 = { + isa = PBXGroup; + children = ( + 89D0666B1B3CF01400349763 /* CoreUmeng */, + 89D066851B3CF01400349763 /* CoreUmengTests */, + 89D0666A1B3CF01400349763 /* Products */, + ); + sourceTree = ""; + }; + 89D0666A1B3CF01400349763 /* Products */ = { + isa = PBXGroup; + children = ( + 89D066691B3CF01400349763 /* CoreUmeng.app */, + 89D066821B3CF01400349763 /* CoreUmengTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 89D0666B1B3CF01400349763 /* CoreUmeng */ = { + isa = PBXGroup; + children = ( + 89D0670F1B3CF22E00349763 /* CoreUMeng */, + 89628D341B3D1DE000082BBD /* FrameWorks */, + 89D066701B3CF01400349763 /* AppDelegate.h */, + 89D066711B3CF01400349763 /* AppDelegate.m */, + 89D066731B3CF01400349763 /* ViewController.h */, + 89D066741B3CF01400349763 /* ViewController.m */, + 89D066761B3CF01400349763 /* Main.storyboard */, + 89D0670E1B3CF0A000349763 /* APPHeader.h */, + 89D066791B3CF01400349763 /* Images.xcassets */, + 89D0667B1B3CF01400349763 /* LaunchScreen.xib */, + 89D0666C1B3CF01400349763 /* Supporting Files */, + ); + path = CoreUmeng; + sourceTree = ""; + }; + 89D0666C1B3CF01400349763 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 89628D321B3D039E00082BBD /* libz.dylib */, + 89628D301B3D039400082BBD /* libstdc++.dylib */, + 89628D2E1B3D038A00082BBD /* CoreTelephony.framework */, + 89628D2C1B3D037F00082BBD /* libsqlite3.dylib */, + 89628C9C1B3CF2D800082BBD /* Security.framework */, + 89628CA01B3CF2F400082BBD /* SystemConfiguration.framework */, + 89628C9E1B3CF2E600082BBD /* libiconv.dylib */, + 89D0666D1B3CF01400349763 /* Info.plist */, + 89D0666E1B3CF01400349763 /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 89D066851B3CF01400349763 /* CoreUmengTests */ = { + isa = PBXGroup; + children = ( + 89D066881B3CF01400349763 /* CoreUmengTests.m */, + 89D066861B3CF01400349763 /* Supporting Files */, + ); + path = CoreUmengTests; + sourceTree = ""; + }; + 89D066861B3CF01400349763 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 89D066871B3CF01400349763 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 89D0670F1B3CF22E00349763 /* CoreUMeng */ = { + isa = PBXGroup; + children = ( + 89628CCE1B3CFA7300082BBD /* Share */, + 89628CC81B3CF59500082BBD /* CoreUMeng.h */, + 89628CC91B3CF59500082BBD /* CoreUMeng.m */, + 89D067121B3CF22E00349763 /* Lib */, + ); + path = CoreUMeng; + sourceTree = ""; + }; + 89D067121B3CF22E00349763 /* Lib */ = { + isa = PBXGroup; + children = ( + 89D067131B3CF22E00349763 /* Share */, + ); + path = Lib; + sourceTree = ""; + }; + 89D067131B3CF22E00349763 /* Share */ = { + isa = PBXGroup; + children = ( + 89628CD51B3CFDB500082BBD /* UMSocial_Sdk_4.2.3 */, + 89628CF01B3CFDB500082BBD /* UMSocial_Sdk_Extra_Frameworks */, + ); + path = Share; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 89D066681B3CF01400349763 /* CoreUmeng */ = { + isa = PBXNativeTarget; + buildConfigurationList = 89D0668C1B3CF01400349763 /* Build configuration list for PBXNativeTarget "CoreUmeng" */; + buildPhases = ( + 89D066651B3CF01400349763 /* Sources */, + 89D066661B3CF01400349763 /* Frameworks */, + 89D066671B3CF01400349763 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CoreUmeng; + productName = CoreUmeng; + productReference = 89D066691B3CF01400349763 /* CoreUmeng.app */; + productType = "com.apple.product-type.application"; + }; + 89D066811B3CF01400349763 /* CoreUmengTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 89D0668F1B3CF01400349763 /* Build configuration list for PBXNativeTarget "CoreUmengTests" */; + buildPhases = ( + 89D0667E1B3CF01400349763 /* Sources */, + 89D0667F1B3CF01400349763 /* Frameworks */, + 89D066801B3CF01400349763 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 89D066841B3CF01400349763 /* PBXTargetDependency */, + ); + name = CoreUmengTests; + productName = CoreUmengTests; + productReference = 89D066821B3CF01400349763 /* CoreUmengTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 89D066611B3CF01400349763 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0630; + ORGANIZATIONNAME = "冯成林"; + TargetAttributes = { + 89D066681B3CF01400349763 = { + CreatedOnToolsVersion = 6.3.1; + }; + 89D066811B3CF01400349763 = { + CreatedOnToolsVersion = 6.3.1; + TestTargetID = 89D066681B3CF01400349763; + }; + }; + }; + buildConfigurationList = 89D066641B3CF01400349763 /* Build configuration list for PBXProject "CoreUmeng" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + "zh-Hans", + ); + mainGroup = 89D066601B3CF01400349763; + productRefGroup = 89D0666A1B3CF01400349763 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 89D066681B3CF01400349763 /* CoreUmeng */, + 89D066811B3CF01400349763 /* CoreUmengTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 89D066671B3CF01400349763 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 89628D191B3CFDB500082BBD /* UMShareEditViewController.xib in Resources */, + 89628D171B3CFDB500082BBD /* UMSCommentInputController.xib in Resources */, + 89D066781B3CF01400349763 /* Main.storyboard in Resources */, + 89628D161B3CFDB500082BBD /* UMSCommentDetailController.xib in Resources */, + 89628D251B3CFDB500082BBD /* TencentOpenApi_IOS_Bundle.bundle in Resources */, + 89628D1B1B3CFDB500082BBD /* UMSLoginViewController.xib in Resources */, + 89628D181B3CFDB500082BBD /* UMSCommentInputControlleriPad.xib in Resources */, + 89628D411B3D1E0300082BBD /* CoreSVP.bundle in Resources */, + 89628D1A1B3CFDB500082BBD /* UMShareEditViewControlleriPad.xib in Resources */, + 89D0667D1B3CF01400349763 /* LaunchScreen.xib in Resources */, + 89628D141B3CFDB500082BBD /* UMSocialLocalizable.strings in Resources */, + 89628D441B3D1E0300082BBD /* SVProgressHUD.bundle in Resources */, + 89D0667A1B3CF01400349763 /* Images.xcassets in Resources */, + 89628D1C1B3CFDB500082BBD /* UMSnsAccountViewController.xib in Resources */, + 89628D1D1B3CFDB500082BBD /* UMSShareListController.xib in Resources */, + 89628D1E1B3CFDB500082BBD /* UMSocialSDKResourcesNew.bundle in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 89D066801B3CF01400349763 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 89D066651B3CF01400349763 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 89D066751B3CF01400349763 /* ViewController.m in Sources */, + 89D066721B3CF01400349763 /* AppDelegate.m in Sources */, + 89628CCA1B3CF59500082BBD /* CoreUMeng.m in Sources */, + 89628D431B3D1E0300082BBD /* SVIndefiniteAnimatedView.m in Sources */, + 89628CD41B3CFA7300082BBD /* UIViewController+Umeng.m in Sources */, + 89628D451B3D1E0300082BBD /* SVProgressHUD.m in Sources */, + 89D0666F1B3CF01400349763 /* main.m in Sources */, + 89628CD31B3CFA7300082BBD /* CoreUmengShare.m in Sources */, + 89628D421B3D1E0300082BBD /* CoreSVP.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 89D0667E1B3CF01400349763 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 89D066891B3CF01400349763 /* CoreUmengTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 89D066841B3CF01400349763 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 89D066681B3CF01400349763 /* CoreUmeng */; + targetProxy = 89D066831B3CF01400349763 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 89628CD61B3CFDB500082BBD /* UMSocialLocalizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 89628CD71B3CFDB500082BBD /* en */, + 89628CEF1B3CFDB500082BBD /* zh-Hans */, + ); + name = UMSocialLocalizable.strings; + sourceTree = ""; + }; + 89D066761B3CF01400349763 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 89D066771B3CF01400349763 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 89D0667B1B3CF01400349763 /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 89D0667C1B3CF01400349763 /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 89D0668A1B3CF01400349763 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 89D0668B1B3CF01400349763 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 89D0668D1B3CF01400349763 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + ); + INFOPLIST_FILE = CoreUmeng/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_4.2.3", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/Sina", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/Wechat", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Instagram", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/LaiWang", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Line", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Tumblr", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Whatsapp", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/YiXin", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 89D0668E1B3CF01400349763 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + ); + INFOPLIST_FILE = CoreUmeng/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_4.2.3", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/Sina", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/UMSocial_Sdk_Extra_Frameworks/Wechat", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Instagram", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/LaiWang", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Line", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Tumblr", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Whatsapp", + "$(PROJECT_DIR)/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/YiXin", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 89D066901B3CF01400349763 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = CoreUmengTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreUmeng.app/CoreUmeng"; + }; + name = Debug; + }; + 89D066911B3CF01400349763 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = CoreUmengTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CoreUmeng.app/CoreUmeng"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 89D066641B3CF01400349763 /* Build configuration list for PBXProject "CoreUmeng" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 89D0668A1B3CF01400349763 /* Debug */, + 89D0668B1B3CF01400349763 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 89D0668C1B3CF01400349763 /* Build configuration list for PBXNativeTarget "CoreUmeng" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 89D0668D1B3CF01400349763 /* Debug */, + 89D0668E1B3CF01400349763 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 89D0668F1B3CF01400349763 /* Build configuration list for PBXNativeTarget "CoreUmengTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 89D066901B3CF01400349763 /* Debug */, + 89D066911B3CF01400349763 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 89D066611B3CF01400349763 /* Project object */; +} diff --git a/CoreUmeng.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/CoreUmeng.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..653804d --- /dev/null +++ b/CoreUmeng.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/CoreUmeng.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/UserInterfaceState.xcuserstate b/CoreUmeng.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..1e7230e Binary files /dev/null and b/CoreUmeng.xcodeproj/project.xcworkspace/xcuserdata/Charlin.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..8f94031 --- /dev/null +++ b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/CoreUmeng.xcscheme b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/CoreUmeng.xcscheme new file mode 100644 index 0000000..beaeb25 --- /dev/null +++ b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/CoreUmeng.xcscheme @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/xcschememanagement.plist b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5c04ded --- /dev/null +++ b/CoreUmeng.xcodeproj/xcuserdata/Charlin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ + + + + + SchemeUserState + + CoreUmeng.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 89D066681B3CF01400349763 + + primary + + + 89D066811B3CF01400349763 + + primary + + + + + diff --git a/CoreUmeng/APPHeader.h b/CoreUmeng/APPHeader.h new file mode 100644 index 0000000..d41206f --- /dev/null +++ b/CoreUmeng/APPHeader.h @@ -0,0 +1,21 @@ +// +// APPHeader.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#ifndef CoreUmeng_APPHeader_h +#define CoreUmeng_APPHeader_h + + +#define UmengAppKey @"558cb75067e58e0642001f81" + +#define WXAPPID @"APPID" +#define WXAPPsecret @"APPsecret" +#define WXUrl @"www.weixin.com" + + + +#endif diff --git a/CoreUmeng/AppDelegate.h b/CoreUmeng/AppDelegate.h new file mode 100644 index 0000000..b1a413a --- /dev/null +++ b/CoreUmeng/AppDelegate.h @@ -0,0 +1,17 @@ +// +// AppDelegate.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/CoreUmeng/AppDelegate.m b/CoreUmeng/AppDelegate.m new file mode 100644 index 0000000..dc6bd61 --- /dev/null +++ b/CoreUmeng/AppDelegate.m @@ -0,0 +1,49 @@ +// +// AppDelegate.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import "AppDelegate.h" +#import "APPHeader.h" +#import "CoreUMeng.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + + //设置AppKey + [CoreUMeng umengSetAppKey:UmengAppKey]; + //集成新浪 + [CoreUMeng umengSetSinaSSOWithRedirectURL:@"http://www.baidu.com"]; + //集成微信 + [CoreUMeng umengSetWXAppId:WXAPPID appSecret:WXAPPsecret url:WXUrl]; + //集成QQ + [CoreUMeng umengSetQQAppId:@"100424468" appSecret:@"c7394704798a158208a74ab60104f0ba" url:@"http://www.umeng.com/social"]; + // Override point for customization after application launch. + return YES; +} + + + + +- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url +{ + return [CoreUMeng umengHandleOpenURL:url]; +} +- (BOOL)application:(UIApplication *)application + openURL:(NSURL *)url + sourceApplication:(NSString *)sourceApplication + annotation:(id)annotation +{ + return [CoreUMeng umengHandleOpenURL:url]; +} + +@end diff --git a/CoreUmeng/Base.lproj/LaunchScreen.xib b/CoreUmeng/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..0a57e70 --- /dev/null +++ b/CoreUmeng/Base.lproj/LaunchScreen.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CoreUmeng/Base.lproj/Main.storyboard b/CoreUmeng/Base.lproj/Main.storyboard new file mode 100644 index 0000000..ce8f4db --- /dev/null +++ b/CoreUmeng/Base.lproj/Main.storyboard @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CoreUmeng/CoreUMeng/CoreUMeng.h b/CoreUmeng/CoreUMeng/CoreUMeng.h new file mode 100644 index 0000000..698f5d6 --- /dev/null +++ b/CoreUmeng/CoreUMeng/CoreUMeng.h @@ -0,0 +1,91 @@ +// +// CoreUMeng.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import +#import "CoreUmengShare.h" + +@interface CoreUMeng : NSObject + + + + +/** + * 设置AppKey + * + * @param appKey 友盟AppKey + */ ++(void)umengSetAppKey:(NSString *)appKey; + + + +/** + * 获取AppKey + * + * @return AppKey + */ ++(NSString *)umengGetAppKey; + + + + +/** + * 集成新浪微博SSO + * + * @param redirectURL 重定向URL + */ ++(void)umengSetSinaSSOWithRedirectURL:(NSString *)redirectURL; + + + +/** + * 集成微信 + * + * @param wxAppId wxAppId + * @param appSecret appSecret + * @param url 微信消息url地址 + */ ++(void)umengSetWXAppId:(NSString *)wxAppId appSecret:(NSString *)appSecret url:(NSString *)url; + + + +/** + * 集成QQ和QQ空间 + * + * @param QQAppId QQAppId + * @param appSecret appSecret + * @param url QQ和QQ空间消息url地址 + */ ++(void)umengSetQQAppId:(NSString *)qqAppId appSecret:(NSString *)appSecret url:(NSString *)url; + + +///** +// * 集成腾讯微博 +// * +// * @param url 腾讯微博回调地址 +// */ +//+(void)umengSetTencentWeiBo:(NSString *)url; +// +// +// +// +///* +// * 集成人人网 +// */ +//+(void)umengSetRenRenWang; + + + + +/* + * 集成SSO回调 + */ ++(BOOL)umengHandleOpenURL:(NSURL *)url; + + + +@end diff --git a/CoreUmeng/CoreUMeng/CoreUMeng.m b/CoreUmeng/CoreUMeng/CoreUMeng.m new file mode 100644 index 0000000..8f8cf09 --- /dev/null +++ b/CoreUmeng/CoreUMeng/CoreUMeng.m @@ -0,0 +1,114 @@ +// +// CoreUMeng.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import "CoreUMeng.h" +#import "UMSocial.h" +#import "UMSocialWechatHandler.h" +#import "UMSocialQQHandler.h" +#import "UMSocialSinaHandler.h" + + +static NSString *StaticUMengAppKey; + +@implementation CoreUMeng + + +/** + * 设置AppKey + * + * @param appKey 友盟AppKey + */ ++(void)umengSetAppKey:(NSString *)appKey{ + [UMSocialData setAppKey:appKey]; + StaticUMengAppKey = appKey; +} + + + +/** + * 获取AppKey + * + * @return AppKey + */ ++(NSString *)umengGetAppKey{ + return StaticUMengAppKey; +} + + + + +/** + * 集成新浪微博SSO + * + * @param redirectURL 重定向URL + */ ++(void)umengSetSinaSSOWithRedirectURL:(NSString *)redirectURL{ + [UMSocialSinaHandler openSSOWithRedirectURL:redirectURL]; +} + + + + +/** + * 集成微信 + * + * @param wxAppId wxAppId + * @param appSecret appSecret + * @param url 微信消息url地址 + */ ++(void)umengSetWXAppId:(NSString *)wxAppId appSecret:(NSString *)appSecret url:(NSString *)url{ + [UMSocialWechatHandler setWXAppId:wxAppId appSecret:appSecret url:url]; + + //隐藏不可用分享平台 + [self hiddenNotInstallPlatforms]; +} + + + +/** + * 集成QQ和QQ空间 + * + * @param QQAppId QQAppId + * @param appSecret appSecret + * @param url QQ和QQ空间消息url地址 + */ ++(void)umengSetQQAppId:(NSString *)qqAppId appSecret:(NSString *)appSecret url:(NSString *)url{ + [UMSocialQQHandler setQQWithAppId:qqAppId appKey:appSecret url:url]; + + //隐藏不可用分享平台 + [self hiddenNotInstallPlatforms]; +} + + + + + + + + + + + + +/** 隐藏不可用分享平台 */ ++(void)hiddenNotInstallPlatforms{ + [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatTimeline, UMShareToWechatSession,UMShareToWechatFavorite]]; +} + + +/* + * 集成SSO回调 + */ ++(BOOL)umengHandleOpenURL:(NSURL *)url{ + return [UMSocialSnsService handleOpenURL:url]; +} + + + + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocial.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocial.h new file mode 100644 index 0000000..9a5a8bc --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocial.h @@ -0,0 +1,18 @@ +// +// UMSocial.h +// SocialSDK +// +// Created by Jiahuan Ye on 13-5-22. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import "UMSocialData.h" //分享内容类 +#import "UMSocialDataService.h" //分享数据级接口类 +#import "UMSocialControllerService.h" //分享界面级接口类 +#import "UMSocialControllerServiceComment.h" //评论界面级接口类 +#import "UMSocialAccountManager.h" //账户管理,和账户类 +#import "UMSocialSnsPlatformManager.h" //平台管理,和平台类 +#import "UMSocialSnsService.h" //提供快速分享 +#import "UMSocialBar.h" //社会化操作栏 +#import "UMSocialConfig.h" //sdk配置类 +#import "UMSocialSnsData.h" //区分不同平台设置不同分享内容 \ No newline at end of file diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialAccountManager.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialAccountManager.h new file mode 100644 index 0000000..6383da2 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialAccountManager.h @@ -0,0 +1,243 @@ +// +// UMSocialAccountManager.h +// SocialSDK +// +// Created by yeahugo on 13-1-15. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import +#import "UMSocialDataService.h" + +/** + 用户微博账户对象,对象数据从授权账号所对应的微博平台获取 + */ +@interface UMSocialAccountEntity : NSObject + + +/** + 微博平台名称,例如"sina"、"tencent",定义在`UMSocialSnsPlatformManager.h` + */ +@property (nonatomic, copy) NSString *platformName; + +/** + 用户昵称 + */ +@property (nonatomic, copy) NSString *userName; + +/** + 用户在微博的id号 + */ +@property (nonatomic, copy) NSString *usid; + +/** + 用户微博头像的url + */ +@property (nonatomic, copy) NSString *iconURL; + +/** + 用户授权后得到的accessToken + */ +@property (nonatomic, copy) NSString *accessToken; + +/** + 用户微博网址url + */ +@property (nonatomic, copy) NSString *profileURL; + +/** + 是否首次授权,sdk内使用 + */ +@property (nonatomic) BOOL isFirstOauth; + + +/** + 添加已授权的腾讯微博和qq空间账号,需要用到的openId + */ +@property (nonatomic, copy) NSString *openId; + +/** + 授权的过期时间 + */ +@property (nonatomic, retain) NSDate *expirationDate; + +/** + 授权到微信用到的refreshToken + */ +@property (nonatomic, copy) NSString *refreshToken; + +/** + 微信授权完成后得到的unionId + + */ +@property (nonatomic, copy) NSString *unionId; + +/** + 初始化方法 + + @param platformName 微博平台名 + + @return 初始化对象 + */ +-(id)initWithPlatformName:(NSString *)platformName; + +/** + 把各属性编码成NSString + + @return 一个`NSString`对象 + */ +-(NSString *)description; +@end + + +/** + 男性用户 + + */ +extern NSString *const UMSCustomAccountGenderMale; + +/** + 女性用户 + + */ +extern NSString *const UMSCustomAccountGenderFeMale; + +/** + 开发者自有账户对象,在app登录或者注册完成之后用用户名来初始化这样的对象,可以指定头像等,然后用`UMSocialAccountManager`来添加到友盟的账户体系上,使用我们的评论列表和个人中心的页面时就会显示自有账号的用户名和头像 + + */ +@interface UMSocialCustomAccount : NSObject + +/** + 用户名 + + */ +@property (nonatomic, copy) NSString *userName; + +/** + 用户id + + */ +@property (nonatomic, copy) NSString *usid; + +/** + 性别 + + */ +@property (nonatomic, copy) NSString *gender; + +/** + 生日 + + */ +@property (nonatomic, retain) NSDate *birthday; + +/** + 个人页面地址 + + */ +@property (nonatomic, copy) NSString *profileUrl; + +/** + 头像url + + */ +@property (nonatomic, copy) NSString *iconUrl; + +/** + 自定义数据 + + */ +@property (nonatomic, retain) NSDictionary *customData; + +/** + 初始化自定义用户 + + @param userName 用户名 + + @return 自定义用户对象 + */ +-(id)initWithUserName:(NSString *)userName; + +@end + +/** + 账号管理,可以添加开发者应用的自有账号到友盟的账号体系,查询此sns平台是否授权等。 + + */ +@interface UMSocialAccountManager : NSObject + +/** + 存放用户在各个微博平台账户信息的哈希对象,以各个平台名为key,以`UMSocialAccountEntity`对象为value + + */ ++(NSDictionary *)socialAccountDictionary; + +/** + 添加自己获取到的sns账号,必须要有sns用户的usid和accessToken。添加成功后,需要调用`+(void)setSnsAccount:(UMSocialAccountEntity *)snsAccount; `把账户添加到本地缓存。 + + @param snsAccount 已经授权的sns账号对象 + @param completion 回调Block对象 + + */ ++(void)postSnsAccount:(UMSocialAccountEntity *)snsAccount completion:(UMSocialDataServiceCompletion)completion; + + +/** + 添加自有账号到友盟的账号体系,一般是用户在使用自有账号登录之后,再利用此方法上传账号,然后利用我们评论和个人中心的接口就会显示自有账号的昵称和头像等信息 + + @param customAccount 自有账号对象 + @param completion 回调Block对象 + + */ ++(void)postCustomAccount:(UMSocialCustomAccount *)customAccount completion:(UMSocialDataServiceCompletion)completion; + + +/** + 把自有账号添加到本地账号中 + + @param snsAccount 已经授权成功的账户对象 + + */ ++(void)setSnsAccount:(UMSocialAccountEntity *)snsAccount; + + +/** + 判断是否登录,此登录包括以游客身份登录,如果已经登录评论编辑页面点击发送就不会提示登录。 + + */ ++ (BOOL)isLogin; + +/** + 判断是否用sns账号来登录,即绑定一个sns账号作为登录账号,如果是的话,个人中心页面上半部分和评论列表即显示此用户名、头像。 + + */ ++ (BOOL)isLoginWithSnsAccount; + +/** + 判断是否授权此sns平台,此方法不包含授权过期的情况,如果要在分享前判断是否授权并且token没有过期,需要用`isOauthAndTokenNotExpired`方法 + + @param platformType sns平台名,定义在`UMSocialSnsPlatformManager.h` + */ ++ (BOOL)isOauthWithPlatform:(NSString *)platformType; + +/** + 判断此平台是否授权,并且token没有过期 + + @param platformType sns平台名,定义在`UMSocialSnsPlatformManager.h` + */ ++(BOOL)isOauthAndTokenNotExpired:(NSString *)platformType; + +/** + 判断是否以游客身份登录。游客身份的过程是用户进入登录页面,并且选以游客身份登录,如果用户选择其他平台登录或者没有进入登录页面都是非游客身份登录。 + + */ ++ (BOOL)isLoginWithAnonymous; + +/** + 设置是否已经以游客身份来登录,如果以游客身份登录,评论会显示匿名和使用默认头像,如果没有使用游客身份,会弹出登录界面,选择一个sns平台作为登录账号之后再评论。 + + */ ++ (void)setIsLoginWithAnonymous:(BOOL)anonymous; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialBar.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialBar.h new file mode 100644 index 0000000..b145e16 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialBar.h @@ -0,0 +1,158 @@ +// +// UMSocialBar.h +// SocialSDK +// +// Created by yeahugo on 13-7-2. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import +#import "UMSocialSnsPlatformManager.h" +#import "UMSocialControllerServiceComment.h" + +/** + 分享 + */ +extern NSString *const UMSocialShare; + +/** + 喜欢 + */ +extern NSString *const UMSocialLike; + +/** + 评论 + */ +extern NSString *const UMSocialComment; + +/** + 个人中心 + */ +extern NSString *const UMSocialAccount; + + +typedef void (^ClickHandler)(void); + + +/** + 代表平台或者功能的按钮 + */ +@interface UMSocialButton : UIButton + +/** + 点击按钮之后的响应事件 + */ +@property (nonatomic, copy) ClickHandler clickHandler; + +/** + 当前``对象,此对象可以获取到授权完成,关闭页面等状态,详情看`UMSocialUIDelegate`的定义 + */ +@property (nonatomic, assign) id socialUIDelegate; + +/** + 按钮名称 + */ +@property (nonatomic, copy) NSString *buttonName; + +/** + 按钮初始化方法 + + @param buttonName 按钮类型,可以指定`UMSocialShare`,`UMSocialComment`,`UMSocialLike`、`UMSocialAccount`分别代表分享、评论、喜欢、个人中心 + 或者`UMShareToSina`、`UMShareToTencent`等代表各个微博平台 + + @param socialData 数据对象,如果是评论或者喜欢,代表不同的评论、喜欢对象。可以传nil,使用默认数据对象 + + @param controller 分享编辑页面、评论页面等将弹到的UIViewController对象 + + */ +-(id)initWithButtonName:(NSString *)buttonName + socialData:(UMSocialData *)socialData + controller:(UIViewController *)controller; + +/** +按钮初始化方法 + +@param buttonName 按钮类型,可以指定`UMSocialShare`,`UMSocialComment`,`UMSocialLike`、`UMSocialAccount`分别代表分享、评论、喜欢、个人中心 +或者`UMShareToSina`、`UMShareToTencent`等代表各个微博平台 + +@param controllerService UMSocialControllerService对象,如果是评论或者喜欢,代表不同的评论、喜欢对象。可以传nil,使用默认数据对象 + +@param controller 分享编辑页面、评论页面等将弹到的UIViewController对象 + +*/ +-(id)initWithButtonName:(NSString *)buttonName + controllerService:(UMSocialControllerServiceComment *)controllerService + controller:(UIViewController *)controller; + +@end + +/** + 社会化操作栏,默认集成了评论、喜欢、分享、个人中心等功能。 + 你可以根据你的需求对操作栏上的各个按钮进行定制,方法是修改barButtons数组。 + */ +@interface UMSocialBar : UIView + +/** + 代表操作栏上所有按钮的数组,数组的元素是UMSocialButton对象。 + + 你可以增加自定义的按钮,例如 + + ``` + UMSocialButton *customButton = [[UMSocialButton alloc] initWithButtonType:@"custom" socialData:nil controller:nil]; + customButton.clickHandler = ^(){ + NSLog(@"click !!"); + }; + [customButton setImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal]; + [_socialBar.barButtons addObject:customButton]; + ``` + + 你可以删除指定的按钮 + + ``` + [_socialBar.barButtons removeObjectAtIndex:1]; + ``` + + 可以修改指定按钮 + + ``` + UMSocialButton *socialButton1 = [_socialBar.barButtons objectAtIndex:1]; + socialButton1.clickHandler = ^(){ + NSLog(@"click!!"); + }; + ``` + */ +@property (nonatomic, retain) NSMutableArray *barButtons; + +/** + `UMSocialData`对象,可以通过该对象设置分享内嵌文字、图片,获取分享数等属性 + */ +@property (nonatomic, retain) UMSocialData *socialData; + +/** + 当前``对象,此对象可以获取到授权完成,关闭页面等状态,详情看`UMSocialUIDelegate`的定义 + */ +@property (nonatomic, assign) id socialUIDelegate; + +/** + 初始化方法 + + @param socialData 标识不同分享对象 + + @param viewController 分享编辑页面等弹出到的UIViewController对象 + */ +- (id)initWithUMSocialData:(UMSocialData *)socialData + withViewController:(UIViewController *)viewController; + +/** + 更新操作栏的数字 + + */ +- (void)updateButtonNumber; + +/* + 从线上获取分享、评论、喜欢等个数,更新按钮文字 + + */ +- (void)requestUpdateButtonNumber; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialConfig.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialConfig.h new file mode 100644 index 0000000..64d88fc --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialConfig.h @@ -0,0 +1,301 @@ +// +// UMSConfigManager.h +// SocialSDK +// +// Created by Jiahuan Ye on 12-9-15. +// Copyright (c) umeng.com All rights reserved. +// + +#import +#import "UMSocialDataService.h" + + +#ifndef __IPHONE_6_0 +typedef enum { + UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait), + UIInterfaceOrientationMaskLandscapeLeft = (1 << UIInterfaceOrientationLandscapeLeft), + UIInterfaceOrientationMaskLandscapeRight = (1 << UIInterfaceOrientationLandscapeRight), + UIInterfaceOrientationMaskPortraitUpsideDown = (1 << UIInterfaceOrientationPortraitUpsideDown), + UIInterfaceOrientationMaskLandscape = (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight), + UIInterfaceOrientationMaskAll = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown), + UIInterfaceOrientationMaskAllButUpsideDown = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight), +} UIInterfaceOrientationMask; +#endif + +typedef enum { + UMSocialiToastPositionTop = 1000001, //提示位置在屏幕上部 + UMSocialiToastPositionBottom, //提示位置在屏幕下部 + UMSocialiToastPositionCenter //提示位置在屏幕中间 +} UMSocialiToastPosition; + +/** + SDK样式主题 + + */ +typedef enum { + UMSocialThemeBlack, //黑色主题 + UMSocialThemeWhite //白色主题 +} UMSocialTheme; + + +/** + 设置分享列表页面的Block类型 + + @param ref 分享列表绘图所用的CGContext对象 + @param backgroundView 分享列表的背景图片 + @param label 平台文字 + */ +typedef void (^UMGridViewConfig)(CGContextRef ref, UIImageView *backgroundView, UILabel *label) ; + +/** + 设置导航栏的样式的Block类型 + + @param bar 导航栏 + @param closeButton 关闭按钮 + @param backButton 返回按钮 + @param postButton 发送按钮 + @param refreshButton 刷新按钮 + @param navigationItem 所在UINavigationController的navigationItem,可以改变相应的标题 + + */ +typedef void (^UMNavigationBarConfig)(UINavigationBar *bar, + UIButton *closeButton, + UIButton *backButton, + UIButton *postButton, + UIButton *refreshButton, + UINavigationItem * navigationItem); + +/** + 设置TableViewCell的样式 + + @param cell UITableViewCell + @param viewControllerType 页面类型 + + */ +typedef void (^UMTableViewCellConfig)(UITableViewCell *cell,UMSViewControllerType viewControllerType); + +/** + SDK设置类,负责改变SDK功能配置 + + */ +@interface UMSocialConfig : NSObject + +/** + 设置显示的sns平台类型 + + @param platformNames 在`UMSocialSnsPlatformManager.h`定义的UMShareToSina、UMShareToTencent、UMShareToQzone、UMShareToRenren、UMShareToDouban、UMShareToEmail、UMShareToSms组成的NSArray + */ ++ (void)setSnsPlatformNames:(NSArray *)platformNames; + +/** +设置sdk所有页面需要支持屏幕方向. + +@param interfaceOrientations 一个bit map(位掩码),ios 6定义的`UIInterfaceOrientationMask` +*/ ++ (void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)interfaceOrientations; + +/** + 设置社会化组件UI主题,现在有黑色和白色两种 + + @param theme UI主题 + + */ ++ (void) setTheme:(UMSocialTheme)theme; + + +/** + 设置分享列表页面,Block对象的形参包括有绘制当前线条的CGContex指针,icon背景视图 + 例如下面写法 + ``` + [UMSocialConfig setShareGridViewTheme:^(CGContextRef ref, UIImageView *backgroundView,UILabel *label){ + //改变线颜色和线宽 + CGContextSetRGBStrokeColor(ref, 0, 0, 0, 1.0); + CGContextSetLineWidth(ref, 1.0); + //改变背景颜色 + backgroundView.backgroundColor = [UIColor blackColor]; + + //添加背景图片 + UIImageView *imageView = [[UIImageView alloc] initWithFrame:backgroundView.frame]; + imageView.image = [UIImage imageNamed:@"share_bg.png"]; + [backgroundView addSubview:imageView]; + backgroundView.backgroundColor = [UIColor clearColor]; + +//改变文字标题的文字颜色 + label.textColor = [UIColor blueColor]; + //隐藏文字 + label.hidden = YES; + }]; + ``` + + @param gridViewConfig 设置分享列表样式的block对象 + + */ ++(void)setShareGridViewTheme:(UMGridViewConfig)gridViewConfig; + +/** + 设置导航栏,包括导航栏的UINavigationBar,返回按钮,关闭按钮,发送按钮,刷新按钮和中间的UINavigationItem的样式 + 例如下面写法: + + ``` + [UMSocialConfig setNavigationBarConfig:^(UINavigationBar *bar, + UIButton *closeButton, + UIButton *backButton, + UIButton *postButton, + UIButton *refreshButton, + UINavigationItem * navigationItem){ + UIImage * backgroundImage = [UIImage imageNamed:@"UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg"]; + + if ([bar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { + [bar setBackgroundImage:backgroundImage forBarMetrics:UIBarMetricsDefault]; + } + bar.titleTextAttributes = nil; + }]; + ``` + + @param navigationConfig 设置导航栏样式的block对象 + navigationConfig 是一个Block对象,传入的参数包括: + @param bar 导航栏 + @param closeButton 关闭按钮 + @param backButton 返回按钮 + @param postButton 发送按钮 + @param refreshButton 刷新按钮 + @param navigationItem 所在UINavigationController的navigationItem,可以改变相应的标题 + */ ++(void)setNavigationBarConfig:(UMNavigationBarConfig)navigationConfig; + +/** + 设置分享列表页,个人中心页面等的UITableViewCell的样式 + + @param tableViewCellConfig UITableViewCell的样式配置Block + @param cell UITableViewCell + @param viewControllerType 页面类型 + + */ ++(void)setTableViewCellConfig:(UMTableViewCellConfig)tableViewCellConfig; + +/** + 设置分享完成时“发送完成”或者分享错误等提示 + + @param isHidden 是否隐藏该提示 + @param toastPosition 提示的位置,可以设置成在屏幕上部、中间、下部 + */ ++(void)setFinishToastIsHidden:(BOOL)isHidden position:(UMSocialiToastPosition)toastPosition; + +/** + 设置官方微博账号,设置之后可以在授权页面有关注微博的选项,默认勾选,授权之后用户即关注官方微博,仅支持新浪微博和腾讯微博 + + @param weiboUids 腾讯微博和新浪微博的key分别是`UMShareToSina`和`UMShareToTenc`,值分别是官方微博的uid,例如`[UMSocialConfig setFollowWeiboUids:[NSDictionary dictionaryWithObjectsAndKeys:@"yourSinaUid",UMShareToSina,nil]];` + */ ++ (void)setFollowWeiboUids:(NSDictionary *)weiboUids; + +/** + 设置新增加`UMSocialSnsPlatform`对象 + @param snsPlatformArray `UMSocialSnsPlatform`组成的数组对象 + + */ ++ (void)addSocialSnsPlatform:(NSArray *)snsPlatformArray; + +/** + 设置页面的背景颜色 + @param defaultColor 设置页面背景颜色 + + */ ++ (void)setDefaultColor:(UIColor *)defaultColor; + +/** + 设置iPad页面的大小 + @param size 页面大小 + + */ ++ (void)setBoundsSizeForiPad:(CGSize)size; + +/** + 设置分享编辑页面是否等待完成之后再关闭页面还是立即关闭,如果设置成YES,就是等待分享完成之后再关闭,否则立即关闭。 + 2.2版本前默认等待分享完成之后再关闭。 + 2.2版本之后默认设置成立即关闭页面 + + @param shouldShareSynchronous 是否同步分享 + + */ ++ (void)setShouldShareSynchronous:(BOOL)shouldShareSynchronous; + +/** + 设置评论页面是否出现分享按钮,默认出现 + + */ ++ (void)setShouldCommentWithShare:(BOOL)shouldCommentWithShare; + +/** + 设置评论页面是否出现分享地理位置信息的按钮,默认出现 + + */ ++ (void)setShouldCommentWithLocation:(BOOL)shouldCommentWithLocation; + +/** Deprecated API, Use [UMSocialConfig showPlatformWhenNotInstall:nil]; + 显示所有平台,某些平台例如微信和QQ,需要安装客户端才能分享,若没有安装客户端情况下不显示这些平台 + + */ +//+ (void)showAllPlatform:(BOOL)showAllPlatform; + +/** Deprecated API, Use [UMSocialConfig hiddenNotInstallPlatforms:nil]; + 指定显示没有安装客户端的平台,默认需要客户端的分享平台不显示。 + 传nil则显示所有平台。 + + @param showPlatforms 指定要显示的平台 + + */ ++ (void)showNotInstallPlatforms:(NSArray *)showPlatforms; + +/** + 隐藏指定没有安装客户端的平台。 + + @param hiddenPlatforms 指定要隐藏的平台,传nil则隐藏所有没有安装客户端的平台 + + */ ++ (void)hiddenNotInstallPlatforms:(NSArray *)hiddenPlatforms; + ++ (UMSocialConfig *)shareInstance; + +/** deprecated API, Use ''[UMSocialSinaHandler openSSOWithRedirectURL:@"http://sns.whalecloud.com/sina2/callback"];'' + + 设置是否支持新浪微博SSO,默认不支持 + @param supportSinaSSO 设置是否支持新浪微博SSO + @param appRedirectUrl 设置授权回调地址,此授权回调地址必须和你在新浪应用后台填写的回调地址一致,否则不能授权 + 如果在新浪微博后台绑定我们的回调地址“http://sns.whalecloud.com/sina2/callback”,这里可以传nil + + */ +//+ (void)setSupportSinaSSO:(BOOL)supportSinaSSO appRedirectUrl:(NSString *)appRedirectUrl; + + +/** deprecated API, Use ''[UMSocialQQHandler shareToQQWithAppId:@"100424468" url:@"http://www.umeng.com/social"];'' + + 设置手机QQ的app_Id和微信图文分享用到的url地址 + + @param app_Id 手机QQ的AppId + @param url 手机QQ图文分享web类型,用到的url地址,如果传nil,默认使用http://www.umeng.com/social + @param classes 载入QQ互联 SDK,用到的两个类 + */ + +//+ (void)setQQAppId:(NSString *)app_Id url:(NSString *)url importClasses:(NSArray *)classes; + + +/**deprecated API, Use ''[UMSocialQQHandler setSupportQzoneSSO:YES];'' + 设置支持Qzone的SSO授权 + + @param supportQzoneSSO Qzone支持SSO + @param classes 载入QQ互联 SDK,用到的两个类 + */ + +//+ (void)setSupportQzoneSSO:(BOOL)supportQzoneSSO importClasses:(NSArray *)classes; + + +/**deprecated API + 设置是否使用QQ互联的SDK来分享 + + @param useQQSDK 是否使用QQ互联的SDK来分享 + @param classes 载入QQ互联 SDK,用到的两个类 + */ + +//+ (void)setShareQzoneWithQQSDK:(BOOL)useQQSDK url:(NSString *)urlString importClasses:(NSArray *)classes; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerService.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerService.h new file mode 100644 index 0000000..ea11d20 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerService.h @@ -0,0 +1,201 @@ +// +// UMSocialUIController.h +// SocialSDK +// +// Created by Jiahuan Ye on 12-9-12. +// Copyright (c) umeng.com All rights reserved. +// + +#import +#import "UMSocialDataService.h" + +#define kTagSocialIconActionSheet 1013 +#define kTagSocialShakeView 1014 + +@class UMSocialControllerService; + +/** + `UMSocialControllerService`对象用到的一些回调方法,包括分享完成、授权完成、评论完成等事件,和关闭授权页面、分享页面、评论页面等事件。 + */ +@protocol UMSocialUIDelegate + +@optional + +/** + 自定义关闭授权页面事件 + + @param navigationCtroller 关闭当前页面的navigationCtroller对象 + + */ +-(BOOL)closeOauthWebViewController:(UINavigationController *)navigationCtroller socialControllerService:(UMSocialControllerService *)socialControllerService; + +/** + 关闭当前页面之后 + + @param fromViewControllerType 关闭的页面类型 + + */ +-(void)didCloseUIViewController:(UMSViewControllerType)fromViewControllerType; + +/** + 各个页面执行授权完成、分享完成、或者评论完成时的回调函数 + + @param response 返回`UMSocialResponseEntity`对象,`UMSocialResponseEntity`里面的viewControllerType属性可以获得页面类型 + */ +-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response; + +/** + 点击分享列表页面,之后的回调方法,你可以通过判断不同的分享平台,来设置分享内容。 + 例如: + + -(void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData + { + if (platformName == UMShareToSina) { + socialData.shareText = @"分享到新浪微博的文字内容"; + } + else{ + socialData.shareText = @"分享到其他平台的文字内容"; + } + } + + @param platformName 点击分享平台 + + @prarm socialData 分享内容 + */ +-(void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData; + + +/** + 配置点击分享列表后是否弹出分享内容编辑页面,再弹出分享,默认需要弹出分享编辑页面 + + @result 设置是否需要弹出分享内容编辑页面,默认需要 + + */ +-(BOOL)isDirectShareInIconActionSheet; +@end + + +/** + 用此类的方法可以得到分享的有关UI对象,例如分享列表、评论列表、分享编辑页、分享授权页、个人中心页面等。返回都是`UINavigationController`对象,建议把这个对象present到你要添加到的`UIViewController`上 + */ +@interface UMSocialControllerService : NSObject + +/** + 与`UMSocialControllerService`对象对应的`UMSocialData`对象,可以通过该对象设置分享内嵌文字、图片,获取分享数等属性 + */ +@property (nonatomic, retain) UMSocialData *socialData; + +/** + 用`UMSocialDataService`对象,可以调用发送微博、评论等数据级的方法 + */ +@property (nonatomic, readonly) UMSocialDataService *socialDataService; + +/** + 当前返回的`UINavigationController`对象 + */ +@property (nonatomic, assign) UIViewController *currentViewController; + +/** + 当前返回的`UIViewController`对象 + */ +@property (nonatomic, assign) UINavigationController *currentNavigationController; + + +/** + 当前``对象,此对象可以获取到授权完成,关闭页面等状态,详情看`UMSocialUIDelegate`的定义 + */ +@property (nonatomic, assign) id socialUIDelegate; + +/** + 当前sns平台名 + */ +@property (nonatomic, retain) NSString *currentSnsPlatformName; + +/** + 下一个页面类型 + */ +@property (nonatomic, assign) UMSViewControllerType nextViewController; + +/** + 返回一个以[UMSocialData defaultData]来做初始化参数的`UMSocialControllerService`对象 + + @return `UMSocialControllerService`的默认初始化对象 + */ ++(UMSocialControllerService *)defaultControllerService; + +///--------------------------------------- +/// @name 初始化方法和设置 +///--------------------------------------- + +/** + 初始化一个`UMSocialControllerService`对象 + + @param socialData `UMSocialData`对象 + + @return 初始化对象 + */ +- (id)initWithUMSocialData:(UMSocialData *)socialData; + +/** + 设置分享内容和回调对象 + + @param shareText 分享内嵌文字 + + @param shareImage 分享内嵌图片,可以传入UIImage或者NSData类型 + + @param socialUIDelegate 分享回调对象 + */ +- (void)setShareText:(NSString *)shareText shareImage:(id)shareImage + socialUIDelegate:(id)socialUIDelegate; + +///--------------------------------------- +/// @name 获得评论列表、分享列表等UINavigationController +///--------------------------------------- + +/** + 得到一个分享列表页面,该列表出现的分享列表可以通过实现`UMSocialConfig`的类方法来自定义 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialShareListController; + + +/** + 分享编辑页面 + + @param platformType 要编辑的微博平台,并支持UMSocialSnsTypeEmail和UMSocialSnsTypeSms返回编辑Email页面和短信页面,不支持邮箱或者短信的设备分别返回nil + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialShareEditController:(NSString *)platformType; + +/** + 授权页面,如果你要想得到授权完成之后的事件,你可以实现`UMSocialUIDelegate`里面的`-(void)didCloseUIViewController:(UMSViewControllerType)fromViewControllerType;`方法,当授权关闭页面会调用此方法。另外授权完成之后sdk会自动去取个人账户信息,你可以在回调函数里面去到刚刚授权的微博平台的账户信息。 + + @param shareToType 要授权的微博平台 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialOauthController:(NSString *)platformType; + +/** + 获取用以sns各平台icon平铺来展示的分享列表页面对象 + + @param controller 弹出的分享列表页面,点击sns平台icon之后,出现的分享页面或者授权页面所在的UIViewController + + @return 分享列表页面 + */ +- (id)getSocialIconActionSheetInController:(UIViewController *)controller; + +/** +获取各种页面的`UIViewController`对象 + +@param viewControllerType 页面类型 + +@param snsName 编辑页面、授权页面等需要的平台名 + +@return 页面的`UIViewController`对象 +*/ +- (UIViewController *)getSocialViewController:(UMSViewControllerType)viewControllerType withSnsType:(NSString *)snsName; + +@end \ No newline at end of file diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerServiceComment.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerServiceComment.h new file mode 100644 index 0000000..65d6e75 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialControllerServiceComment.h @@ -0,0 +1,55 @@ +// +// UMSocialControllerServiceComment.h +// SocialSDK +// +// Created by yeahugo on 12-12-7. +// Copyright (c) 2012年 Umeng. All rights reserved. +// + +#import +#import "UMSocialControllerService.h" + +/** + 用此类的方法可以得到分享的有关UI对象,例如分享列表、评论列表、分享编辑页、分享授权页、个人中心页面等。返回都是`UINavigationController`对象,建议把这个对象present到你要添加到的`UIViewController`上 + */ +@interface UMSocialControllerServiceComment : UMSocialControllerService + +/** + 返回一个以[UMSocialData defaultData]来做初始化参数的`UMSocialControllerServiceComment`对象 + + @return `UMSocialControllerServiceComment`的默认初始化对象 + */ ++(UMSocialControllerServiceComment *)defaultControllerService; + +/** + 评论列表页面,评论列表页面包括各评论详情、评论编辑 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialCommentListController; + + +/** + 得到个人中心页面,该页面包括用户各个微博授权信息和选择的登录账号 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialAccountController; + + +/** + sns账号设置页面,该页面包括个人的各个微博授权信息 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSnsAccountController; + + +/** + 登录页面,出现你配置出现的所有sns平台,授权之后设置为sdk的登录账号。使用评论功能时会取此登录账号的昵称和头像。 + + @return `UINavigationController`对象 + */ +- (UINavigationController *)getSocialLoginController; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialData.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialData.h new file mode 100644 index 0000000..3342535 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialData.h @@ -0,0 +1,147 @@ +// +// UMSocialData.h +// SocialSDK +// +// Created by Jiahuan Ye on 12-9-12. +// Copyright (c) umeng.com All rights reserved. +// + +#import +#import +#import "UMSocialSnsData.h" + +/** + 一个`UMSocialData`对象标识一个分享资源,用一个*identifier*字符串作为标识,你可以为此对象设置分享内嵌文字、分享图片等,可以获取到对应的分享数、评论数。同时`UMSocialData`类方法用来设置appKey和打开log等全局设置。 + */ +@interface UMSocialData : NSObject + + +///--------------------------------------- +/// @name 对象属性 +///--------------------------------------- + +/** + 标识每个不同`UMSocialData`对象的字符串 + + */ +@property (nonatomic, copy) NSString *identifier; + +/** + 不同`UMSocialData`对象的title,在报表会根据看到分享操作对应的title + + */ +@property (nonatomic, copy) NSString *title; + +/** + 分享的内嵌文字 + + */ +@property (nonatomic, copy) NSString * shareText; + +/** + 用于用户在评论并分享的时候,该字段内容会自动添加到评论的后面,分享到各个分享平台 + + */ +@property (nonatomic, copy) NSString * commentText; + +/** + 分享的内嵌图片,可以传入`UIImage`或者`NSData`类型 + + */ +@property (nonatomic, retain) id shareImage; + +/** + 用于用户在评论并分享的时候,该字段内容会自动添加到评论中的图片,分享到各个分享平台 + + */ +@property (nonatomic, retain) UIImage * commentImage; + +/** + 保存在本地记录是否喜欢 + + */ +@property (nonatomic, readonly) BOOL isLike; + +/** + 保存在本地的用户微博账户信息,key是微博名,value是自定义的`UMSocialResponseEntity`对象 + + */ +@property (nonatomic, readonly) NSDictionary *socialAccount; + + +/** + 分享到微博多媒体资源,包括指定url的图片、音乐、视频 + + */ +@property (nonatomic, retain) UMSocialUrlResource *urlResource; + +/** + 分享到各个微博的扩展设置 + + */ +@property (nonatomic, retain) UMSocialExtConfig *extConfig; + +///--------------------------------------- +/// @name 对所有对象都起作用的类方法 +///--------------------------------------- + +/**设置app的友盟appKey,此appKey从友盟网站获取 + + @param appKey 友盟appKey + */ + ++ (void)setAppKey:(NSString *)appKey; + + +/**获取设置的友盟appKey + + */ ++ (NSString *)appKey; + +/** + 设置是否打开log输出,默认不打开,如果打开的话可以看到此sdk网络或者其他操作,有利于调试 + + @param openLog 是否打开log输出 + + */ ++ (void)openLog:(BOOL)openLog; + +/** + 获取默认的`UMSocialData`对象,此对象的identifier为"UMSocialDefault" + + */ ++ (UMSocialData *)defaultData; + +///--------------------------------------- +/// @name 对象方法 +///--------------------------------------- + +/** + 初始化一个`UMSocialData`对象 + + @param identifier 一个`UMSocialData`对象的标识符,相同标识符的`UMSocialData`拥有相同的属性 + + @return return 初始化的`UMSocialData`对象 + */ +- (id)initWithIdentifier:(NSString *)identifier; + +/** + 初始化一个`UMSocialData`对象 + + @param identifier 一个`UMSocialData`对象的标识符,相同标识符的`UMSocialData`拥有相同的属性 + + @param title 对每个对象的描述,在报表端显示分享、评论等操作对应的title + + @return return 初始化的`UMSocialData`对象 + */ +- (id)initWithIdentifier:(NSString *)identifier withTitle:(NSString *)title; + +/** + 获得该对象保存在本地的分享数、评论数或者喜欢数 + + @param numberType 数目类型,分享、评论、喜欢分别为`UMSNumberShare`、`UMSNumberComment`、`UMSNumberLike` + + @return 各种动作的数目 + */ +- (NSInteger)getNumber:(UMSNumberType)numberType; +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialDataService.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialDataService.h new file mode 100644 index 0000000..c9584ff --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialDataService.h @@ -0,0 +1,367 @@ +// +// UMSocialDataAPI.h +// SocialSDK +// +// Created by Jiahuan Ye on 12-9-13. +// Copyright (c) umeng.com All rights reserved. +// +#import +#import "UMSocialData.h" + +/** + 网络请求结果状态码 + + */ +typedef enum { + UMSResponseCodeSuccess = 200, //成功 + UMSREsponseCodeTokenInvalid = 400, //授权用户token错误 + UMSResponseCodeBaned = 505, //用户被封禁 + UMSResponseCodeFaild = 510, //发送失败(由于内容不符合要求或者其他原因) + UMSResponseCodeArgumentsError = 522, //参数错误,提供的参数不符合要求 + UMSResponseCodeEmptyContent = 5007, //发送内容为空 + UMSResponseCodeShareRepeated = 5016, //分享内容重复 + UMSResponseCodeGetNoUidFromOauth = 5020, //授权之后没有得到用户uid + UMSResponseCodeAccessTokenExpired = 5027, //token过期 + UMSResponseCodeNetworkError = 5050, //网络错误 + UMSResponseCodeGetProfileFailed = 5051, //获取账户失败 + UMSResponseCodeCancel = 5052, //用户取消授权 + UMSResponseCodeNotLogin = 5053, //用户没有登录 + UMSResponseCodeNoApiAuthority = 100031 //QQ空间应用没有在QQ互联平台上申请上传图片到相册的权限 +} UMSResponseCode; + +/** + 网络请求类型 + + */ +typedef enum { + UMSResponseAddComment = 0, //添加评论 + UMSResponseAddLike = 1, //添加喜欢 + UMSResponseGetCommentList = 2, //获取评论列表 + UMSResponseGetSocialData = 3, //获取social enitity信息 + UMSResponseShareToSNS = 4, //分享到一个微博平台 + UMSResponseShareToMutilSNS = 5, //分享到多个微博平台 + UMSResponseBinding = 6, //绑定一个账户作为登录账户 + UMSResponseUnBinding = 7, //解除绑定账户 + UMSResponseUnOauth = 8, //解除授权 + UMSResponseOauth = 9, //授权 + UMSResponseGetAccount = 10, //获取账户信息 + UMSResponseGetSnsInfo = 11, //获取sns详细信息 + UMSResponseGetFriends = 12, //获取朋友列表 + UMSResponseAddFollow = 13, //添加关注 + UMSResponseAddCustomAccount = 14, //添加自定义账户 + UMSResponseAddSnsAccount = 15, //添加已经授权的账户 + UMSResponseGetAppInfo = 16, //获取各个sns绑定app 信息 + UMSResponseIsTokenValid = 17, //获取各个微博平台的token是否有效 + UMSResponseAnalytics = 18, + UMSResponseAddAppInfo = 19 +} UMSResponse; + +/** + 页面类型 + + */ +typedef enum{ + UMSViewControllerCommentList, //评论列表 + UMSViewControllerCommentEdit, //评论编辑页 + UMSViewControllerShareList, //分享列表页,包含sdk支持的所有sns平台 + UMSViewControllerShareEdit, //分享编辑页 + UMSViewControllerAccount, //个人中心页面 + UMSViewControllerSnsAccount, //sns账号设置页面 + UMSViewControllerLoginAccount, //登录账号页面 + UMSViewControllerOauth, //oath授权页面 + UMSViewControllerLogin, //登录页面,登录的可选平台为sdk所支持的sns平台 + UMSViewControllerFriendList, //好友列表页面 + UMSViewControllerActionSheet //icon平铺排列的分享列表页面 +}UMSViewControllerType; + + +/** + 返回的状态对象,可以通过此对象获取返回类型、返回结果、返回数据等。 + + */ +@interface UMSocialResponseEntity : NSObject + +/** + 代表发送结果,UMSResponseCodeSuccess代表成功,参看上面的定义 + + */ +@property (nonatomic, assign) UMSResponseCode responseCode; + +/** + 数据类型 + + */ +@property (nonatomic, assign) UMSResponse responseType; + +/** + 数据返回`UMViewControllerType`类型,如果是UI的回调函数,表示回调函数所在的页面 + + */ +@property (nonatomic, assign) UMSViewControllerType viewControllerType; + +/** + 错误原因 + + */ +@property (nonatomic, retain) NSString *message; + +/** + 返回数据 + + */ +@property (nonatomic, retain) NSDictionary *data; + +/** + 客户端发送出现的错误 + + */ +@property (nonatomic, retain) NSError *error; + +/** + 把各属性编码成NSString + + @return 一个`NSString`对象 + */ +-(NSString *)description; +@end + + +/** + 进行网络请求之后的回调函数,你可以通过返回的`UMSocialResponseEntity`对象的`responseType`类型来对不同的请求来做处理。 + + @see `UMSocialResponseEntity.h` + + */ +@protocol UMSocialDataDelegate + +/** + 进行网络请求之后得到的回调方法 + + @param response 回调返回一个`UMSResponseEntity`对象 + + */ +-(void)didFinishGetUMSocialDataResponse:(UMSocialResponseEntity *)response; + +@end + +typedef void (^UMSocialDataServiceCompletion)(UMSocialResponseEntity * response); + +@class CLLocation; + +/** + 底层数据接口对象,用一个`UMSocialData`来初始化,此对象的方法有在直接发送微博、发送评论等。可以通过`socialData`属性来获取分享数、评论数,设置分享内嵌文字等。 + */ +@interface UMSocialDataService : NSObject + +///--------------------------------------- +/// @name 属性 +///--------------------------------------- + +@property (nonatomic, copy) UMSocialDataServiceCompletion completion; + +/** + 通过`UMSocialData`对象,可以设置分享文字、图片,并获取到分享数、微博账号等属性 + */ +@property (nonatomic, retain) UMSocialData *socialData; + +/** + 设置实现了``的对象 + */ +@property (nonatomic, readonly) id socialDataDelegate; + +///--------------------------------------- +/// @name 对象初始化和设置方法 +///--------------------------------------- + + +/** + 返回一个以[UMSocialData defaultData]来做初始化参数的`UMSocialDataService`对象 + + @return `UMSocialDataService`的默认初始化对象 + */ ++(UMSocialDataService *)defaultDataService; + +/** + 初始化一个`UMSocialDataService`对象 + + @param socialData 一个`UMSocialData`对象 + + @return 初始化对象 + */ +- (id)initWithUMSocialData:(UMSocialData *)socialData; + +/*! + 设置实现了``的对象, 如果在此视图设置了delegate,离开此视图的时候要设置为nil + + @param delegate 实现了``的对象 + + */ +- (void)setUMSocialDelegate:(id )delegate; + +/** + 获取微博分享数、评论数等数据 + + @param completion 获取到数据之后执行的block对象,返回数据放在completion.data + + */ +-(void)requestSocialDataWithCompletion:(UMSocialDataServiceCompletion)completion; + +/** + Deprecated APIs + 发送微博内容到多个微博平台 + + @param platformTypes 分享到的平台,数组的元素是`UMSocialSnsPlatformManager.h`定义的平台名的常量字符串,例如`UMShareToSina`,`UMShareToTencent`等。 + @param content 分享的文字内容 + @param image 分享的图片 + @param location 分享的地理位置信息 + @param urlResource 图片、音乐、视频等url资源 + @param completion 发送完成执行的block对象 + + */ +- (void)postSNSWithTypes:(NSArray *)platformTypes + content:(NSString *)content + image:(id)image + location:(CLLocation *)location + urlResource:(UMSocialUrlResource *)urlResource + completion:(UMSocialDataServiceCompletion)completion; + +/** + 发送微博内容到多个微博平台 + + @param platformTypes 分享到的平台,数组的元素是`UMSocialSnsPlatformManager.h`定义的平台名的常量字符串,例如`UMShareToSina`,`UMShareToTencent`等。 + @param content 分享的文字内容 + @param image 分享的图片,可以传入UIImage类型或者NSData类型 + @param location 分享的地理位置信息 + @param urlResource 图片、音乐、视频等url资源 + @param completion 发送完成执行的block对象 + @param presentedController 如果发送的平台微博只有一个并且没有授权,传入要授权的viewController,将弹出授权页面,进行授权。可以传nil,将不进行授权。 + + */ +- (void)postSNSWithTypes:(NSArray *)platformTypes + content:(NSString *)content + image:(id)image + location:(CLLocation *)location + urlResource:(UMSocialUrlResource *)urlResource + presentedController:(UIViewController *)presentedController + completion:(UMSocialDataServiceCompletion)completion; + +/** + 如果当前`UMSocialData`没有喜欢的话,发送喜欢,否则取消喜欢 + + @param completion 获取到数据之后执行的block对象 + + */ +- (void)postAddLikeOrCancelWithCompletion:(UMSocialDataServiceCompletion)completion; + +/** + 发送评论 + + @param content 评论的文字内容 + @param completion 获取到数据之后执行的block对象 + + */ +- (void)postCommentWithContent:(NSString *)content completion:(UMSocialDataServiceCompletion)completion; + +/** + 发送评论 + + @param content 评论的文字内容 + @param image 评论并发送到微博的图片 + @param templateText 评论并发送到微博跟在微博正文后面用//分隔的文字 + @param location 评论的地理位置信息 + @param shareToSNS 评论并分享到微博平台,key为微博名,定义在`UMSocialSnsPlatformManager.h`中的`UMShareToSina`等,值为相应的usid + @param completion 获取到数据之后执行的block对象 + + */ +-(void)postCommentWithContent:(NSString *)content + image:(UIImage *)image + templateText:(NSString *)templateText + location:(CLLocation *)location + shareToSNSWithUsid:(NSDictionary *)shareToSNS + completion:(UMSocialDataServiceCompletion)completion; + +/** + 获取评论 + + @param lastCommentTime 如果要获取最新的评论数,设置为-1,如果获取指定评论,传入评论在这之前的时间戳 + @param completion 获取到数据之后执行的block对象,此block对象的形参内带有请求的评论数据 + + */ +- (void)requestCommentList:(long long)lastCommentTime completion:(UMSocialDataServiceCompletion)completion; + +///--------------------------------------- +/// @name 用户账户信息相关网络请求 +///--------------------------------------- + +/** + 请求获取用户微博账号的数据,获取到的用户数据在回调函数获得,也可以通过已经保存在本地并且更新的`socialData`属性的`socialAccount`属性来获得 + @param completion 获取到数据之后执行的block对象,此block对象的形参带啊有请求的用户账号数据 + + */ +- (void)requestSocialAccountWithCompletion:(UMSocialDataServiceCompletion)completion; + +/** + 请求解除授权 + + @param platformType 要解除授权的微博平台 + @param completion 请求之后执行的block对象 + + */ +- (void)requestUnOauthWithType:(NSString *)platformType completion:(UMSocialDataServiceCompletion)completion; + +/** + 请求绑定账号 + + @param platformType 要绑定账号的微博平台 + @param completion 请求之后执行的block对象 + + */ +- (void)requestBindToSnsWithType:(NSString *)platformType completion:(UMSocialDataServiceCompletion)completion; + +/** + 请求解除绑定账号 + @param completion 请求之后执行的block对象 + + */ +- (void)requestUnBindToSnsWithCompletion:(UMSocialDataServiceCompletion)completion; + +/** + 请求获取用户微博账号的详细数据,获取返回数据和其他方法一样,在中的`didFinishGetUMSocialDataResponse`返回的`UMSocialResponseEntity`对象,数据部分是`data`属性,为`NSDictionary`类型 + + @param platformType 要获取微博信息的微博平台 + @param completion 请求之后执行的block对象 + + */ +- (void)requestSnsInformation:(NSString *)platformType completion:(UMSocialDataServiceCompletion)completion; + +/** + 请求获取用户微博账号的朋友列表,获取返回数据和其他方法一样,在中的`didFinishGetUMSocialDataResponse`返回的`UMSocialResponseEntity`对象,数据部分是`data`属性,为`NSDictionary`类型 + + @param platformType 要获取微博信息的微博平台 + @param completion 请求之后执行的block对象,block对象的形参内带有请求的好友数据 + + */ +- (void)requestSnsFriends:(NSString *)platformType completion:(UMSocialDataServiceCompletion)completion; + +/** + 请求添加关注 + + @param platformType 要添加关注的微博平台,目前添加关注功能只支持新浪微博和腾讯微博 + + @param usids 被关注的usid号 + + @param completion 请求之后执行的block对象 + + */ +- (void)requestAddFollow:(NSString *)platformType followedUsid:(NSArray *)usids completion:(UMSocialDataServiceCompletion)completion; + +/** + 检测用户在各个开放平台上的token是否有效,失效的情况包括token过期,用户手动解除授权,用户修改密码等情况 + + @param snsArray 微博平台数组,只支持传入支持授权的平台,包括新浪微博、腾讯微博、QQ空间等。不支持微信等平台。 + + @return completion 返回结果 + */ +- (void)requestIsTokenValid:(NSArray *)snsArray completion:(UMSocialDataServiceCompletion)completion; +@end + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsData.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsData.h new file mode 100644 index 0000000..05a9e45 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsData.h @@ -0,0 +1,608 @@ +// +// UMSocialSnsData.h +// SocialSDK +// +// Created by yeahugo on 13-11-25. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import +#import + +typedef enum{ + UMSNumberLike=0, //喜欢 + UMSNumberShare, //分享 + UMSNumberComment //评论 +}UMSNumberType; + +typedef enum { + UMSocialUrlResourceTypeDefault, //无 + UMSocialUrlResourceTypeImage, //图片 + UMSocialUrlResourceTypeVideo, //视频 + UMSocialUrlResourceTypeMusic //音乐 +}UMSocialUrlResourceType; + +/** + 分享到微博的多媒体资源,包括指定url的图片、音乐、视频 + */ +@interface UMSocialUrlResource : NSObject + +/** + url地址 + + */ +@property (nonatomic, copy) NSString *url; + + +/** + 资源类型,图片(UMSocialUrlResourceTypeImage)、视频(UMSocialUrlResourceTypeVideo),音乐(UMSocialUrlResourceTypeMusic) + + */ +@property (nonatomic, assign) UMSocialUrlResourceType resourceType; + +/** + 设置url资源类型和url地址 + + @param resourceType 多媒体资源类型,图片、音乐或者视频 + @param urlString url字符串 + + */ +-(void)setResourceType:(UMSocialUrlResourceType)resourceType url:(NSString *)url; + +/** + 初始化对象,指定一种资源和资源URL + + @param resourceType 多媒体资源类型,图片、音乐或者视频 + @param urlString url字符串 + + */ +-(id)initWithSnsResourceType:(UMSocialUrlResourceType)resourceType url:(NSString *)url; + +@end + + +/** + 微信内容类型 + */ +typedef enum{ + UMSocialWXMessageTypeNone, + UMSocialWXMessageTypeText, //微信消息文本类型 + UMSocialWXMessageTypeImage, //微信消息图片类型 + UMSocialWXMessageTypeApp, //微信消息应用类型 + UMSocialWXMessageTypeWeb, //微信消息网页类型 + UMSocialWXMessageTypeMusic, //微信消息音乐类型 + UMSocialWXMessageTypeVideo, //微信消息视频类型 + UMSocialWXMessageTypeEmotion, //微信消息表情类型 + UMSocialWXMessageTypeOther //微信消息其他多媒体类型 +}UMSocialWXMessageType; + +/** + 易信内容类型 + */ +typedef enum{ + UMSocialYXMessageTypeNone, + UMSocialYXMessageTypeText, //微信消息文本类型 + UMSocialYXMessageTypeImage, //微信消息图片类型 + UMSocialYXMessageTypeApp, //微信消息应用类型 + UMSocialYXMessageTypeWeb, //微信消息网页类型 + UMSocialYXMessageTypeMusic, //微信消息音乐类型 + UMSocialYXMessageTypeVideo, //微信消息视频类型 +}UMSocialYXMessageType; + +/** + QQ消息类型 + */ +typedef enum { + UMSocialQQMessageTypeDefault, //非纯图片QQ消息 + UMSocialQQMessageTypeImage //纯图片QQ消息 +}UMSocialQQMessageType; + +///--------------------------------------------------------------------------------------- + +/** + 设置分平台对应内容的基类 + + */ +@interface UMSocialSnsData : NSObject + +/** + 平台名 + + */ +@property (nonatomic, copy) NSString *snsName; + +/** + 分享文字 + + */ +@property (nonatomic, copy) NSString *shareText; + +/** + 分享图片 + + */ +@property (nonatomic, retain) id shareImage; + +/** + url资源类型 + + */ +@property (nonatomic, retain) UMSocialUrlResource *urlResource; + +@end + +///--------------------------------------------------------------------------------------- + +/** + 分享到新浪微博数据 + + */ +@interface UMSocialSinaData : UMSocialSnsData + +@end + + +/** + 分享到腾讯微博数据 + + */ +@interface UMSocialTencentData : UMSocialSnsData + +/** + 如果传入音乐的话,腾讯微博可以指定音乐标题 + + */ +@property (nonatomic, copy) NSString *title; + +/** + 如果传入音乐的话,腾讯微博可以指定音乐作者 + + */ +@property (nonatomic, copy) NSString *author; + +@end + + +/** + 分享到QQ空间数据,分享到QQ空间不支持纯图片的消息格式 + + */ +@interface UMSocialQzoneData : UMSocialSnsData + +/** + 分享内容标题 + + */ +@property (nonatomic, copy) NSString *title; + +/** + 应用链接地址 + + */ +@property (nonatomic, copy) NSString *url; + +@end + +/** + 分享到QQ好友 + + */ +@interface UMSocialQQData : UMSocialSnsData + +/** + 分享到QQ好友的网页消息url + + */ +@property (nonatomic, copy) NSString *url; + +/** + 分享到QQ好友的网页消息标题 + + */ +@property (nonatomic, copy) NSString *title; + +/** + 分享到QQ好友的消息类型 + + */ +@property (nonatomic, assign) UMSocialQQMessageType qqMessageType; + +@end + +/** + 分享到微信好友 + + */ +@interface UMSocialWechatSessionData : UMSocialSnsData + +/** + 图文分享标题 + + */ +@property (nonatomic, copy) NSString * title; + +/** + 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型 + + */ +@property (nonatomic, assign) UMSocialWXMessageType wxMessageType; + +/** + 微信网页消息url + + */ +@property (nonatomic, copy) NSString * url; + +/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 + * @attention 大小不能超过10M + + */ +@property (nonatomic, retain) NSData *fileData; + +/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 + * @attention 长度不能超过2K + */ +@property (nonatomic, copy) NSString *extInfo; + +@end + + +/** + 分享到微信朋友圈 + + */ +@interface UMSocialWechatTimelineData : UMSocialSnsData + +/** + 图文分享标题 + + */ +@property (nonatomic, copy) NSString * title; + +/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 + * @attention 大小不能超过10M + + */ +@property (nonatomic, retain) NSData *fileData; + +/** + 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型 + + */ +@property (nonatomic, assign) UMSocialWXMessageType wxMessageType; + +/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 + * @attention 长度不能超过2K + */ +@property (nonatomic, copy) NSString *extInfo; + +/** + 微信网页消息url + + */ +@property (nonatomic, copy) NSString * url; + +@end + + +/** + 分享到微信收藏 + + */ +@interface UMSocialWechatFavorite : UMSocialSnsData + +/** + 图文分享标题 + + */ +@property (nonatomic, copy) NSString * title; + +/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 + * @attention 大小不能超过10M + + */ +@property (nonatomic, retain) NSData *fileData; + +/** + 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型 + + */ +@property (nonatomic, assign) UMSocialWXMessageType wxMessageType; + +/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 + * @attention 长度不能超过2K + */ +@property (nonatomic, copy) NSString *extInfo; + +/** + 微信网页消息url + + */ +@property (nonatomic, copy) NSString * url; + +@end + +/** + 分享到人人网数据 + + */ +@interface UMSocialRenrenData : UMSocialSnsData + +/** + 分享内容链接地址 + */ +@property (nonatomic, copy) NSString *url; + +/** + 应用名称 + */ +@property (nonatomic, copy) NSString *appName; + +@end + +/** + 分享到豆瓣 + */ +@interface UMSocialDoubanData : UMSocialSnsData + +@end + + +/** + 分享到邮箱 + */ +@interface UMSocialEmailData : UMSocialSnsData + +/** + 邮件标题 + + */ +@property (nonatomic, copy) NSString * title; +@end + + +/** + 分享到短信 + */ +@interface UMSocialSmsData : UMSocialSnsData + +@end + +/** + 分享到Facebook + */ +@interface UMSocialFacebookData : UMSocialSnsData + +/** + 分享标题 + */ +@property (nonatomic, copy) NSString *title; + +/** + 分享URL地址 + */ +@property (nonatomic, copy) NSString *url; + +@end + + +/** + 分享到易信好友 + */ +@interface UMSocialYXSessionData : UMSocialSnsData + +/** + 易信消息类型 + */ +@property (nonatomic, assign) UMSocialYXMessageType yxMessageType; + +/** + 分享网页消息的链接地址 + + */ +@property (nonatomic, copy) NSString *url; + +@end + +/** + 分享到易信朋友圈 + */ +@interface UMSocialYXTimelineData : UMSocialSnsData + +/** + 易信消息类型 + */ +@property (nonatomic, assign) UMSocialYXMessageType yxMessageType; + +/** + 分享网页消息的链接地址 + + */ +@property (nonatomic, copy) NSString *url; + +@end + +/** + 分享到来往好友 + */ +@interface UMSocialLWSessionData : UMSocialSnsData + +/** + 分享网页消息的链接地址 + + */ +@property (nonatomic, copy) NSString *url; + +@end + +/** + 分享到来往好友 + */ +@interface UMSocialLWTimelineData : UMSocialSnsData + +/** + 分享网页消息的链接地址 + + */ +@property (nonatomic, copy) NSString *url; + +@end + +/** + 分享到Instagram + */ +@interface UMSocialInstagramData : UMSocialSnsData + +@end + +/** + 分享到Twitter + */ +@interface UMSocialTwitterData : UMSocialSnsData + +@end + + + +///--------------------------------------------------------------------------------------- + +/** + 分享到各个平台的扩展设置 + + */ +@interface UMSocialExtConfig : NSObject + +/** + 以各个分享平台名为key,各个品台data为value + + */ +@property (nonatomic, retain) NSDictionary *snsDataDictionary; + +/** + 分享到新浪微博内容 + + */ +@property (nonatomic, retain) UMSocialSinaData *sinaData; + +/** + 分享到腾讯微博内容 + + */ +@property (nonatomic, retain) UMSocialTencentData *tencentData; + +/** + 分享到微信好友内容 + + */ +@property (nonatomic, retain) UMSocialWechatSessionData *wechatSessionData; + +/** + 分享到微信朋友圈内容 + + */ +@property (nonatomic, retain) UMSocialWechatTimelineData *wechatTimelineData; + +/** + 微信收藏 + */ +@property (nonatomic, retain) UMSocialWechatFavorite * wechatFavoriteData; + +/** + 分享到QQ内容 + + */ +@property (nonatomic, retain) UMSocialQQData *qqData; + +/** + 分享到Qzone内容 + + */ +@property (nonatomic, retain) UMSocialQzoneData * qzoneData; + +/** + 分享到人人网内容 + + */ +@property (nonatomic, retain) UMSocialRenrenData * renrenData; + +/** + 分享到豆瓣内容 + + */ +@property (nonatomic, retain) UMSocialDoubanData * doubanData; + +/** + 分享到邮箱内容 + + */ +@property (nonatomic, retain) UMSocialEmailData *emailData; + + +/** + 分享到短信内容 + + */ +@property (nonatomic, retain) UMSocialSmsData *smsData; + +/** + Facebook内容 + + */ +@property (nonatomic, retain) UMSocialFacebookData * facebookData; + +/** + Twitter内容 + + */ +@property (nonatomic, retain) UMSocialTwitterData *twitterData; + +/** + 易信好友 + */ +@property (nonatomic, retain) UMSocialYXSessionData * yxsessionData; + +/** + 易信朋友圈 + */ +@property (nonatomic, retain) UMSocialYXTimelineData *yxtimelineData; + +/** + 来往好友 + */ +@property (nonatomic, retain) UMSocialLWSessionData * lwsessionData; + +/** + 来往朋友圈 + */ +@property (nonatomic, retain) UMSocialLWTimelineData * lwtimelineData; + +/** + instagram + */ +@property (nonatomic, retain) UMSocialInstagramData * instagramData; + +/** + 标题,用于指定微信分享标题,qzone分享的标题和邮件分享的标题。 + @attention Deprecated + + */ +@property (nonatomic, copy) NSString *title; + + +/** + 分享到微信的消息类型,分别有文字类型,图片类型,app类型(文字和图片都有,点击可以返回app或者到指定url,不过不能全部显示所有文字内容) + @attention Deprecated + + */ +@property (nonatomic, assign) UMSocialWXMessageType wxMessageType; + + +/** + 微信多媒体资源的分享,详细定义见`WXApiObject.h` + @attention Deprecated + + */ +@property (nonatomic, retain) id wxMediaObject; + + +@end \ No newline at end of file diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsPlatformManager.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsPlatformManager.h new file mode 100644 index 0000000..69fa877 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsPlatformManager.h @@ -0,0 +1,309 @@ +// +// UMSocialSnsPlatformManager.h +// SocialSDK +// +// Created by yeahugo on 13-1-15. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import +#import "UMSocialControllerService.h" + +/** + 新浪微博 + */ +extern NSString *const UMShareToSina; + +/** + 腾讯微博 + */ +extern NSString *const UMShareToTencent; + +/** + 人人网 + */ +extern NSString *const UMShareToRenren; + +/** + 豆瓣 + */ +extern NSString *const UMShareToDouban; + +/** + QQ空间 + */ +extern NSString *const UMShareToQzone; + +/** + 邮箱 + */ +extern NSString *const UMShareToEmail; + +/** + 短信 + */ +extern NSString *const UMShareToSms; + +/** + 微信好友 + */ +extern NSString *const UMShareToWechatSession; + +/** + 微信朋友圈 + */ +extern NSString *const UMShareToWechatTimeline; + +/** + 微信收藏 + */ +extern NSString *const UMShareToWechatFavorite; + +/** + 手机QQ + */ +extern NSString *const UMShareToQQ; + +/** + Facebook + */ +extern NSString *const UMShareToFacebook; + +/** + Twitter + */ +extern NSString *const UMShareToTwitter; + + +/** + 易信好友 + */ +extern NSString *const UMShareToYXSession; + +/** + 易信朋友圈 + */ +extern NSString *const UMShareToYXTimeline; + +/** + 来往好友 + */ +extern NSString *const UMShareToLWSession; + +/** + 来往朋友圈 + */ +extern NSString *const UMShareToLWTimeline; + +/** + 分享到Instragram + */ +extern NSString *const UMShareToInstagram; + +/** + 分享到Whatsapp + */ +extern NSString *const UMShareToWhatsapp; + +/** + 分享到Line + */ +extern NSString *const UMShareToLine; + +/** + 分享到Tumblr + */ +extern NSString *const UMShareToTumblr; + +/** + 分享到Pinterest + */ +extern NSString *const UMShareToPinterest; + +/** + 分享到KakaoTalk + */ +extern NSString *const UMShareToKakaoTalk; + +/** + 分享到Flickr + */ +extern NSString *const UMShareToFlickr; + +/** + 分享平台 + + */ +typedef enum { + UMSocialSnsTypeNone = 0, + UMSocialSnsTypeQzone = 10, + UMSocialSnsTypeSina, //sina weibo + UMSocialSnsTypeTenc, //tencent weibo + UMSocialSnsTypeRenr, //renren + UMSocialSnsTypeDouban, //douban + UMSocialSnsTypeWechatSession, + UMSocialSnsTypeWechatTimeline, + UMSocialSnsTypeWechatFavorite, + UMSocialSnsTypeEmail, + UMSocialSnsTypeSms, + UMSocialSnsTypeMobileQQ, + UMSocialSnsTypeFacebook, + UMSocialSnsTypeTwitter, + UMSocialSnsTypeYiXinSession, + UMSocialSnsTypeYiXinTimeline, + UMSocialSnsTypeLaiWangSession, + UMSocialSnsTypeLaiWangTimeline, + UMSocialSnsTypeInstagram, + UMSocialSnsTypeWhatsApp, + UMSocialSnsTypeLine, + UMSocialSnsTypeTumblr, + UMSocialSnsTypeKakaoTalk, + UMSocialSnsTypeFlickr, + UMSocialSnsTypePinterest, + UMSocialSnsTypeNew +} UMSocialSnsType; + + +@class UMSocialControllerService; + +/** 定义响应点击平台后的block对象 + + @param presentingController 点击后弹出的分享页面或者授权页面所在的UIViewController对象 + @param socialControllerService 可以用此对象的socialControllerService.socialData可以获取分享内嵌文字、内嵌图片,分享次数等 + @param isPresentInController 如果YES代表弹出(present)到当前UIViewController,否则push到UIViewController的navigationController + + */ +typedef void (^UMSocialSnsPlatformClickHandler)(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController); + +/** 定义响应点击各平台授权登录后的block对象 + + @param presentingController 点击后弹出的分享页面或者授权页面所在的UIViewController对象 + @param socialControllerService 可以用此对象的socialControllerService.socialData可以获取分享内嵌文字、内嵌图片,分享次数等 + @param isPresentInController 如果YES代表弹出(present)到当前UIViewController,否则push到UIViewController的navigationController + @param completion 授权完成之后的回调对象,返回的response参数表示成功与否和拿到的授权信息 + + */ +typedef void (^UMSocialSnsPlatformLoginHandler)(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController, UMSocialDataServiceCompletion completion); + +/** + Sns平台类,用`platformName`作为标识,指定显示名称、显示的图片,点击之后的响应。 + */ +@interface UMSocialSnsPlatform : NSObject + +///--------------------------------------- +/// @name 平台属性 +///--------------------------------------- + +/** + 平台标示符 + */ +@property (nonatomic, copy) NSString *platformName; + +/** + 显示名称 + */ +@property (nonatomic, copy) NSString *displayName; + +/** + 登录名称 + */ +@property (nonatomic, copy) NSString *loginName; + +/** + 分享类型 + */ +@property (nonatomic, assign) UMSocialSnsType shareToType; + +/** + 大图片的文件名,用于`UMSocialIconActionSheet` + */ +@property (nonatomic, copy) NSString *bigImageName; + +/** + 小图片的文件名,用于分享列表、登录、个人中心、评论编辑页面等 + */ +@property (nonatomic, copy) NSString *smallImageName; + +/** + 无色的小图片文件名,用于评论编辑页面显示没有授权状态 + */ +@property (nonatomic ,copy) NSString *smallImageOffName; + +/** + 处理点击分享事件后的block对象 + */ +@property(nonatomic, copy) UMSocialSnsPlatformClickHandler snsClickHandler; + +/** + 处理点击登录事件后的block对象 + */ +@property(nonatomic, copy) UMSocialSnsPlatformLoginHandler loginClickHandler; + +/** + 是否需要登录授权 + */ +@property(nonatomic, assign) BOOL needLogin; + +/** + 标志是否有webView授权 + */ +@property(nonatomic, assign) BOOL haveWebViewAuth; +/** + 初始化方法 + + @param platformName 作为该对象标识的平台名 + */ +-(id)initWithPlatformName:(NSString *)platformName; +@end + +/* + Sns平台类管理者类 + */ +@interface UMSocialSnsPlatformManager : NSObject + +/** + sns平台配置数组,此数组由allSnsArray转换,只包含平台名作为元素 + */ +@property (nonatomic, readonly) NSArray *allSnsValuesArray; + +/** + 该NSDictionary以各个平台名为key,UMSocialPlatform对象为value + */ +@property (nonatomic, retain) NSDictionary *allSnsPlatformDictionary; + +/** + `UMSocialSnsPlatformManager`的单例方法 + + @return `UMSocialSnsPlatformManager`的单例对象 + */ ++ (UMSocialSnsPlatformManager *)sharedInstance; + + +/** + 根据平台名,返回平台对象 + + @param platformName sns平台名 + + @return UMSocialSnsPlatform 平台对象 + */ ++(UMSocialSnsPlatform *)getSocialPlatformWithName:(NSString *)snsName; + +/** + 根据平台枚举变量,返回平台对象 + + @param UMSocialSnsType sns平台枚举变量 + + @return NSString 平台名 + */ ++ (NSString *)getSnsPlatformString:(UMSocialSnsType)socialSnsType; + +/** + 把配置平台的次序号转换成平台名 + + @param snsIndex 使用的平台顺序,使用的平台配置在UMSocialConfigDelegate,例如`- (NSArray *)shareToPlatforms;`返回的是UMSocialSnsTypeSina和UMSocialSnsTypeTenc,UMSocialSnsTypeSina就是0,UMSocialSnsTypeTenc就是1 + + @return 平台名字符串 + */ ++(NSString *)getSnsPlatformStringFromIndex:(NSInteger)snsIndex; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsService.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsService.h new file mode 100644 index 0000000..d40a0b0 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/Header/UMSocialSnsService.h @@ -0,0 +1,123 @@ +// +// UMSocialSnsService.h +// SocialSDK +// +// Created by Jiahuan Ye on 13-1-8. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + + +#import +#import + +@class UMSocialControllerService; + +/* + 自定义的类似iOS6.0中`UIActivityViewController`样式的列表,每个sns平台由对应图片和名称组成。注意:如果你要此控件支持多方向,需要在自己的UIViewController中屏幕旋转的`didRotateFromInterfaceOrientation`调用`UMSocialIconActionSheet`的`setNeedsDisplay`方法,来重新布局。 + */ +@interface UMSocialIconActionSheet : UIView + + +/** + 将自己自下往上弹出来 + + @param showView 在此父UIView自下往上弹出来的 + */ +-(void)showInView:(UIView *)showView; + +/** + 将自己移除 + + */ +-(void)dismiss; +@end + + +@protocol WXApiDelegate ; +@protocol UMSocialUIDelegate; + +/* + 实现快速分享,类方法传入相应的参数,既可以弹出分享列表。现在提供两种列表样式。 + */ +@interface UMSocialSnsService : NSObject + +/** + 当应用从后台唤起时,应调用此方法,需要完成退出当前登录状态的功能 + + */ ++(void)applicationDidBecomeActive; + +/** + 处理app的URL方法 + 若除了 UMSocial SDK外,还需要处理其他url,可以针对url的前缀作处理,例如下面写法: + + if ([url.description hasPrefix:@"xxxx"]) { + //你的处理逻辑 + } + else { + return [UMSocialSnsService handleOpenURL:url]; + } + + @param url 传入的url + + */ ++(BOOL)handleOpenURL:(NSURL *)url; + +/** + + Deprecated API + + 处理app的URL方法 + + @param url 传入的url + + @return wxApiDelegate 实现微信代理对象 + */ ++(BOOL)handleOpenURL:(NSURL *)url wxApiDelegate:(id)wxApiDelegate; + +///--------------------------------------- +/// @name 快速分享 +///--------------------------------------- + +/** + 弹出一个分享列表的UITableViewController + + @param controller 在该controller弹出分享列表的UIActionSheet + @param appKey 友盟appKey + @param shareText 分享编辑页面的内嵌文字 + @param shareImage 可以传入`UIImage`,或者`NSData`类型,分享内嵌图片,用户可以在编辑页面删除 + @param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等 + @param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil + */ ++(void)presentSnsController:(UIViewController *)controller + appKey:(NSString *)appKey + shareText:(NSString *)shareText + shareImage:(id)shareImage + shareToSnsNames:(NSArray *)snsNames + delegate:(id )delegate; + +/** + 弹出一个分享列表的类似iOS6的UIActivityViewController控件 + + @param controller 在该controller弹出分享列表的UIActionSheet + @param appKey 友盟appKey + @param shareText 分享编辑页面的内嵌文字 + @param shareImage 分享内嵌图片,用户可以在编辑页面删除 + @param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等 + @param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil + */ ++(void)presentSnsIconSheetView:(UIViewController *)controller + appKey:(NSString *)appKey + shareText:(NSString *)shareText + shareImage:(id)shareImage + shareToSnsNames:(NSArray *)snsNames + delegate:(id )delegate; + +/** + 得到单例对象的类方法 + + @return `UMSocialSnsService`的单例对象 + */ ++ (UMSocialSnsService *)sharedInstance; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentDetailController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentDetailController.xib new file mode 100644 index 0000000..2e3a140 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentDetailController.xib @@ -0,0 +1,387 @@ + + + + 1072 + 12E55 + 4488.2 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3715.3 + + + IBMKMapView + IBProxyObject + IBUIImageView + IBUILabel + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + + + 1298 + + {320, 167} + + + + NO + IBCocoaTouchFramework + + + + 1312 + + {{12, 59}, {35, 35}} + + + + NO + IBCocoaTouchFramework + + NSImage + UMSocialSDKResourcesNew.bundle/Buttons/UMS_User-Avatar-Placeholder + + + + + 1298 + + {{86, 210}, {148, 35}} + + + NO + YES + 7 + NO + IBCocoaTouchFramework + 用户未分享地理位置 + + 1 + MC40MTk1OTM3ODczIDAuNDIwNjk2MjY1MyAwLjQzNzUxOTkyOTgAA + + + 3 + MQA + + + 1 + MCAwIDAgMC44AA + + 1 + 10 + 1 + + Helvetica + Helvetica + 0 + 14 + + + Helvetica + 14 + 16 + + NO + + + + 1288 + + {{0, 164}, {320, 252}} + + + + YES + YES + IBCocoaTouchFramework + + + + 1313 + + {{61, 136}, {76, 20}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + 100 months + + 2 + MC43MDk4MDM5Mzg5IDAuNzEzNzI1NTA3MyAwLjcyOTQxMTc4MDgAA + + + + 1 + MCAwIDAgMC4yAA + + 1 + 10 + + Helvetica + Helvetica + 0 + 12 + + + Helvetica + 12 + 16 + + NO + + + + 1284 + + {{61, 8}, {240, 128}} + + + + YES + YES + + + + + IBCocoaTouchFramework + NO + Lorem ipsum dolor sit er elit + + + 2 + IBCocoaTouchFramework-SevenAndLater + + + 1 + 13 + + + HelveticaNeue + 13 + 16 + + + + + {{0, 64}, {320, 416}} + + + + + 1 + MC4yMTU2ODYyNzQ1IDAuMjM5MjE1Njg2MyAwLjI3MDU4ODIzNTMAA + + + + NO + NO + + IBCocoaTouchFramework + + + + NO + + + + commentBackgroundImage + + + + 53 + + + + commentTextView + + + + 61 + + + + mapView + + + + 49 + + + + profileImage + + + + 6 + + + + timeLabel + + + + 47 + + + + view + + + + 45 + + + + delegate + + + + 48 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 1 + + + + + + + + + + + + + 8 + + + + + 4 + + + + + 51 + + + + + 9 + + + + + 46 + + + + + 59 + + + + + + + UMSCommentDetailController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + UMImageView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 0 + IBCocoaTouchFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + UMSocialSDKResourcesNew.bundle/Buttons/UMS_User-Avatar-Placeholder + {16, 16} + + 3715.3 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputController.xib new file mode 100644 index 0000000..27458c3 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputController.xib @@ -0,0 +1,651 @@ + + + + 1072 + 12E55 + 4488.2 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3715.3 + + + IBMKMapView + IBProxyObject + IBUIButton + IBUIImageView + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + + + 1300 + + + + 1298 + + {320, 155} + + + 3 + MQA + + YES + YES + IBCocoaTouchFramework + + + 2 + IBCocoaTouchFramework-SevenAndLater + + + 1 + 14 + + + HelveticaNeue + 14 + 16 + + + + + 1314 + + + + 1298 + + {320, 49} + + NO + IBCocoaTouchFramework + + + + -2147482332 + + {{94, 7}, {30, 30}} + + NO + 4 + 1001 + IBCocoaTouchFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + 3 + MC41AA + + + NSImage + UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off.png + + + 2 + 15 + + + HelveticaNeue-Bold + 15 + 16 + + + + + 1316 + + {{0, 5}, {60, 37}} + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + + -2147482332 + + {{184, 9}, {30, 30}} + + NO + 4 + 1001 + IBCocoaTouchFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + + + -2147482332 + + {{138, 10}, {30, 30}} + + NO + 4 + 1000 + IBCocoaTouchFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off.png + + + + + + + -2147482332 + + {{232, 9}, {30, 30}} + + NO + 4 + 1002 + IBCocoaTouchFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off.png + + + + + + + -2147482332 + + {{278, 9}, {30, 30}} + + NO + 4 + 1003 + IBCocoaTouchFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off.png + + + + + + + {{0, 150}, {320, 50}} + + + 3 + MQA + + 2 + + + IBCocoaTouchFramework + + + + {320, 200} + + + YES + IBCocoaTouchFramework + + + + 1292 + + + + 1292 + + {{7, 47}, {306, 158}} + + YES + YES + IBCocoaTouchFramework + NO + NO + + + + 1316 + + {{227, 5}, {73, 31}} + + NO + IBCocoaTouchFramework + 0 + 0 + + + 取消定位 + + + 2 + 13 + + + HelveticaNeue-Bold + 13 + 16 + + + + + {{0, 190}, {320, 220}} + + IBCocoaTouchFramework + + + + {{0, 64}, {320, 416}} + + + + NO + NO + + IBCocoaTouchFramework + + + + NO + + + + closeLocationButton + + + + 23 + + + + commentTextView + + + + 21 + + + + downView + + + + 20 + + + + mapView + + + + 52 + + + + shareToDoubanButton + + + + 38 + + + + shareToQzoneButton + + + + 51 + + + + shareToRenrenButton + + + + 37 + + + + shareToSinaButton + + + + 36 + + + + shareToTencentButton + + + + 35 + + + + showLocationButton + + + + 27 + + + + toolView + + + + 30 + + + + toolViewImageView + + + + 54 + + + + upView + + + + 43 + + + + view + + + + 9 + + + + delegate + + + + 53 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 1 + + + + + + + + + 4 + + + + + + + UpView + + + 3 + + + + + 6 + + + + + + + + + + + + + + 19 + + + + + 49 + + + + + 26 + + + + + 31 + + + + + 32 + + + + + 33 + + + + + 34 + + + + + 18 + + + + + + + DownView + + + 14 + + + + + 15 + + + + + + + UMSCommentEditController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 0 + IBCocoaTouchFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + {16, 16} + {16, 16} + {16, 16} + {16, 16} + + 3715.3 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputControlleriPad.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputControlleriPad.xib new file mode 100644 index 0000000..bbcc350 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSCommentInputControlleriPad.xib @@ -0,0 +1,582 @@ + + + + 1072 + 13A603 + 4514 + 1265 + 695.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3747 + + + IBMKMapView + IBProxyObject + IBUIButton + IBUIImageView + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 1306 + + + + 1314 + + {533, 221} + + + 1 + MSAxIDEAA + + YES + YES + IBIPadFramework + NO + + + 2 + IBIPadFramework-SevenAndLater + + + 1 + 14 + + + HelveticaNeue + 14 + 16 + + + + + 1314 + + + + 1306 + + {533, 44} + + NO + IBIPadFramework + + + + 1316 + + {{40, 0}, {36, 33}} + + NO + IBIPadFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MQA + + + 3 + MC41AA + + + 2 + 15 + + + HelveticaNeue-Bold + 15 + 16 + + + + + -2147482332 + + {{275, 7}, {30, 30}} + + NO + 4 + 1001 + IBIPadFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMS_tencent_off.png + + + + + + + -2147482332 + + {{331, 7}, {30, 30}} + + NO + 4 + 1000 + IBIPadFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMS_sina_off.png + + + + + + + -2147482332 + + {{384, 7}, {30, 30}} + + NO + 4 + 1001 + IBIPadFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + + + -2147482332 + + {{439, 7}, {30, 30}} + + NO + 4 + 1002 + IBIPadFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMS_renren_off.png + + + + + + + -2147482332 + + {{493, 7}, {30, 30}} + + NO + 4 + 1003 + IBIPadFramework + 0 + 0 + 10 + 0.0 + 10 + 0.0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMS_douban_off.png + + + + + + + -2147482334 + + {{35, 80}, {460, 250}} + + YES + YES + IBIPadFramework + + + + 1316 + + {{439, 45}, {73, 27}} + + NO + IBIPadFramework + 0 + 0 + + + 取消定位 + + + 2 + 13 + + + HelveticaNeue-Bold + 13 + 16 + + + + + {{0, 220}, {533, 44}} + + + YES + + + + IBIPadFramework + + + + {533, 260} + + 3 + MQA + + 2 + + + IBIPadFramework + + + + NO + + + + closeLocationButton + + + + 1352 + + + + commentTextView + + + + 183 + + + + mapView + + + + 1157 + + + + shareToDoubanButton + + + + 765 + + + + shareToQzoneButton + + + + 761 + + + + shareToRenrenButton + + + + 764 + + + + shareToSinaButton + + + + 762 + + + + shareToTencentButton + + + + 763 + + + + showLocationButton + + + + 801 + + + + toolView + + + + 857 + + + + toolViewImageView + + + + 1383 + + + + view + + + + 191 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 87 + + + + + + + + + 88 + + + + + 802 + + + + + + + + + + + + + + + + 1299 + + + + + 705 + + + + + 706 + + + + + 708 + + + + + 709 + + + + + 707 + + + + + 710 + + + + + 1142 + + + + + 1341 + + + + + + + UMSCommentEditController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 0 + IBIPadFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + {39, 39} + {39, 39} + {39, 39} + {39, 39} + + 3747 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSLoginViewController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSLoginViewController.xib new file mode 100644 index 0000000..297560f --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSLoginViewController.xib @@ -0,0 +1,165 @@ + + + + 1072 + 12E55 + 4488.2 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3715.3 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + {{0, 44}, {320, 436}} + + + + 3 + MQA + + YES + + NO + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5-inch Full Screen + 0 + + IBCocoaTouchFramework + YES + 0 + YES + 44 + 22 + 22 + + + + NO + + + + view + + + + 9 + + + + dataSource + + + + 10 + + + + delegate + + + + 11 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 8 + + + + + + + UMSLoginViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 0 + IBCocoaTouchFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + 3715.3 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSShareListController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSShareListController.xib new file mode 100644 index 0000000..44ffbfa --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSShareListController.xib @@ -0,0 +1,145 @@ + + + + 1072 + 12E55 + 4488.2 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3715.3 + + + IBProxyObject + IBUITableView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + {{0, 64}, {320, 416}} + + 3 + MQA + + NO + YES + NO + + + NO + NO + + IBCocoaTouchFramework + NO + 0 + YES + 44 + 22 + 22 + + + + NO + + + + view + + + + 5 + + + + dataSource + + + + 6 + + + + delegate + + + + 7 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + + + UMSShareListController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + 0 + IBCocoaTouchFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + 3715.3 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewController.xib new file mode 100644 index 0000000..f6073ed --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewController.xib @@ -0,0 +1,694 @@ + + + + 1072 + 13A603 + 4514 + 1265 + 695.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 3746 + + + IBProxyObject + IBUIButton + IBUIImageView + IBUILabel + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + + + 1342 + + {320, 153} + + + + + 1 + MSAxIDEAA + + YES + YES + IBCocoaTouchFramework + + + 2 + IBCocoaTouchFramework-SevenAndLater + + + 1 + 14 + + + HelveticaNeue + 14 + 16 + + + + + 1324 + + + + 1316 + + {320, 50} + + + + + 2 + MC45MzMzMzMzOTY5IDAuOTMzMzMzMzk2OSAwLjkzMzMzMzM5NjkAA + + IBCocoaTouchFramework + + + + 1316 + + {{110, 3}, {55, 37}} + + + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MQA + + + 3 + MC41AA + + + 2 + 15 + + + HelveticaNeue-Bold + 15 + 16 + + + + + 1316 + + {{271, 10}, {42, 21}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + Label + + 3 + MC4zMzMzMzMzMzMzAA + + + 0 + 10 + + 1 + 17 + + + HelveticaNeue + 17 + 16 + + + + + 1316 + + {{160, 5}, {58, 35}} + + + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + + 1297 + + {{225, 7}, {38, 35}} + + + + NO + IBCocoaTouchFramework + + + + 1313 + + {{255, 1}, {18, 18}} + + + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal + + + + + + + -2147482332 + {{35, 14}, {60, 20}} + + + + _NS:9 + {251, 251} + NO + YES + 7 + NO + IBCocoaTouchFramework + + + 1 + MCAwIDAAA + darkTextColor + + + 0 + + 1 + 8 + + + HelveticaNeue + 8 + 16 + + NO + + + + -2147482332 + {{5, 10}, {30, 30}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + + + + + {{0, 155}, {320, 44}} + + + + + 3 + MQA + + 2 + + + IBCocoaTouchFramework + + + + 1324 + + {{0, 205}, {320, 211}} + + + + IBCocoaTouchFramework + + + + 1316 + + {{0, 208}, {320, 181}} + + + + + 3 + MCAwAA + + IBCocoaTouchFramework + + + + {{0, 64}, {320, 416}} + + + + + 3 + MQA + + + + + NO + NO + + IBCocoaTouchFramework + + + + NO + + + + _deleteImageButton + + + + 35 + + + + _shareImageButton + + + + 33 + + + + atButton + + + + 21 + + + + changeAccountBackgroundView + + + + 27 + + + + changeAccountButton + + + + 23 + + + + changeAccountView + + + + 26 + + + + countLabel + + + + 13 + + + + textView + + + + 14 + + + + toolBarView + + + + 17 + + + + toolViewBackgroundImage + + + + 18 + + + + view + + + + 16 + + + + followLabel + + + + 60r-GO-noj + + + + followButton + + + + kJT-ao-FBF + + + + addFollow: + + + 7 + + wJu-xn-ETn + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 1 + + + + + + + + + + + 4 + + + + + 10 + + + + + + + + + + + + + + + 9 + + + + + 19 + + + + + 8 + + + + + 22 + + + + + 32 + + + + + 34 + + + + + 24 + + + + + 25 + + + + + AaX-8t-GAq + + + + + 3WK-gL-xa0 + + + + + + + UMShareEditViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + UMShareEditViewController + UIViewController + + id + id + + + + addFollow: + id + + + showFriendList + id + + + + UIButton + UIImageView + UIButton + UIImageView + UIButton + UIView + UILabel + UIButton + UILabel + UITextView + UIView + UIImageView + + + + _deleteImageButton + UIButton + + + _shareImageButton + UIImageView + + + atButton + UIButton + + + changeAccountBackgroundView + UIImageView + + + changeAccountButton + UIButton + + + changeAccountView + UIView + + + countLabel + UILabel + + + followButton + UIButton + + + followLabel + UILabel + + + textView + UITextView + + + toolBarView + UIView + + + toolViewBackgroundImage + UIImageView + + + + IBProjectSource + ./Classes/UMShareEditViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal + {16, 16} + + 3746 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewControlleriPad.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewControlleriPad.xib new file mode 100644 index 0000000..255f357 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMShareEditViewControlleriPad.xib @@ -0,0 +1,730 @@ + + + + 1072 + 14A389 + 6245 + 1343.14 + 755.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 6238 + + + IBProxyObject + IBUIButton + IBUIImageView + IBUILabel + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 1314 + + + + 1314 + + {535, 236} + + + + + 1 + MSAxIDEAA + + YES + YES + IBIPadFramework + NO + Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. + + 2 + IBIPadFramework-SevenAndLater + + + 1 + 14 + + + HelveticaNeue + 14 + 16 + + + + + 1318 + + + + 1314 + + {550, 47} + + + + + 2 + MC45MzMzMzMzOTY5IDAuOTMzMzMzMzk2OSAwLjkzMzMzMzM5NjkAA + + NO + IBIPadFramework + + + + 1316 + + {{13, 5}, {55, 37}} + + + + NO + IBIPadFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MQA + + + 3 + MC41AA + + + NSImage + UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at.png + + + 2 + 15 + + + HelveticaNeue-Bold + 15 + 16 + + + + + 1316 + + {{471, 13}, {42, 21}} + + + + NO + YES + 7 + NO + IBIPadFramework + Label + + 3 + MC42NjY2NjY2NjY3AA + + + 0 + 10 + + 1 + 17 + + + HelveticaNeue + 17 + 16 + + YES + + + + 1316 + + {{76, 6}, {65, 36}} + + + + NO + IBIPadFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + + 1313 + + {{421, 5}, {37, 37}} + + + + NO + IBIPadFramework + + + + 1313 + + {{448, 1}, {18, 18}} + + + + NO + IBIPadFramework + 0 + 0 + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + NSImage + UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal + + + + + + + {{0, 244}, {550, 47}} + + + + + 3 + MQA + + 2 + + + IBIPadFramework + + + + 1302 + + {{0, 289}, {550, 217}} + + + + IBIPadFramework + + + + 1316 + + {{112, 289}, {309, 135}} + + + + 3 + MCAwAA + + IBIPadFramework + + + + {540, 506} + + + + + 3 + MQA + + + + IBUISimulatedFreeformSizeMetricsSentinel + Freeform + + IBIPadFramework + + + + NO + + + + _deleteImageButton + + + + 511 + + + + _shareImageButton + + + + 510 + + + + atButton + + + + 224 + + + + changeAccountBackgroundView + + + + 506 + + + + changeAccountButton + + + + 503 + + + + changeAccountView + + + + 507 + + + + countLabel + + + + 226 + + + + textView + + + + 236 + + + + toolBarView + + + + 223 + + + + toolViewBackgroundImage + + + + 328 + + + + view + + + + 316 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 202 + + + + + + + + + + + 227 + + + + + 203 + + + + + + + + + + + + + 207 + + + + + 205 + + + + + 206 + + + + + 502 + + + + + 508 + + + + + 509 + + + + + 504 + + + + + 505 + + + + + + + UMShareEditViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + {229, 216} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + + + UMShareEditViewController + UIViewController + + id + id + + + + addFollow: + id + + + showFriendList + id + + + + UIButton + UIImageView + UIButton + UIImageView + UIButton + UIView + UILabel + UIButton + UILabel + UITextView + UIView + UIImageView + + + + _deleteImageButton + UIButton + + + _shareImageButton + UIImageView + + + atButton + UIButton + + + changeAccountBackgroundView + UIImageView + + + changeAccountButton + UIButton + + + changeAccountView + UIView + + + countLabel + UILabel + + + followButton + UIButton + + + followLabel + UILabel + + + textView + UITextView + + + toolBarView + UIView + + + toolViewBackgroundImage + UIImageView + + + + IBProjectSource + ../SocialSDK/UI/UMShareEditViewController.h + + + + UMShareEditViewController + + id + id + + + + addFollow: + id + + + showFriendList + id + + + + IBProjectSource + ../SocialSDK/UI/UMShareEditViewController.m + + + + + + UIButton + UIControl + + IBFrameworkSource + UIKit.framework/Headers/UIButton.h + + + + UIControl + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIControl.h + + + + UIGestureRecognizer + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIGestureRecognizer.h + + + + UIImageView + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIImageView.h + + + + UILabel + UIView + + IBFrameworkSource + UIKit.framework/Headers/UILabel.h + + + + UIResponder + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIScrollView + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIScrollView.h + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UITextView + UIScrollView + + IBFrameworkSource + UIKit.framework/Headers/UITextView.h + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + + 0 + IBIPadFramework + YES + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + {16, 16} + {16, 16} + + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSnsAccountViewController.xib b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSnsAccountViewController.xib new file mode 100644 index 0000000..8ea0004 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/SocialSDKXib/UMSnsAccountViewController.xib @@ -0,0 +1,1023 @@ + + + + 1072 + 12E55 + 3084 + 1187.39 + 626.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 2083 + + + IBProxyObject + IBUIButton + IBUIImageView + IBUILabel + IBUITableView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 1298 + + + + 1316 + + + + 1316 + + {{20, 0}, {68, 21}} + + + + + 3 + MCAwAA + + NO + YES + 7 + NO + IBCocoaTouchFramework + 登录账号 + + 2 + MC4zMzMzMzMzNDMzIDAuMzMzMzMzMzQzMyAwLjMzMzMzMzM0MzMAA + + + + 1 + MCAwIDAAA + darkTextColor + + {0, 0} + 0 + 10 + + 1 + 15 + + + Helvetica + 15 + 16 + + + + + 1316 + + {{112, 22}, {90, 89}} + + + + NO + IBCocoaTouchFramework + + + + 1316 + + {{83, 117}, {149, 21}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + + + 2 + MC4zMzMzMzMzNDMzIDAuMzMzMzMzMzQzMyAwLjMzMzMzMzM0MzMAA + + + 0 + 10 + 1 + + + + + + 1316 + + {{62, 133}, {197, 31}} + + + + NO + YES + 7 + IBCocoaTouchFramework + + + 2 + MC4zMzMzMzMzNDMzIDAuMzMzMzMzMzQzMyAwLjMzMzMzMzM0MzMAA + + + 0 + 10 + 2 + 1 + + 1 + 12 + + + Helvetica + 12 + 16 + + 197 + + + + 1316 + + {{112, 141}, {90, 30}} + + + + NO + IBCocoaTouchFramework + 0 + 0 + + 3 + MQA + + + 3 + MC41AA + + + + + + + {320, 177} + + + + + IBCocoaTouchFramework + + + + 1295 + + + + 1290 + + {{0, 20}, {320, 241}} + + + + + YES + IBCocoaTouchFramework + NO + NO + NO + NO + 1 + + 2 + MC45MzMzMzMzOTY5IDAuOTMzMzMzMzk2OSAwLjkzMzMzMzM5NjkAA + + 0 + NO + 44 + 22 + 22 + + + + 1332 + + {{20, 0}, {320, 20}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + 分享设置 + + 2 + MC40ODIzNTI5NzIgMC40ODIzNTI5NzIgMC40ODIzNTI5NzIAA + + + + {0, 0} + 0 + 10 + + + + + + {{0, 179}, {320, 237}} + + + + + 2 + MC45MzMzMzMzOTY5IDAuOTMzMzMzMzk2OSAwLjkzMzMzMzM5NjkAA + + IBCocoaTouchFramework + + + + {{0, 64}, {320, 416}} + + + + + 3 + MQA + + 2 + + + + + NO + + + IBUISimulatedFreeformSizeMetricsSentinel + Freeform + + IBCocoaTouchFramework + + + + 1298 + + + + 1320 + + + + 1316 + + {{20, 20}, {100, 21}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + 分享设置 + + 2 + MC42Mjc0NTEwMDI2IDAuNjI3NDUxMDAyNiAwLjYyNzQ1MTAwMjYAA + + + + {0, 0} + 0 + 10 + + 1 + 17 + + + Helvetica + 17 + 16 + + + + + 1298 + + {{0, 49}, {295, 272}} + + + + + YES + IBCocoaTouchFramework + NO + NO + NO + NO + + 3 + MC4zMzMzMzMzMzMzAA + + 0 + NO + 44 + 22 + 22 + + + + {{184, 0}, {384, 300}} + + + + + 2 + MC45MzMzMzMzOTY5IDAuOTMzMzMzMzk2OSAwLjkzMzMzMzM5NjkAA + + IBCocoaTouchFramework + + + + 1320 + + + + 1316 + + {{23, 29}, {68, 21}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + 登录账号 + + 2 + MC42Mjc0NTEwMDI2IDAuNjI3NDUxMDAyNiAwLjYyNzQ1MTAwMjYAA + + + + {0, 0} + 0 + 10 + + + + + + 1316 + + {{52, 84}, {90, 89}} + + + + NO + IBCocoaTouchFramework + + + + 1316 + + {{25, 190}, {145, 21}} + + + + NO + YES + 7 + NO + IBCocoaTouchFramework + + + 2 + MC42Mjc0NTEwMDI2IDAuNjI3NDUxMDAyNiAwLjYyNzQ1MTAwMjYAA + + + 0 + 10 + 1 + + + + + + 1316 + + {{23, 230}, {152, 50}} + + + + NO + YES + 7 + IBCocoaTouchFramework + + + 2 + MC42Mjc0NTEwMDI2IDAuNjI3NDUxMDAyNiAwLjYyNzQ1MTAwMjYAA + + + 0 + 10 + 2 + + 1 + 13 + + + Helvetica + 13 + 16 + + 152 + + + + 1316 + + {{52, 218}, {90, 30}} + + + + NO + IBCocoaTouchFramework + 0 + 0 + + + + + + + + {180, 300} + + + + + IBCocoaTouchFramework + + + + {{0, 64}, {480, 300}} + + + + + + + NO + + + 3 + 3 + + + IBCocoaTouchFramework + + + + NO + + + + _landsCandscapeView + + + + 42 + + + + _loginButton + + + + AzY-H8-fDD + + + + _loginButtonLand + + + + 6Fv-KR-o55 + + + + _loginTextLabel + + + + 62 + + + + _loginTextLabelLand + + + + 63 + + + + _loginView + + + + 58 + + + + _loginViewLand + + + + 59 + + + + _nickNameLabel + + + + 46 + + + + _nickNameLabelLand + + + + 50 + + + + _profileImageView + + + + 48 + + + + _profileImageViewLand + + + + 49 + + + + _snsTableLable + + + + 60 + + + + _snsTableLableLand + + + + 61 + + + + _snsTableView + + + + 5 + + + + _snsTableViewLand + + + + 53 + + + + _snsURLLabel + + + + 20 + + + + _snsURLLabelLand + + + + 51 + + + + view + + + + 41 + + + + dataSource + + + + 56 + + + + delegate + + + + 57 + + + + dataSource + + + + 54 + + + + delegate + + + + 55 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 1 + + + + + + + + + 14 + + + + + + + + + + + + 8 + + + + + 6 + + + + + 17 + + + + + 8v1-7D-GU9 + + + + + 18 + + + + + 64 + + + + + + + + + 4 + + + + + 12 + + + + + 30 + + + + + + + + + 65 + + + + + + + + + 33 + + + + + 31 + + + + + 32 + + + + + + + + + + + + 37 + + + + + 36 + + + + + 35 + + + + + 34 + + + + + RjH-Tf-mDI + + + + + + + UMSnsAccountViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + + + + + + UMSnsAccountViewController + UIViewController + + UIView + UIButton + UIButton + UILabel + UILabel + UIView + UIView + UILabel + UILabel + UIView + UIImageView + UIImageView + UILabel + UILabel + UITableView + UITableView + UILabel + UILabel + + + + _landsCandscapeView + UIView + + + _loginButton + UIButton + + + _loginButtonLand + UIButton + + + _loginTextLabel + UILabel + + + _loginTextLabelLand + UILabel + + + _loginView + UIView + + + _loginViewLand + UIView + + + _nickNameLabel + UILabel + + + _nickNameLabelLand + UILabel + + + _portraitView + UIView + + + _profileImageView + UIImageView + + + _profileImageViewLand + UIImageView + + + _snsTableLable + UILabel + + + _snsTableLableLand + UILabel + + + _snsTableView + UITableView + + + _snsTableViewLand + UITableView + + + _snsURLLabel + UILabel + + + _snsURLLabelLand + UILabel + + + + IBProjectSource + ./Classes/UMSnsAccountViewController.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + 2083 + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check.png new file mode 100644 index 0000000..038044b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check@2x.png new file mode 100644 index 0000000..b389d6c Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_Check@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location.png new file mode 100644 index 0000000..2d90656 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location@2x.png new file mode 100644 index 0000000..f370169 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_No_Location@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User-Avatar-Placeholder@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User-Avatar-Placeholder@2x.png new file mode 100644 index 0000000..39f0af9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User-Avatar-Placeholder@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User_profile_default@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User_profile_default@2x.png new file mode 100644 index 0000000..1a92a8b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_User_profile_default@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_account_login@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_account_login@2x.png new file mode 100644 index 0000000..f3e7327 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_account_login@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off.png new file mode 100644 index 0000000..33e06d1 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off@2x.png new file mode 100644 index 0000000..cc32791 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on.png new file mode 100644 index 0000000..2dac4ca Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on@2x.png new file mode 100644 index 0000000..acb7ba7 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_add_friend_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_input@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_input@2x.png new file mode 100644 index 0000000..7d71119 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_input@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell.png new file mode 100644 index 0000000..e5287b3 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell_white@2x.png new file mode 100644 index 0000000..40325d5 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_comment_view_cell_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal.png new file mode 100644 index 0000000..af80a6f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal@2x.png new file mode 100644 index 0000000..2f2c9fc Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_delete_image_button_normal@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_find@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_find@2x.png new file mode 100644 index 0000000..2f0b96d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_find@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_off@2x.png new file mode 100644 index 0000000..e41fc24 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_on@2x.png new file mode 100644 index 0000000..adb3015 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_follow_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_bar_bg_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_bar_bg_white@2x.png new file mode 100644 index 0000000..4e23963 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_bar_bg_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back.png new file mode 100644 index 0000000..8813b26 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back@2x.png new file mode 100644 index 0000000..e5245a6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_back@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close.png new file mode 100644 index 0000000..ced1742 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close@2x.png new file mode 100644 index 0000000..96a89e5 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_close@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh.png new file mode 100644 index 0000000..fa3479d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh@2x.png new file mode 100644 index 0000000..af6f7e8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_refresh@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send.png new file mode 100644 index 0000000..0f989c0 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send@2x.png new file mode 100644 index 0000000..02c673e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_nav_button_send@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off.png new file mode 100644 index 0000000..4645042 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off@2x.png new file mode 100644 index 0000000..9220071 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on.png new file mode 100644 index 0000000..01dc087 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on@2x.png new file mode 100644 index 0000000..65bf393 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_oauth_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map.png new file mode 100644 index 0000000..db7738c Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map@2x.png new file mode 100644 index 0000000..ef70ba6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_map@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off.png new file mode 100644 index 0000000..a1b1ca9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off@2x.png new file mode 100644 index 0000000..e3c7710 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap.png new file mode 100644 index 0000000..4358ecd Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap@2x.png new file mode 100644 index 0000000..f7ed6cb Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_place_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake__share_button@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake__share_button@2x.png new file mode 100644 index 0000000..cd0da6e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake__share_button@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close.png new file mode 100644 index 0000000..d863481 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close@2x.png new file mode 100644 index 0000000..c1a0758 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap.png new file mode 100644 index 0000000..f0bfdb9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap@2x.png new file mode 100644 index 0000000..c79aa59 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_shake_close_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account.png new file mode 100644 index 0000000..d450042 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account@2x.png new file mode 100644 index 0000000..82ce2ae Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_bg@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_bg@2x.png new file mode 100644 index 0000000..1137cf6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_bg@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap.png new file mode 100644 index 0000000..3c63b91 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap@2x.png new file mode 100644 index 0000000..4aef727 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_account_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account@2x.png new file mode 100644 index 0000000..dbd52e2 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account_tap@2x.png new file mode 100644 index 0000000..224c09a Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_change_to_account_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_oauth@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_oauth@2x.png new file mode 100644 index 0000000..fa1a57b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_share_oauth@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at.png new file mode 100644 index 0000000..692db98 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at@2x.png new file mode 100644 index 0000000..e2eee43 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel.png new file mode 100644 index 0000000..2172965 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel@2x.png new file mode 100644 index 0000000..838ebf9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_atSel@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at_tap.png new file mode 100644 index 0000000..2172965 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_at_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg.png new file mode 100644 index 0000000..060e041 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg@2x.png new file mode 100644 index 0000000..0576d93 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_umeng_share_toolbarBg@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image.png new file mode 100644 index 0000000..09ef645 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image@2x.png new file mode 100644 index 0000000..09ef645 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_image@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music.png new file mode 100644 index 0000000..ad07270 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music@2x.png new file mode 100644 index 0000000..ad07270 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_music@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video.png new file mode 100644 index 0000000..c4087d6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video@2x.png new file mode 100644 index 0000000..c4087d6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Buttons/UMS_url_video@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow.png new file mode 100644 index 0000000..6d2ffbc Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow@2x.png new file mode 100644 index 0000000..ec4ec0e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blackArrow@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow.png new file mode 100644 index 0000000..d6240d4 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow@2x.png new file mode 100644 index 0000000..a6a7e55 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/blueArrow@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow.png new file mode 100644 index 0000000..d69e9d9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow@2x.png new file mode 100644 index 0000000..9d42357 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/grayArrow@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow.png new file mode 100644 index 0000000..4bf5690 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow@2x.png new file mode 100644 index 0000000..7056974 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/EGO/whiteArrow@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_actionsheet_panel@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_actionsheet_panel@2x.png new file mode 100644 index 0000000..1420428 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_actionsheet_panel@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal.png new file mode 100644 index 0000000..28889fc Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal@2x.png new file mode 100644 index 0000000..5faa236 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_normal@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap.png new file mode 100644 index 0000000..57dc855 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap@2x.png new file mode 100644 index 0000000..eda6d35 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_back_button_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black.png new file mode 100644 index 0000000..4c94fa6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black@2x.png new file mode 100644 index 0000000..949f5ad Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_bar_bg_black@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal.png new file mode 100644 index 0000000..8ef8f1b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal@2x.png new file mode 100644 index 0000000..39703c8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_normal@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap.png new file mode 100644 index 0000000..3027c06 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap@2x.png new file mode 100644 index 0000000..7c139f9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/OtherTheme/UMS_nav_button_tap@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon.png new file mode 100644 index 0000000..2f3355f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon@2x.png new file mode 100644 index 0000000..75aebea Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off.png new file mode 100644 index 0000000..0af4735 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off@2x.png new file mode 100644 index 0000000..6ceaa39 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on.png new file mode 100644 index 0000000..226ac82 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on@2x.png new file mode 100644 index 0000000..0b4febf Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_douban_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon.png new file mode 100644 index 0000000..bbeda67 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon@2x.png new file mode 100644 index 0000000..48e759c Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off.png new file mode 100644 index 0000000..3ee857a Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off@2x.png new file mode 100644 index 0000000..7891395 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_on@2x.png new file mode 100644 index 0000000..bbeda67 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_email_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon.png new file mode 100644 index 0000000..7ca623b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon@2x.png new file mode 100644 index 0000000..7d7b4dc Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off.png new file mode 100644 index 0000000..9d802de Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off@2x.png new file mode 100644 index 0000000..ba4f845 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on.png new file mode 100644 index 0000000..8ccf814 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on@2x.png new file mode 100644 index 0000000..8c076a7 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_facebook_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram.png new file mode 100644 index 0000000..0a3cb64 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram@2x.png new file mode 100644 index 0000000..652f660 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_instagram@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_session@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_session@2x.png new file mode 100644 index 0000000..adc7b69 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_session@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_timeline@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_timeline@2x.png new file mode 100644 index 0000000..e182245 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_laiwang_timeline@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_line_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_line_icon@2x.png new file mode 100644 index 0000000..ad14e13 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_line_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon.png new file mode 100644 index 0000000..6f50c58 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon@2x.png new file mode 100644 index 0000000..8f8e912 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off.png new file mode 100644 index 0000000..f8152da Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off@2x.png new file mode 100644 index 0000000..212aa1e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on.png new file mode 100644 index 0000000..b8a65d9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on@2x.png new file mode 100644 index 0000000..fc7290f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qq_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon.png new file mode 100644 index 0000000..4df7015 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon@2x.png new file mode 100644 index 0000000..c8d87c6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off.png new file mode 100644 index 0000000..387e4b3 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off@2x.png new file mode 100644 index 0000000..25ad620 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on.png new file mode 100644 index 0000000..82d5e1e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on@2x.png new file mode 100644 index 0000000..0de258d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_qzone_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon.png new file mode 100644 index 0000000..026ef37 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon@2x.png new file mode 100644 index 0000000..e8f3b96 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off.png new file mode 100644 index 0000000..b849921 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off@2x.png new file mode 100644 index 0000000..cf42b6f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on.png new file mode 100644 index 0000000..0daab87 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on@2x.png new file mode 100644 index 0000000..3a5b650 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_renren_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon.png new file mode 100644 index 0000000..6a71c5a Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon@2x.png new file mode 100644 index 0000000..37f4563 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off.png new file mode 100644 index 0000000..42dd24f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off@2x.png new file mode 100644 index 0000000..1bbef53 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on.png new file mode 100644 index 0000000..5db7d1f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on@2x.png new file mode 100644 index 0000000..278d320 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sina_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon.png new file mode 100644 index 0000000..d9445fe Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon@2x.png new file mode 100644 index 0000000..5424090 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off.png new file mode 100644 index 0000000..29220f7 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off@2x.png new file mode 100644 index 0000000..5611eb8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_on@2x.png new file mode 100644 index 0000000..5424090 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_sms_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon.png new file mode 100644 index 0000000..e34433e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon@2x.png new file mode 100644 index 0000000..e844269 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off.png new file mode 100644 index 0000000..62e1e7d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off@2x.png new file mode 100644 index 0000000..9e45118 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on.png new file mode 100644 index 0000000..4c928b3 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on@2x.png new file mode 100644 index 0000000..a7ad17e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tencent_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tumblr_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tumblr_icon@2x.png new file mode 100644 index 0000000..0e3e2d2 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_tumblr_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon.png new file mode 100644 index 0000000..35a2a16 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon@2x.png new file mode 100644 index 0000000..70484f5 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off.png new file mode 100644 index 0000000..46e9264 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off@2x.png new file mode 100644 index 0000000..bd69527 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on.png new file mode 100644 index 0000000..fa489cf Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on@2x.png new file mode 100644 index 0000000..77b8ecb Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_twitter_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon.png new file mode 100644 index 0000000..463d1b2 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon@2x.png new file mode 100644 index 0000000..d312697 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_favorite_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon.png new file mode 100644 index 0000000..7bc2f54 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon@2x.png new file mode 100644 index 0000000..72d6e00 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off.png new file mode 100644 index 0000000..62703f7 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off@2x.png new file mode 100644 index 0000000..24851eb Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_on@2x.png new file mode 100644 index 0000000..5311c13 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon.png new file mode 100644 index 0000000..7bc2f54 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon@2x.png new file mode 100644 index 0000000..72d6e00 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_session_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon.png new file mode 100644 index 0000000..b19a0c7 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon@2x.png new file mode 100644 index 0000000..da94344 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off.png new file mode 100644 index 0000000..773b26a Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off@2x.png new file mode 100644 index 0000000..9483f8f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_off@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on.png new file mode 100644 index 0000000..3e3477d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on@2x.png new file mode 100644 index 0000000..0fadb93 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_wechat_timeline_on@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_whatsapp_icon@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_whatsapp_icon@2x.png new file mode 100644 index 0000000..ee505d6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_whatsapp_icon@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_session@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_session@2x.png new file mode 100644 index 0000000..7c9e1f9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_session@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_timeline@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_timeline@2x.png new file mode 100644 index 0000000..b73c54b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SnsPlatform/UMS_yixin_timeline@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white.png new file mode 100644 index 0000000..2e5ad01 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white@2x.png new file mode 100644 index 0000000..8da774e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_normal_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white.png new file mode 100644 index 0000000..ec59f13 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white@2x.png new file mode 100644 index 0000000..c83dec3 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_account_tap_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white.png new file mode 100644 index 0000000..2a5c7b8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white@2x.png new file mode 100644 index 0000000..c3613f2 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_normal_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white.png new file mode 100644 index 0000000..cbce33b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white@2x.png new file mode 100644 index 0000000..2984162 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_comment_tap_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white.png new file mode 100644 index 0000000..71a292c Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white@2x.png new file mode 100644 index 0000000..7493db1 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_off_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white.png new file mode 100644 index 0000000..8f6773f Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white@2x.png new file mode 100644 index 0000000..b9cbc0a Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_like_on_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white.png new file mode 100644 index 0000000..f988b04 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white@2x.png new file mode 100644 index 0000000..1fa0c0d Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_normal_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white.png new file mode 100644 index 0000000..42f51ca Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white@2x.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white@2x.png new file mode 100644 index 0000000..e48f6d9 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/SocialSDKBar/UMS_share_tap_white@2x.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Sound/shake_sound.mp3 b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Sound/shake_sound.mp3 new file mode 100644 index 0000000..e9b30e8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/UMSocialSDKResourcesNew.bundle/Sound/shake_sound.mp3 differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/en.lproj/UMSocialLocalizable.strings b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/en.lproj/UMSocialLocalizable.strings new file mode 100644 index 0000000..0961c7e --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/en.lproj/UMSocialLocalizable.strings @@ -0,0 +1,133 @@ +/* + Localizable.strings + SocialSDK + + Created by yeahugo on 13-6-17. + Copyright (c) 2013年 Umeng. All rights reserved. +*/ +"button_cancel" = "Cancel"; +"button_ok" = "OK"; +"button_start" = "Start"; + +"button_close" = "Close"; +"button_back" = "Back"; +"button_refresh" = "Refresh"; + +"label_request_account" = "Getting account data, please wait……"; + +"oauth_title" = "Authorization"; +"oauth_text" = "Connecting to authorization web, please wait……"; +"oauth_follow" = "Follow official micro-blog"; +"mask_text" = "please wait……"; + +"oauth_error_title" = "authorise failed"; +"oauth_error_message" = "authorise failed, you can try again later"; +"oauth_error_not_approved" = "authorise failed, for your app haven't approved or you haven't add your weibo uid to test accounts"; + +"shareQQ_error" = "Error"; +"shareQQ_notInstall" = "Mobile QQ havn't be installed in your device"; +"shareQQ_openFail" = "Open Mobile QQ fail"; +"shareInstagram_openFail" = "Open Instagram fail"; +"shareClient_notInstall" = "Client not installed in your device"; + +"shareList_title" = "Share To"; +"shareEdit_title" = "Share To "; +"shareEdit_post" = "Post"; +"shareEdit_change_account" = "Change Account"; +"shareEdit_post_finish" = "Post Finished"; +"shareEdit_post_fail" = "Post Failed"; +"shareEdit_posting" = "Posting"; +"shareEdit_delete_picture" = "Delete Picture"; +"shareEdit_delete_video" = "Delete Video"; +"shareEdit_delete_music" = "Delete Music"; +"shareEdit_error_not_empty" = "Post content can not be empty"; +"shareEdit_error_too_long" = "Post content's length too long"; +"shareEdit_error_auth_expired" = "Post failed, for authorization expired"; +"shareEdit_error_auth_again" = "authorize again"; +"shareEdit_error_text_repeated" = "Text repeated"; +"shareEdit_error_user_baned" = "Sorry, you have been banned"; +"shareEdit_error_fail" = "Share fail"; +"shareEdit_error_no_auth" = "Share fail, for no upload picture authority"; +"shareEdit_error_empty_content" = "Share fail, for the content is empty"; +"shareEdit_addFollow" = "Follow weibo"; +"shareEdit_C" = "符"; +"shareEdit_used" = "常"; + +"shareShake_button" = "Share"; + +"share_wechat" = "Share to Wechat"; +"share_wechat_friend" = "Share to Wechat Friend"; +"share_wechat_moments" = "Share to Wechat Moments"; +"share_wechat_no_title" = "No Wechat"; +"share_wechat_no_message" = "Wechat haven't been install in your device"; +"share_facebook_not_login" = "No login Account"; +"share_facebook_not_login_message" = "Your account haven't login"; +"share_facebook_no_osSupport" = "iOS doesn't support"; +"share_facebook_no_osSupport_message" = "The version of your iOS device doesn't support share the that media"; + +"share_sms_no_osSupport" = "No SMS"; +"share_sms_no_osSupport_message" = "The device doesn't support SMS"; + +"share_email_no_osSupport" = "No email"; +"share_email_no_osSupport_message" = "Your email service have been turned off, please turn it on before you share your email"; + +"login_title" = "Login"; +"login_as_tourists" = "Login as tourists"; +"login_choose" = "choose your available account"; + +"commentList_title" = "Comment List"; +"commentList_mask_text" = "Requesting comments, please wait……"; +"commentList_comment_here" = "Comment here"; + +"commentDetail_title" = "Detail"; + +"commentEdit_no_location" = "No Location"; +"commentEdit_post_fail" = "Post comment fail"; +"commentEdit_post_success" = "Post comment success"; +"commentEdit_noLocation_title" = "Location service have been turned off"; +"commentEdit_noLocation_message" = "Your device's location service have been turned off, please turn on it before you share your location"; +"commentEdit_title" = "New Comment"; +"commentEdit_wait" = "Please wait"; + +"ego_pull_down" = "Pull down, refresh"; +"ego_refresh" = "Loose to refresh"; +"ego_load_more" = "Loose to load more"; +"ego_pull_up" = "Pull up, load more"; +"ego_refreshing" = "Refreshing"; +"ego_loading_more" = "Loading more"; + +"loading" = "Loading"; + +"shareEdit_error_network_fail_message" = "Network Error"; + +"network_fail_title" = "Network Error"; +"network_fail_message" = "The network state of your device is not available."; + +"account_title" = "User Center"; +"account_title_authorize_status" = "authorize status"; +"account_label_login_tourist" = "login as tourist"; +"account_label_login_account" = "login account"; +"account_lable_not_auth" = "not authorized"; +"account_lable_have_auth" = "authorized"; +"account_title_sns_config" = "sns accounts"; + +"sina" = "Sina"; +"tencent" = "Tencent"; +"renren" = "Renren"; +"qzone" = "Qzone"; +"qq_account" = "QQ Account"; +"douban" = "Douban"; +"wechat" = "Wechat"; +"email" = "Email"; +"sms" = "SMS"; +"wechat_session" = "Wechat"; +"wechat_timeline" = "Moments"; +"wechat_favorite" = "Wechat Favorite"; +"facebook" = "Facebook"; +"twitter" = "Twitter"; +"mobile_qq" = "QQ"; +"yx_session" = "YiXin"; +"yx_timeline" = "YX Moments"; +"lw_session" = "LaiWang"; +"lw_timeline" = "LW News"; +"instagram" = "Instagram"; \ No newline at end of file diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/libUMSocial_Sdk_4.2.3.a b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/libUMSocial_Sdk_4.2.3.a new file mode 100644 index 0000000..76001f4 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/libUMSocial_Sdk_4.2.3.a differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/zh-Hans.lproj/UMSocialLocalizable.strings b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/zh-Hans.lproj/UMSocialLocalizable.strings new file mode 100644 index 0000000..a368169 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_4.2.3/zh-Hans.lproj/UMSocialLocalizable.strings @@ -0,0 +1,131 @@ +/* + Localizable.strings + SocialSDK + + Created by yeahugo on 13-6-17. + Copyright (c) 2013年 Umeng. All rights reserved. +*/ +"button_cancel" = "取消"; +"button_ok" = "确定"; +"button_start" = "开启"; + +"button_close" = "关闭"; +"button_back" = "返回"; +"button_refresh" = "刷新"; + +"label_request_account" = "正在获取账户信息,请稍等..."; + +"oauth_title" = "授权"; +"oauth_text" = "正在连接授权页面,请稍等..."; +"mask_text" = "正在获取数据,请稍等..."; +"oauth_follow" = "关注官方微博"; + +"oauth_error_title" = "授权失败"; +"oauth_error_message" = "服务器繁忙,授权失败,请稍后再试"; +"oauth_error_not_approved" = "由于没有在开放平台添加此账号作为测试账号或者没有通过审核等原因授权失败"; + +"shareQQ_error" = "抱歉"; +"shareQQ_notInstall" = "没有安装手机QQ客户端"; +"shareQQ_openFail" = "打开手机QQ失败"; +"shareClient_notInstall" = "没有安装客户端"; +"shareInstagram_openFail" = "没有安装Instagram客户端"; + +"shareList_title" = "分享至"; +"shareEdit_title" = "分享至"; +"shareEdit_post" = "发布"; +"shareEdit_change_account" = "切换账号"; +"shareEdit_post_finish" = "发送成功"; +"shareEdit_post_fail" = "发送失败"; +"shareEdit_posting" = "正在发送"; +"shareEdit_delete_picture" = "删除图片"; +"shareEdit_delete_video" = "删除视频"; +"shareEdit_delete_music" = "删除音乐"; +"shareEdit_error_not_empty" = "分享内容不能为空"; +"shareEdit_error_too_long" = "分享内容长度超出限制"; +"shareEdit_error_auth_expired" = "授权过期,分享失败"; +"shareEdit_error_auth_again" = "重新授权"; +"shareEdit_error_text_repeated" = "内容重复,分享失败"; +"shareEdit_error_user_baned" = "对不起,因为违反了用户协议您已被禁言"; +"shareEdit_error_fail" = "分享失败"; +"shareEdit_error_no_auth" = "无上传图片的权限,分享失败"; +"shareEdit_error_empty_content" = "分享内容为空,分享失败"; +"shareEdit_addFollow" = "关注官方微博"; +"shareEdit_C" = "符"; +"shareEdit_used" = "常"; +"shareShake_button" = "分享"; + +"share_wechat" = "分享至微信"; +"share_wechat_friend" = "分享至微信好友"; +"share_wechat_moments" = "分享至微信朋友圈"; +"share_wechat_no_title" = "温馨提示"; +"share_wechat_no_message" = "您的设备没有安装微信"; +"share_facebook_not_login" = "账号未登录"; +"share_facebook_not_login_message" = "账号未登录"; +"share_facebook_no_osSupport" = "系统不支持"; +"share_facebook_no_osSupport_message" = "您的iOS系统版本过低,不支持分享到该平台"; + +"share_sms_no_osSupport" = "不支持短信"; +"share_sms_no_osSupport_message" = "您的设备不支持短信功能"; + +"share_email_no_osSupport" = "邮件功能未开启"; +"share_email_no_osSupport_message" = "您当前的邮件服务处于未启用状态,请先前往系统设置中配置邮件服务后,再进行分享"; + +"login_title" = "登录"; +"login_as_tourists" = "游客身份"; +"login_choose" = "选择已有账号登录"; + +"commentList_title" = "评论列表"; +"commentList_mask_text" = "正在获取评论数据,请稍等..."; +"commentList_comment_here" = "在这说点什么..."; + +"commentDetail_title" = "评论详情"; + +"commentEdit_no_location" = "取消定位"; +"commentEdit_post_fail" = "评论失败"; +"commentEdit_post_success" = "评论成功"; +"commentEdit_noLocation_title" = "定位服务未开启"; +"commentEdit_noLocation_message" = "您当前的定位服务处于关闭状态,或者没有对此应用开启地理位置服务,请先前往系统设置中开启本应用的定位服务,再进行分享"; +"commentEdit_title" = "新评论"; +"commentEdit_wait" = "评论发送中,请稍等..."; + +"ego_pull_down" = "下拉刷新"; +"ego_pull_up" = "上拉加载更多"; +"ego_refreshing" = "正在刷新"; +"ego_loading_more" = "正在加载更多"; +"ego_refresh" = "松开立即刷新"; +"ego_loadmore" = "松开立即加载更多"; +"shareEdit_error_network_fail_message" = "网络不给力,发送失败了"; + +"loading" = " 加载中 "; + +"network_fail_title" = "温馨提示"; +"network_fail_message" = "当前网络不给力"; + +"account_title" = "个人中心"; +"account_title_authorize_status" = "授权信息"; +"account_label_login_tourist" = "游客登录"; +"account_label_login_account" = "登录账号"; +"account_lable_not_auth" = "尚未授权"; +"account_lable_have_auth" = "已授权"; +"account_title_sns_config" = "分享设置"; + +"sina" = "微博"; +"tencent" = "腾讯微博"; +"renren" = "人人网"; +"qzone" = "QQ空间"; +"qq_account" = "QQ 账号"; +"douban" = "豆瓣"; +"wechat" = "微信"; +"email" = "邮箱"; +"sms" = "短信"; +"wechat_session" = "微信好友"; +"wechat_timeline" = "朋友圈"; +"wechat_favorite" = "微信收藏"; +"facebook" = "Facebook"; +"twitter" = "Twitter"; +"mobile_qq" = "QQ"; +"yx_session" = "易信"; +"yx_timeline" = "易信朋友圈"; +"lw_session" = "来往"; +"lw_timeline" = "来往动态"; +"instagram" = "Instagram"; diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/UMSocialSinaHandler.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/UMSocialSinaHandler.h new file mode 100644 index 0000000..f8d2369 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/UMSocialSinaHandler.h @@ -0,0 +1,15 @@ +// +// UMSocialSinaHandler.h +// SocialSDK +// +// Created by yeahugo on 14-6-11. +// Copyright (c) 2014年 Umeng. All rights reserved. +// + +#import + +@interface UMSocialSinaHandler : NSObject + ++(void)openSSOWithRedirectURL:(NSString *)redirectURL; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/libSocialSina.a b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/libSocialSina.a new file mode 100644 index 0000000..54f8ed6 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Sina/libSocialSina.a differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h new file mode 100644 index 0000000..436e235 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h @@ -0,0 +1,108 @@ +/// +/// \file QQApiInterface.h +/// \brief QQApi接口简化封装 +/// +/// Created by Tencent on 12-5-15. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import "QQApiInterfaceObject.h" + +/** + \brief 处理来至QQ的请求及响应的回调协议 + */ +@protocol QQApiInterfaceDelegate + +/** + 处理来至QQ的请求 + */ +- (void)onReq:(QQBaseReq *)req; + +/** + 处理来至QQ的响应 + */ +- (void)onResp:(QQBaseResp *)resp; + +/** + 处理QQ在线状态的回调 + */ +- (void)isOnlineResponse:(NSDictionary *)response; + +@end + +/** + \brief 对QQApi的简单封装类 + */ +@interface QQApiInterface : NSObject + +/** + 处理由手Q唤起的跳转请求 + \param url 待处理的url跳转请求 + \param delegate 第三方应用用于处理来至QQ请求及响应的委托对象 + \return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败 + */ ++ (BOOL)handleOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + 向手Q发起分享请求 + \param req 分享内容的请求 + \return 请求发送结果码 + */ ++ (QQApiSendResultCode)sendReq:(QQBaseReq *)req; + +/** + 向手Q QZone结合版发起分享请求 + \note H5分享只支持单张网络图片的传递 + \param req 分享内容的请求 + \return 请求发送结果码 + */ ++ (QQApiSendResultCode)SendReqToQZone:(QQBaseReq *)req; + +/** + 向手Q 群部落发起分享请求 + \note H5分享只支持单张网络图片的传递 + \param req 分享内容的请求 + \return 请求发送结果码 + */ ++ (QQApiSendResultCode)SendReqToQQGroupTribe:(QQBaseReq *)req; + +/** + 向手Q发送应答消息 + \param resp 应答消息 + \return 应答发送结果码 + */ ++ (QQApiSendResultCode)sendResp:(QQBaseResp *)resp; + +/** + 检测是否已安装QQ + \return 如果QQ已安装则返回YES,否则返回NO + */ ++ (BOOL)isQQInstalled; + +/** + 批量检测QQ号码是否在线 + */ ++ (void)getQQUinOnlineStatues:(NSArray *)QQUins delegate:(id)delegate; + +/** + 检测QQ是否支持API调用 + \return 如果当前安装QQ版本支持API调用则返回YES,否则返回NO + */ ++ (BOOL)isQQSupportApi; + +/** + 启动QQ + \return 成功返回YES,否则返回NO + */ ++ (BOOL)openQQ; + +/** + 获取QQ下载地址 + + 如果App通过QQApiInterface#isQQInstalledQQApiInterface#isQQSupportApi检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。 + \return iPhoneQQ下载地址 + */ ++ (NSString *)getQQInstallUrl; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h new file mode 100644 index 0000000..7352145 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h @@ -0,0 +1,560 @@ +/// +/// \file QQApiInterfaceObject.h +/// \brief QQApiInterface所依赖的请求及应答消息对象封装帮助类 +/// +/// Created by Tencent on 12-5-15. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#ifndef QQApiInterface_QQAPIOBJECT_h +#define QQApiInterface_QQAPIOBJECT_h + +#import + + +typedef enum +{ + EQQAPISENDSUCESS = 0, + EQQAPIQQNOTINSTALLED = 1, + EQQAPIQQNOTSUPPORTAPI = 2, + EQQAPIMESSAGETYPEINVALID = 3, + EQQAPIMESSAGECONTENTNULL = 4, + EQQAPIMESSAGECONTENTINVALID = 5, + EQQAPIAPPNOTREGISTED = 6, + EQQAPIAPPSHAREASYNC = 7, + EQQAPIQQNOTSUPPORTAPI_WITH_ERRORSHOW = 8, + EQQAPISENDFAILD = -1, + //qzone分享不支持text类型分享 + EQQAPIQZONENOTSUPPORTTEXT = 10000, + //qzone分享不支持image类型分享 + EQQAPIQZONENOTSUPPORTIMAGE = 10001, +} QQApiSendResultCode; + +#pragma mark - QQApiObject(分享对象类型) + +// QQApiObject control flags +enum +{ + kQQAPICtrlFlagQZoneShareOnStart = 0x01, + kQQAPICtrlFlagQZoneShareForbid = 0x02, + kQQAPICtrlFlagQQShare = 0x04, + kQQAPICtrlFlagQQShareFavorites = 0x08, //收藏 + kQQAPICtrlFlagQQShareDataline = 0x10, //数据线 +}; + +// QQApiObject +/** \brief 所有在QQ及插件间发送的数据对象的根类。 + */ +@interface QQApiObject : NSObject +@property(nonatomic,retain) NSString* title; ///< 标题,最长128个字符 +@property(nonatomic,retain) NSString* description; ///<简要描述,最长512个字符 + +@property (nonatomic, assign) uint64_t cflag; + +@end + +// QQApiResultObject +/** \brief 用于请求回应的数据类型。 +

可能错误码及描述如下:

+ + + + + + + + +
errorerrorDescription注释
0nil成功
-1param error参数错误
-2group code is invalid该群不在自己的群列表里面
-3upload photo failed上传图片失败
-4user give up the current operation用户放弃当前操作
-5client internal error客户端内部处理错误
+ */ +@interface QQApiResultObject : QQApiObject +@property(nonatomic,retain) NSString* error; ///<错误 +@property(nonatomic,retain) NSString* errorDescription; ///<错误描述 +@property(nonatomic,retain) NSString* extendInfo; ///<扩展信息 +@end + +// QQApiTextObject +/** \brief 文本对象 + */ +@interface QQApiTextObject : QQApiObject +@property(nonatomic,retain)NSString* text; ///<文本内容,必填,最长1536个字符 + +-(id)initWithText:(NSString*)text; ///<初始化方法 ++(id)objectWithText:(NSString*)text;///<工厂方法,获取一个QQApiTextObject对象. +@end + +// QQApiURLObject +typedef enum QQApiURLTargetType{ + QQApiURLTargetTypeNotSpecified = 0x00, + QQApiURLTargetTypeAudio = 0x01, + QQApiURLTargetTypeVideo = 0x02, + QQApiURLTargetTypeNews = 0x03 +}QQApiURLTargetType; + +/** @brief URL对象类型。 + + 包括URL地址,URL地址所指向的目标类型及预览图像。 + */ +@interface QQApiURLObject : QQApiObject +/** + URL地址所指向的目标类型. + @note 参见QQApi.h 中的 QQApiURLTargetType 定义. + */ +@property(nonatomic)QQApiURLTargetType targetContentType; + +@property(nonatomic,retain)NSURL* url; ///QQApiExtendObject对象 + @param data 数据内容 + @param previewImageData 用于预览的图片 + @param title 标题 + @param description 此对象,分享的描述 + @return + 一个自动释放的QQApiExtendObject实例 + */ ++ (id)objectWithData:(NSData*)data previewImageData:(NSData*)previewImageData title:(NSString*)title description:(NSString*)description; + +/** + helper方法获取一个autorelease的QQApiExtendObject对象 + @param data 数据内容 + @param previewImageData 用于预览的图片 + @param title 标题 + @param description 此对象,分享的描述 + @param imageDataArray 发送的多张图片队列 + @return + 一个自动释放的QQApiExtendObject实例 + */ ++ (id)objectWithData:(NSData*)data previewImageData:(NSData*)previewImageData title:(NSString*)title description:(NSString*)description imageDataArray:(NSArray*)imageDataArray; + +@end + +// QQApiImageObject +/** @brief 图片对象 + 用于分享图片内容的对象,是一个指定为图片类型的QQApiExtendObject + */ +@interface QQApiImageObject : QQApiExtendObject +@end + +// QQApiWebImageObject +/** @brief 图片对象 + 用于分享网络图片内容的对象,是一个指定网络图片url的: 该类型只在2.9.0的h5分享中才支持, + 原有的手q分享是不支持该类型的。 + */ +@interface QQApiWebImageObject : QQApiObject + +@property(nonatomic, retain) NSURL *previewImageURL; ///<预览图像URL + +/** + 初始化方法 + @param previewImageURL 用于预览的图片 + @param title 标题 + @param description 此对象,分享的描述 + */ +- (id)initWithPreviewImageURL:(NSURL*)previewImageURL title:(NSString*)title description:(NSString*)description; + +/** + helper方法获取一个autorelease的QQApiWebImageObject对象 + @param previewImageURL 用于预览的图片 + @param title 标题 + @param description 此对象,分享的描述 + */ ++ (id)objectWithPreviewImageURL:(NSURL*)previewImageURL title:(NSString*)title description:(NSString*)description; + +@end + +// QQApiGroupTribeImageObject +/** @brief 群部落图片对象 + 用于分享图片内容的对象,是一个指定为图片类型的 可以指定一些其他的附加数据QQApiExtendObject + */ +@interface QQApiGroupTribeImageObject : QQApiImageObject +{ + NSString *_bid; + NSString *_bname; +} +// 群部落id +@property (nonatomic, retain)NSString* bid; + +// 群部落名称 +@property (nonatomic, retain)NSString* bname; + +@end + + +//QQApiFileObject +/** @brief 本地文件对象(暂只支持分享到手机QQ数据线功能) + 用于分享文件内容的对象,是一个指定为文件类型的QQApiExtendObject + */ +@interface QQApiFileObject : QQApiExtendObject +{ + NSString* _fileName; +} +@property(nonatomic, retain)NSString* fileName; +@end + +// QQApiAudioObject +/** @brief 音频URL对象 + 用于分享目标内容为音频的URL的对象 + */ +@interface QQApiAudioObject : QQApiURLObject + +@property (nonatomic, retain) NSURL *flashURL; ///<音频URL地址,最长512个字符 + +/** + 获取一个autorelease的QQApiAudioObject + @param url 音频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiAudioObject + @param url 音频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiVideoObject +/** @brief 视频URL对象 + 用于分享目标内容为视频的URL的对象 + + QQApiVideoObject类型的分享,目前在Android和PC QQ上接收消息时,展现有待完善,待手机QQ版本以后更新支持 + 目前如果要分享视频,推荐使用 QQApiNewsObject 类型 + */ +@interface QQApiVideoObject : QQApiURLObject + +@property (nonatomic, retain) NSURL *flashURL; ///<视频URL地址,最长512个字符 + +/** + 获取一个autorelease的QQApiVideoObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiVideoObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiNewsObject +/** @brief 新闻URL对象 + 用于分享目标内容为新闻的URL的对象 + */ +@interface QQApiNewsObject : QQApiURLObject +/** + 获取一个autorelease的QQApiNewsObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiNewsObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiPayObject +/** \brief 支付对象 + */ +@interface QQApiPayObject : QQApiObject +@property(nonatomic,retain)NSString* OrderNo; ///<支付订单号,必填 +@property(nonatomic,retain)NSString* AppInfo; ///<支付来源信息,必填 + +-(id)initWithOrderNo:(NSString*)OrderNo AppInfo:(NSString*)AppInfo; ///<初始化方法 ++(id)objectWithOrderNo:(NSString*)OrderNo AppInfo:(NSString*)AppInfo;///<工厂方法,获取一个QQApiPayObject对象. +@end + +// QQApiCommonContentObject; +/** @brief 通用模板类型对象 + 用于分享一个固定显示模板的图文混排对象 + @note 图片列表和文本列表不能同时为空 + */ +@interface QQApiCommonContentObject : QQApiObject +/** + 预定义的界面布局类型 + */ +@property(nonatomic,assign) unsigned int layoutType; +@property(nonatomic,assign) NSData* previewImageData;///<预览图 +@property(nonatomic,retain) NSArray* textArray;///<文本列表 +@property(nonatomic,retain) NSArray* pictureDataArray;///<图片列表 ++(id)objectWithLayoutType:(int)layoutType textArray:(NSArray*)textArray pictureArray:(NSArray*)pictureArray previewImageData:(NSData*)data; +/** + 将一个NSDictionary对象转化为QQApiCommomContentObject,如果无法转换,则返回空 + */ ++(id)objectWithDictionary:(NSDictionary*)dic; +-(NSDictionary*)toDictionary; +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Ad item object definition +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** @brief 广告数据对象 + */ +@interface QQApiAdItem : NSObject +@property(nonatomic,retain) NSString* title; ///<名称 +@property(nonatomic,retain) NSString* description;///<描述 +@property(nonatomic,retain) NSData* imageData;///<广告图片 +@property(nonatomic,retain) NSURL* target;///<广告目标链接 +@end + +// QQApiWPAObject +/** \brief 发起WPA对象 + */ +@interface QQApiWPAObject : QQApiObject +@property(nonatomic,retain)NSString* uin; ///<想要对话的QQ号 + +-(id)initWithUin:(NSString*)uin; ///<初始化方法 ++(id)objectWithUin:(NSString*)uin;///<工厂方法,获取一个QQApiWPAObject对象. +@end + +// QQApiAddFriendObject +/** \brief 添加好友 + */ +@interface QQApiAddFriendObject : QQApiObject +@property (nonatomic,retain)NSString* openID; +@property (nonatomic,retain)NSString* subID; +@property (nonatomic,retain)NSString* remark; + +-(id)initWithOpenID:(NSString*)openID; ///<初始化方法 ++(id)objecWithOpenID:(NSString*)openID; ///<工厂方法,获取一个QQApiAddFriendObject对象. + +@end + +// QQApiGameConsortiumBindingGroupObject +/** \brief 游戏公会绑定群 + */ +@interface QQApiGameConsortiumBindingGroupObject : QQApiObject +@property (nonatomic,retain)NSString* signature; +@property (nonatomic,retain)NSString* unionid; +@property (nonatomic,retain)NSString* zoneID; +@property (nonatomic,retain)NSString* appDisplayName; + +-(id)initWithGameConsortium:(NSString*)signature unionid:(NSString*)unionid zoneID:(NSString*)zoneID appDisplayName:(NSString*)appDisplayName; ///<初始化方法 ++(id)objectWithGameConsortium:(NSString*)signature unionid:(NSString*)unionid zoneID:(NSString*)zoneID appDisplayName:(NSString*)appDisplayName; ///<工厂方法,获取一个QQApiAddFriendObject对象. + +@end + +// QQApiGroupChatObject +/** \brief 发起群会话对象 + */ +@interface QQApiGroupChatObject : QQApiObject +@property(nonatomic,retain)NSString* groupID; ///<想要对话的群号 + +-(id)initWithGroup:(NSString*)groupID; ///<初始化方法 ++(id)objectWithGroup:(NSString*)groupID;///<工厂方法,获取一个QQApiGroupChatObject对象. +@end + +#pragma mark - QQApi请求消息类型 + +/** + QQApi请求消息类型 + */ +enum QQApiInterfaceReqType +{ + EGETMESSAGEFROMQQREQTYPE = 0, ///< 手Q -> 第三方应用,请求第三方应用向手Q发送消息 + ESENDMESSAGETOQQREQTYPE = 1, ///< 第三方应用 -> 手Q,第三方应用向手Q分享消息 + ESHOWMESSAGEFROMQQREQTYPE = 2 ///< 手Q -> 第三方应用,请求第三方应用展现消息中的数据 +}; + +/** + QQApi应答消息类型 + */ +enum QQApiInterfaceRespType +{ + ESHOWMESSAGEFROMQQRESPTYPE = 0, ///< 第三方应用 -> 手Q,第三方应用应答消息展现结果 + EGETMESSAGEFROMQQRESPTYPE = 1, ///< 第三方应用 -> 手Q,第三方应用回应发往手Q的消息 + ESENDMESSAGETOQQRESPTYPE = 2 ///< 手Q -> 第三方应用,手Q应答处理分享消息的结果 +}; + +/** + QQApi请求消息基类 + */ +@interface QQBaseReq : NSObject + +/** 请求消息类型,参见\ref QQApiInterfaceReqType */ +@property (nonatomic, assign) int type; + +@end + +/** + QQApi应答消息基类 + */ +@interface QQBaseResp : NSObject + +/** 请求处理结果 */ +@property (nonatomic, copy) NSString* result; + +/** 具体错误描述信息 */ +@property (nonatomic, copy) NSString* errorDescription; + +/** 应答消息类型,参见\ref QQApiInterfaceRespType */ +@property (nonatomic, assign) int type; + +/** 扩展信息 */ +@property (nonatomic, assign) NSString* extendInfo; + +@end + +/** + GetMessageFromQQReq请求帮助类 + */ +@interface GetMessageFromQQReq : QQBaseReq + +/** + 创建一个GetMessageFromQQReq请求实例 + */ ++ (GetMessageFromQQReq *)req; + +@end + +/** + GetMessageFromQQResp应答帮助类 + */ +@interface GetMessageFromQQResp : QQBaseResp + +/** + 创建一个GetMessageFromQQResp应答实例 + \param message 具体分享消息实例 + \return 新创建的GetMessageFromQQResp应答实例 + */ ++ (GetMessageFromQQResp *)respWithContent:(QQApiObject *)message; + +/** 具体分享消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + SendMessageToQQReq请求帮助类 + */ +@interface SendMessageToQQReq : QQBaseReq + +/** + 创建一个SendMessageToQQReq请求实例 + \param message 具体分享消息实例 + \return 新创建的SendMessageToQQReq请求实例 + */ ++ (SendMessageToQQReq *)reqWithContent:(QQApiObject *)message; + +/** 具体分享消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + SendMessageToQQResp应答帮助类 + */ +@interface SendMessageToQQResp : QQBaseResp + +/** + 创建一个SendMessageToQQResp应答实例 + \param result 请求处理结果 + \param errDesp 具体错误描述信息 + \param extendInfo 扩展信息 + \return 新创建的SendMessageToQQResp应答实例 + */ ++ (SendMessageToQQResp *)respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString*)extendInfo; + +@end + +/** + ShowMessageFromQQReq请求帮助类 + */ +@interface ShowMessageFromQQReq : QQBaseReq + +/** + 创建一个ShowMessageFromQQReq请求实例 + \param message 具体待展现消息实例 + \return 新创建的ShowMessageFromQQReq请求实例 + */ ++ (ShowMessageFromQQReq *)reqWithContent:(QQApiObject *)message; + +/** 具体待展现消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + ShowMessageFromQQResp应答帮助类 + */ +@interface ShowMessageFromQQResp : QQBaseResp + +/** + 创建一个ShowMessageFromQQResp应答实例 + \param result 展现消息结果 + \param errDesp 具体错误描述信息 + \return 新创建的ShowMessageFromQQResp应答实例 + */ ++ (ShowMessageFromQQResp *)respWithResult:(NSString *)result errorDescription:(NSString *)errDesp; + +@end + +#endif diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h new file mode 100644 index 0000000..40f007e --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h @@ -0,0 +1,103 @@ +// +// TencentMessage.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-5-29. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#ifndef QQ_OPEN_SDK_LITE + +#import +#import "TencentMessageObject.h" + +typedef enum +{ + kIphoneQQ, + kIphoneQZONE, + kThirdApp, +} +TecnentPlatformType; + +typedef enum +{ + kTencentApiSuccess, + kTencentApiPlatformUninstall, + kTencentApiPlatformNotSupport, + kTencentApiParamsError, + kTencentApiFail, +} +TencentApiRetCode; + +@class TencentApiReq; +@class TencentApiResp; + +/** + * \brief TencentApiInterface的回调 + * + * TencentApiInterface的回调接口 + * \note v1.0版本只支持腾讯业务拉起第三方请求内容 + */ +@protocol TencentApiInterfaceDelegate + +@optional +/** + * 请求获得内容 当前版本只支持第三方相应腾讯业务请求 + */ +- (BOOL)onTencentReq:(TencentApiReq *)req; + +/** + * 响应请求答复 当前版本只支持腾讯业务相应第三方的请求答复 + */ +- (BOOL)onTencentResp:(TencentApiResp *)resp; + +@end + +/** + * \brief TencentApiInterface的回调 + * + * TencentApiInterface的调用接口 + * \note v1.0版本只支持第三方答复内容 + */ +@interface TencentApiInterface : NSObject + +/** + * 发送答复返回腾讯业务 + * \param resp 答复内容 + * \return 返回码 + */ ++ (TencentApiRetCode)sendRespMessageToTencentApp:(TencentApiResp *)resp; + +/** + * 是否可以处理拉起协议 + * \param url + * \param delegate 指定的回调 + * \return 是否是腾讯API认识的消息类型 + */ ++ (BOOL)canOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + * 处理应用拉起协议 + * \param url + * \param delegate 指定的回调 + * \return 是否是腾讯API认识的消息类型 + */ ++ (BOOL)handleOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + * 用户设备是否安装腾讯APP + * \param platform 指定的腾讯业务 + * \return YES:安装 NO:未安装 + */ ++ (BOOL)isTencentAppInstall:(TecnentPlatformType)platform; + +/** + * 用户设备是否支持调用SDK + * \param platform 指定的腾讯业务 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)isTencentAppSupportTencentApi:(TecnentPlatformType)platform; + +@end + +#endif diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h new file mode 100644 index 0000000..de514f7 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h @@ -0,0 +1,412 @@ +// +// TencentMessageObject.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-5-27. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#ifndef QQ_OPEN_SDK_LITE + +#import +#import +#import "sdkdef.h" + +#define kTextLimit (1024 * 1024) +#define kDataLimit (1024 * 1024 * 10) +#define kPreviewDataLimit (1024 * 1024) + +@class TencentApiReq; +@class TencentApiResp; + +/** + * 必填的NSArray型参数 + */ +typedef NSArray *TCRequiredArray; + +/** + * 必填的NSDictionary型参数 + */ +typedef NSDictionary *TCRequiredDictionary; + +/** + * 必填的TencentApiReq型参数 + */ +typedef TencentApiReq *TCRequiredReq; + +/** + * 可选的UIImage类型参数 + */ +typedef NSData *TCOptionalData; + + +/** + * 可选的NSArray型参数 + */ +typedef NSArray *TCOptionalArray; + +/** + * 可选的TencentApiReq型参数 + */ +typedef TencentApiReq *TCOptionalReq; + +/** + * TencentReqMessageType 请求类型枚举参数 + */ +typedef enum +{ + /** TX APP请求内容填充(需要第三方开发者填充完成内容后需要主动调用sendRespMessageToTencentApp)*/ + ReqFromTencentAppQueryContent, + /** TX APP请求展现内容 (不用调用答复) */ + ReqFromTencentAppShowContent, + /** 第三方 APP 请求内容 */ + ReqFromThirdAppQueryContent, + /** 第三方 APP 请求展现内容(类似分享)*/ + ReqFromThirdAppShowContent, +} +TencentReqMessageType; + +typedef enum +{ + RespFromTencentAppQueryContent, + RespFromTencentAppShowContent, + RespFromThirdAppQueryContent, + RespFromThirdAppShowContent, +} +TencentRespMessageType; + +/** + * TencentObjVersion 腾讯API消息类型枚举 + */ +typedef enum +{ + /** 文本类型 */ + TencentTextObj, + /** 图片类型 */ + TencentImageObj, + /** 音频类型 */ + TencentAudioObj, + /** 视频类型 */ + TencentVideoObj, + /** 图片视频类 */ + TencentImageAndVideoObj, +} +TencentObjVersion; + +/** + * \brief 请求包 + * + * TencentApiReq用来向其他业务发送请求包 + */ +@interface TencentApiReq : NSObject + +/** + * 根据序列号生成一个请求包 + * \param apiSeq 请求序列号 + * \param type 请求类型 + * \return tencentApiReq实例 + */ ++ (TencentApiReq *)reqFromSeq:(NSInteger)apiSeq type:(TencentReqMessageType)type; + +/** 请求类型 */ +@property (readonly, assign)TCRequiredInt nMessageType; + +/** 请求平台 */ +@property (readonly, assign)NSInteger nPlatform; + +/** 请求的SDK版本号 */ +@property (readonly, assign)NSInteger nSdkVersion; + +/** 请求序列号 */ +@property (readonly, assign)TCRequiredInt nSeq; + +/** 第三方的APPID */ +@property (nonatomic, retain)TCRequiredStr sAppID; + +/** 请求内容 TencentBaseMessageObj对象数组 */ +@property (nonatomic, retain)TCOptionalArray arrMessage; + +/** 请求的描述 可以用于告诉对方这个请求的特定场景 */ +@property (nonatomic, retain)TCOptionalStr sDescription; + +@end + +/** + * \brief 答复包 + * + * TencentApiResp用来向其他业务发送答复包 + */ +@interface TencentApiResp : NSObject + +/** + * 根据序列号生成一个答复包 + * \param req 答复对应的请求包(如果req不是TencentApiReq或者他的子类,会抛出异常) + * \return 答复包体 + */ ++ (TencentApiResp *)respFromReq:(TencentApiReq *)req; + +/** 返回码 */ +@property (nonatomic, assign)TCOptionalInt nRetCode; + +/** 返回消息 */ +@property (nonatomic, retain)TCOptionalStr sRetMsg; + +/** 答复对应的请求包 */ +@property (nonatomic, retain)TCOptionalReq objReq; + +@end + +/** + * \brief 消息体 + * + * TencentBaseMessageObj 应用之间传递消息体 + */ +@interface TencentBaseMessageObj : NSObject + +/** 消息类型 */ +@property (nonatomic, assign)NSInteger nVersion; + +/** 消息描述 */ +@property (nonatomic, retain)NSString *sName; + +/** 消息的扩展信息 主要是可以用来进行一些请求消息体的描述 譬如图片要求的width height 文字的关键字什么的, 也可以不用填写*/ +@property (nonatomic, retain)NSDictionary *dictExpandInfo; + +/** + * 消息是否有效 + */ +- (BOOL)isVaild; + +@end + +#pragma mark TencentTextMessage +/** + * \brief 文本的消息体 + * + * TencentTextMessageObjV1 应用之间传递的文本消息体 + */ +@interface TencentTextMessageObjV1 : TencentBaseMessageObj + +/** + * 文本 + * \note 文本长度不能超过4096个字 + */ +@property (nonatomic, retain) NSString *sText; + + +/** + * 初始化文本消息 + * \param text 文本 + * \return 初始化返回的文本消息 + */ +- (id)initWithText:(NSString *)text; + +@end + + +#pragma mark TecentImageMessage + +/** + * TencentApiImageSourceType 图片数据类型(请求方对数据类型可能会有限制) + */ +typedef enum +{ + /** 图片数据是url或二进制数据 */ + AllImage, + /** 图片数据是url */ + UrlImage, + /** 图片数据是二进制数据 */ + DataImage, +}TencentApiImageSourceType; + +/** + * \brief 图片的消息体 + * + * TencentImageMessageObjV1 应用之间传递的图片消息体 + */ +@interface TencentImageMessageObjV1 : TencentBaseMessageObj + +/** + * 图片数据 + * \note 图片不能大于10M + */ +@property (nonatomic, retain) NSData *dataImage; + +/** + * 缩略图的数据 + * \note 图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataThumbImage; + +/** 图片URL */ +@property (nonatomic, retain) NSString *sUrl; + +/** 图片的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** 图片的size */ +@property (nonatomic, assign) CGSize szImage; + +/** + * 图片来源 + * \note TencentApiImageSourceType对应的类型 + */ +@property (readonly, assign) NSInteger nType; + +/** + * 初始化图片消息 + * \param dataImage 图片类型 + * \return 初始化返回的图片消息 + */ +- (id)initWithImageData:(NSData *)dataImage; + +/** + * 初始化图片消息 + * \param url 图片url + * \return 初始化返回的图片消息 + */ +- (id)initWithImageUrl:(NSString *)url; + +/** + * 初始化图片消息 + * \param type 图片类型 + * \return 初始化返回的图片消息 + */ +- (id)initWithType:(TencentApiImageSourceType)type; +@end + + +#pragma mark TencentAudioMessage +/** + * \brief 音频的消息体 + * + * TencentAudioMessageObjV1 应用之间传递的音频消息体 + */ +@interface TencentAudioMessageObjV1 : TencentBaseMessageObj + +/** 音频URL */ +@property (nonatomic, retain) NSString *sUrl; + +/** + * 音频的预览图 + * \note图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataImagePreview; + +/** 音频的预览图URL */ +@property (nonatomic, retain) NSString *sImagePreviewUrl; + +/** 音频的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** + * 初始化图片消息 + * \param url 音频URL + * \return 初始化返回的音频消息 + */ +- (id)initWithAudioUrl:(NSString *)url; + +@end + + +#pragma mark TencentVideoMessage + +/** + * TencentApiVideoSourceType 视频数据类型(请求方对数据类型可能会有限制) + */ + +typedef enum +{ + /** 视频来源于本地或网络 */ + AllVideo, + /** 视频来源于本地 */ + LocalVideo, + /** 视频来源于网络 */ + NetVideo, +}TencentApiVideoSourceType; + +/** + * \brief 视频的消息体 + * + * TencentVideoMessageV1 应用之间传递的视频消息体 + */ +@interface TencentVideoMessageV1 : TencentBaseMessageObj + +/** + * 视频URL + * \note 不能超过1024 + */ +@property (nonatomic, retain) NSString *sUrl; + +/** + * 视频来源 主要是用来让发起方指定视频的来源 + * \note TencentApiVideoSourceType 对应的类型 只读参数 + */ +@property (readonly, assign) NSInteger nType; + +/** + * 视频的预览图 + * \note 图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataImagePreview; + +/** 视频的预览图URL */ +@property (nonatomic, retain) NSString *sImagePreviewUrl; + +/** 视频的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** + * 初始化视频消息 + * \param url 视频URL + * \param type 视频来源类型 + * \return 初始化返回的视频消息 + */ +- (id)initWithVideoUrl:(NSString *)url type:(TencentApiVideoSourceType)type; + + +/** + * 初始化视频消息 + * \param type 视频来源类型 + * \return 初始化返回的视频消息 + */ +- (id)initWithType:(TencentApiVideoSourceType)type; +@end + +#pragma mark TencentImageMessageObj +/** + * \brief 视频图片消息体 + * + * TencentVideoMessageV1 这是一个扩展的类 是一个图片视频类 + * \note 图片视频可以任选一个内容填充 但是注意只能填一个 当有一种类型被填充后 另外一个种类型就无法填充了 + */ +@interface TencentImageAndVideoMessageObjV1 : TencentBaseMessageObj + +/** 图片消息 */ +@property (nonatomic, retain) TencentImageMessageObjV1 *objImageMessage; + +/** 视频消息 */ +@property (nonatomic, retain) TencentVideoMessageV1 *objVideoMessage; + +/** + * 初始化图片消息 + * \param dataImage 图片数据 + * \param url 视频url + * \return 初始化返回的图片视频消息 + */ +- (id)initWithMessage:(NSData *)dataImage videoUrl:(NSString *)url; + +/** + * 设置图片 + * \param dataImage 图片数据 + */ +- (void)setDataImage:(NSData *)dataImage; + +/** + * 设置视频 + * \param videoUrl 视频URL + */ +- (void)setVideoUrl:(NSString *)videoUrl; +@end + +#endif diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h new file mode 100644 index 0000000..6235655 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h @@ -0,0 +1,669 @@ +/// +/// \file TencentOAuth.h +/// \brief QQ互联开放平台授权登录及相关开放接口实现类 +/// +/// Created by Tencent on 12-12-21. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import "sdkdef.h" +#import "TencentOAuthObject.h" + +@protocol TencentSessionDelegate; +@protocol TencentLoginDelegate; +@protocol TencentApiInterfaceDelegate; +@protocol TencentWebViewDelegate; + +@class TencentApiReq; +@class TencentApiResp; + +typedef enum +{ + kTencentNotAuthorizeState, + kTencentSSOAuthorizeState, + kTencentWebviewAuthorzieState, +} TencentAuthorizeState; + +typedef enum +{ + kAuthModeClientSideToken, + kAuthModeServerSideCode, +} TencentAuthMode; + +#pragma mark - TencentOAuth(授权登录及相关开放接口调用) + +/** + * \brief TencentOpenAPI授权登录及相关开放接口调用 + * + * TencentOAuth实现授权登录逻辑以及相关开放接口的请求调用 + */ +@interface TencentOAuth : NSObject +{ + NSMutableDictionary* _apiRequests; + NSString* _accessToken; + NSDate* _expirationDate; + id _sessionDelegate; + NSString* _localAppId; + NSString* _openId; + NSString* _redirectURI; + NSArray* _permissions; +} + +/** Access Token凭证,用于后续访问各开放接口 */ +@property(nonatomic, copy) NSString* accessToken; + +/** Access Token的失效期 */ +@property(nonatomic, copy) NSDate* expirationDate; + +/** 已实现的开放接口的回调委托对象 */ +@property(nonatomic, assign) id sessionDelegate; + +/** 第三方应用在开发过程中设置的URLSchema,用于浏览器登录后后跳到第三方应用 */ +@property(nonatomic, copy) NSString* localAppId; + +/** 用户授权登录后对该用户的唯一标识 */ +@property(nonatomic, copy) NSString* openId; + +/** 用户登录成功过后的跳转页面地址 */ +@property(nonatomic, copy) NSString* redirectURI; + +/** 第三方应用在互联开放平台申请的appID */ +@property(nonatomic, retain) NSString* appId; + +/** 主要是互娱的游戏设置uin */ +@property(nonatomic, retain) NSString* uin; + +/** 主要是互娱的游戏设置鉴定票据 */ +@property(nonatomic, retain) NSString* skey; + +/** 登陆透传的数据 */ +@property(nonatomic, copy) NSDictionary* passData; + +/** 授权方式(Client Side Token或者Server Side Code) */ +@property(nonatomic, assign) TencentAuthMode authMode; + +/** + * 用来获得当前sdk的版本号 + * \return 返回sdk版本号 + **/ + ++ (NSString*)sdkVersion; + +/** + * 用来获得当前sdk的小版本号 + * \return 返回sdk小版本号 + **/ + ++ (NSString*)sdkSubVersion; + +/** + * 用来获得当前sdk的是否精简版 + * \return 返回YES表示精简版 + **/ + ++ (BOOL)isLiteSDK; + +/** + * 主要是用来帮助判断是否有登陆被发起,但是还没有过返回结果 + * \return + * kTencentNotAuthorizeState:无授权 + * kTencentSSOAuthorizeState:有人发起了sso授权但无返回 + * kTencentWebviewAuthorzieState:有人发起了webview授权还未返回 + **/ + ++ (TencentAuthorizeState *)authorizeState; + +/** + * 用来获得当前手机qq的版本号 + * \return 返回手机qq版本号 + **/ ++ (QQVersion)iphoneQQVersion; + +/** + * 初始化TencentOAuth对象 + * \param appId 第三方应用在互联开放平台申请的唯一标识 + * \param delegate 第三方应用用于接收请求返回结果的委托对象 + * \return 初始化后的授权登录对象 + */ +- (id)initWithAppId:(NSString *)appId + andDelegate:(id)delegate; + + +/** + * 判断用户手机上是否安装手机QQ + * \return YES:安装 NO:没安装 + */ ++ (BOOL)iphoneQQInstalled; + +/** + * 判断用户手机上的手机QQ是否支持SSO登录 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)iphoneQQSupportSSOLogin; + +/** + * 判断用户手机上是否安装手机QZone + * \return YES:安装 NO:没安装 + */ ++ (BOOL)iphoneQZoneInstalled; + +/** + * 判断用户手机上的手机QZone是否支持SSO登录 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)iphoneQZoneSupportSSOLogin; + +/** + * 登录授权 + * + * \param permissions 授权信息列 + */ +- (BOOL)authorize:(NSArray *)permissions; + +/** + * 登录授权 + * \param permissions 授权信息列表 + * \param bInSafari 是否使用safari进行登录.IOS SDK 1.3版本开始此参数废除 + */ +- (BOOL)authorize:(NSArray *)permissions + inSafari:(BOOL)bInSafari; + +/** + * 登录授权 + * \param permissions 授权信息列表 + * \param localAppId 应用APPID + * \param bInSafari 是否使用safari进行登录.IOS SDK 1.3版本开始此参数废除 + */ +- (BOOL)authorize:(NSArray *)permissions + localAppId:(NSString *)localAppId + inSafari:(BOOL)bInSafari; + +/** + * 增量授权,因用户没有授予相应接口调用的权限,需要用户确认是否授权 + * \param permissions 需增量授权的信息列表 + * \return 增量授权调用是否成功 + */ +- (BOOL)incrAuthWithPermissions:(NSArray *)permissions; + +/** + * 重新授权,因token废除或失效导致接口调用失败,需用户重新授权 + * \param permissions 授权信息列表,同登录授权 + * \return 授权调用是否成功 + */ +- (BOOL)reauthorizeWithPermissions:(NSArray *)permissions; + +/** + * (静态方法)处理应用拉起协议 + * \param url 处理被其他应用呼起时的逻辑 + * \return 处理结果,YES表示成功,NO表示失败 + */ ++ (BOOL)HandleOpenURL:(NSURL *)url; + +/** + * (静态方法)sdk是否可以处理应用拉起协议 + * \param url 处理被其他应用呼起时的逻辑 + * \return 处理结果,YES表示可以 NO表示不行 + */ ++ (BOOL)CanHandleOpenURL:(NSURL *)url; + +/** + * (静态方法)获取TencentOAuth调用的上一次错误信息 + */ ++ (NSString *)getLastErrorMsg; + +/** + * 以Server Side Code模式授权登录时,通过此接口获取返回的code值; + * 以Client Side Token模式授权登录时,忽略此接口。 + */ +- (NSString *)getServerSideCode; + +/** + * 退出登录(退出登录后,TecentOAuth失效,需要重新初始化) + * \param delegate 第三方应用用于接收请求返回结果的委托对象 + */ +- (void)logout:(id)delegate; + +/** + * 判断登录态是否有效 + * \return 处理结果,YES表示有效,NO表示无效,请用户重新登录授权 + */ +- (BOOL)isSessionValid; + +/** + * 获取用户个人信息 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getUserInfo; + +/** + * SDK内置webview实现定向分享时,第三方应用可以根据应用是否在白名单里来开启该配置开关,默认为关闭; + * 在白名单里的应用调用该接口后,即打开sdk内置webview的二级白名单开关(相对与sdk后台的白名单), + * 那么在sdk后台白名单校验请求失败的情况下,会继续先尝试采用内置webview进行分享。 + */ +- (void)openSDKWebViewQQShareEnable; + + +/** + * 获取用户QZone相册列表 + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getListAlbum; + +/** + * 获取用户QZone相片列表 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCListPhotoDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getListPhotoWithParams:(NSMutableDictionary *)params; + + +/** + * 分享到QZone + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddShareDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addShareWithParams:(NSMutableDictionary *)params; + + +/** + * 上传照片到QZone指定相册 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCUploadPicDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)uploadPicWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone相册中创建一个新的相册 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddAlbumDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addAlbumWithParams:(NSMutableDictionary *)params; + +/** + * 检查是否是QZone某个用户的粉丝 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCCheckPageFansDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)checkPageFansWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone中发表一篇日志 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddOneBlogDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addOneBlogWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone中发表一条说说 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddTopicDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addTopicWithParams:(NSMutableDictionary *)params; + +/** + * 设置QQ头像 使用默认的效果处理设置头像的界面 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCSetUserHeadpic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)setUserHeadpic:(NSMutableDictionary *)params; + + +/** + * 设置QQ头像 会返回设置头像由第三方自己处理界面的弹出方式 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCSetUserHeadpic + * \param viewController 设置头像的界面 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)setUserHeadpic:(NSMutableDictionary *)params andViewController:(UIViewController **)viewController; + +/** + * 获取QQ会员信息(仅包括是否为QQ会员,是否为年费QQ会员) + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getVipInfo; + +/** + * 获取QQ会员详细信息 + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getVipRichInfo; + +/** + * 获取微博好友名称输入提示,即通过字符串查找匹配的微博好友 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCMatchNickTipsDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)matchNickTips:(NSMutableDictionary *)params; + +/** + * 获取最近的微博好友 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCGetIntimateFriendsDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getIntimateFriends:(NSMutableDictionary *)params; + +/** + * QZone定向分享,可以@到具体好友,完成后将触发responseDidReceived:forMessage:回调,message:“SendStory” + * \param params 参数字典 + * \param fopenIdArray 第三方应用预传人好友列表,好友以openid标识 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendStory:(NSMutableDictionary *)params friendList:(NSArray *)fopenIdArray; + +/** + * 发送应用邀请,完成后将触发responseDidReceived:forMessage:回调,message:“AppInvitation” + * \param desc 应用的描述文字,不超过35字符,如果为nil或@“”则显示默认描述 + * \param imageUrl 应用的图标,如果为nil或者@“”则显示默认图标 + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendAppInvitationWithDescription:(NSString *)desc imageURL:(NSString *)imageUrl source:(NSString *)source; + +/** + * 发起PK或者发送炫耀,完成后将触发responseDidReceived:forMessage:回调,message:“AppChallenge” + * \param receiver 必须指定一位进行PK或者炫耀的好友,填写其OpenID,填写多个OpenID将截取第一个 + * \param type 类型,"pk"或者“brag” + * \param imageUrl 炫耀/挑战场景图的URL + * \param message 炫耀/挑战中的内容描述,不超过50个字符,超过限制则自动截断 + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendChallenge:(NSString *)receiver type:(NSString *)type imageURL:(NSString *)imageUrl message:(NSString *)message source:(NSString *)source; + +/** + * 赠送或者请求礼物,完成后将触发responseDidReceived:forMessage:回调,message:“AppGiftRequest” + * \param receiver 赠送或者请求礼物的好友的OpenID,支持填写多个,OpenID之用","分隔,为nil时将由用户通过好友选择器选择好友 + * \param exclude 用户通过好友选择器选择好友场景下,希望排除的好友(不显示在好友选择器) + * \param specified 用户通过好友选择器选择好友场景下,希望出现的指定好友 + * \param only 是否只显示specified指定的好友 + * \param type 类型,"request"或者“freegift” + * \param title 免费礼物或请求名称,不超过6个字符 + * \param message 礼物或请求的默认赠言,控制在35个汉字以内,超过限制自动截断 + * \param imageUrl 请求或礼物配图的URL,如果不传,则默认在弹框中显示应用的icon + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendGiftRequest:(NSString *)receiver exclude:(NSString *)exclude specified:(NSString *)specified only:(BOOL)only type:(NSString *)type title:(NSString *)title message:(NSString *)message imageURL:(NSString *)imageUrl source:(NSString *)source; + + +/** + * 退出指定API调用 + * \param userData 用户调用某条API的时候传入的保留参数 + * \return 处理结果,YES表示成功 NO表示失败 + */ +- (BOOL)cancel:(id)userData; + +/** + * CGI类任务创建接口 + * \param apiURL CGI请求的URL地址 + * \param method CGI请求方式:"GET","POST" + * \param params CGI请求参数字典 + * \param callback CGI请求结果的回调接口对象 + * \return CGI请求任务实例,用于取消任务,返回nil代表任务创建失败 + */ +- (TCAPIRequest *)cgiRequestWithURL:(NSURL *)apiURL method:(NSString *)method params:(NSDictionary *)params callback:(id)callback; + +/** + * TencentOpenApi发送任务统一接口 + * \param request 请求发送的任务 + * \param callback 任务发送后的回调地址 + */ +- (BOOL)sendAPIRequest:(TCAPIRequest *)request callback:(id)callback; + +- (NSString *)getUserOpenID; + +@end + +#pragma mark - TencentLoginDelegate(授权登录回调协议) + +/** + * \brief TencentLoginDelegate iOS Open SDK 1.3 API回调协议 + * + * 第三方应用实现登录的回调协议 + */ +@protocol TencentLoginDelegate + +@required + +/** + * 登录成功后的回调 + */ +- (void)tencentDidLogin; + +/** + * 登录失败后的回调 + * \param cancelled 代表用户是否主动退出登录 + */ +- (void)tencentDidNotLogin:(BOOL)cancelled; + +/** + * 登录时网络有问题的回调 + */ +- (void)tencentDidNotNetWork; + +@optional +/** + * 登录时权限信息的获得 + */ +- (NSArray *)getAuthorizedPermissions:(NSArray *)permissions withExtraParams:(NSDictionary *)extraParams; + +@end + +#pragma mark - TencentSessionDelegate(开放接口回调协议) + +/** + * \brief TencentSessionDelegate iOS Open SDK 1.3 API回调协议 + * + * 第三方应用需要实现每条需要调用的API的回调协议 + */ +@protocol TencentSessionDelegate + +@optional + +/** + * 退出登录的回调 + */ +- (void)tencentDidLogout; + +/** + * 因用户未授予相应权限而需要执行增量授权。在用户调用某个api接口时,如果服务器返回操作未被授权,则触发该回调协议接口,由第三方决定是否跳转到增量授权页面,让用户重新授权。 + * \param tencentOAuth 登录授权对象。 + * \param permissions 需增量授权的权限列表。 + * \return 是否仍然回调返回原始的api请求结果。 + * \note 不实现该协议接口则默认为不开启增量授权流程。若需要增量授权请调用\ref TencentOAuth#incrAuthWithPermissions: \n注意:增量授权时用户可能会修改登录的帐号 + */ +- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions; + +/** + * [该逻辑未实现]因token失效而需要执行重新登录授权。在用户调用某个api接口时,如果服务器返回token失效,则触发该回调协议接口,由第三方决定是否跳转到登录授权页面,让用户重新授权。 + * \param tencentOAuth 登录授权对象。 + * \return 是否仍然回调返回原始的api请求结果。 + * \note 不实现该协议接口则默认为不开启重新登录授权流程。若需要重新登录授权请调用\ref TencentOAuth#reauthorizeWithPermissions: \n注意:重新登录授权时用户可能会修改登录的帐号 + */ +- (BOOL)tencentNeedPerformReAuth:(TencentOAuth *)tencentOAuth; + +/** + * 用户通过增量授权流程重新授权登录,token及有效期限等信息已被更新。 + * \param tencentOAuth token及有效期限等信息更新后的授权实例对象 + * \note 第三方应用需更新已保存的token及有效期限等信息。 + */ +- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth; + +/** + * 用户增量授权过程中因取消或网络问题导致授权失败 + * \param reason 授权失败原因,具体失败原因参见sdkdef.h文件中\ref UpdateFailType + */ +- (void)tencentFailedUpdate:(UpdateFailType)reason; + +/** + * 获取用户个人信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getUserInfoResponse.exp success + * 错误返回示例: \snippet example/getUserInfoResponse.exp fail + */ +- (void)getUserInfoResponse:(APIResponse*) response; + + +/** + * 获取用户QZone相册列表回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getListAlbumResponse.exp success + * 错误返回示例: \snippet example/getListAlbumResponse.exp fail + */ +- (void)getListAlbumResponse:(APIResponse*) response; + +/** + * 获取用户QZone相片列表 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getListPhotoResponse.exp success + * 错误返回示例: \snippet example/getListPhotoResponse.exp fail + */ +- (void)getListPhotoResponse:(APIResponse*) response; + +/** + * 检查是否是QZone某个用户的粉丝回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/checkPageFansResponse.exp success + * 错误返回示例: \snippet example/checkPageFansResponse.exp fail + */ +- (void)checkPageFansResponse:(APIResponse*) response; + +/** + * 分享到QZone回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addShareResponse.exp success + * 错误返回示例: \snippet example/addShareResponse.exp fail + */ +- (void)addShareResponse:(APIResponse*) response; + +/** + * 在QZone相册中创建一个新的相册回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addAlbumResponse.exp success + * 错误返回示例: \snippet example/addAlbumResponse.exp fail + */ +- (void)addAlbumResponse:(APIResponse*) response; + +/** + * 上传照片到QZone指定相册回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/uploadPicResponse.exp success + * 错误返回示例: \snippet example/uploadPicResponse.exp fail + */ +- (void)uploadPicResponse:(APIResponse*) response; + + +/** + * 在QZone中发表一篇日志回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addOneBlogResponse.exp success + * 错误返回示例: \snippet example/addOneBlogResponse.exp fail + */ +- (void)addOneBlogResponse:(APIResponse*) response; + +/** + * 在QZone中发表一条说说回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addTopicResponse.exp success + * 错误返回示例: \snippet example/addTopicResponse.exp fail + */ +- (void)addTopicResponse:(APIResponse*) response; + +/** + * 设置QQ头像回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/setUserHeadpicResponse.exp success + * 错误返回示例: \snippet example/setUserHeadpicResponse.exp fail + */ +- (void)setUserHeadpicResponse:(APIResponse*) response; + +/** + * 获取QQ会员信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getVipInfoResponse.exp success + * 错误返回示例: \snippet example/getVipInfoResponse.exp fail + */ +- (void)getVipInfoResponse:(APIResponse*) response; + +/** + * 获取QQ会员详细信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + */ +- (void)getVipRichInfoResponse:(APIResponse*) response; + +/** + * 获取微博好友名称输入提示回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/matchNickTipsResponse.exp success + * 错误返回示例: \snippet example/matchNickTipsResponse.exp fail + */ +- (void)matchNickTipsResponse:(APIResponse*) response; + +/** + * 获取最近的微博好友回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getIntimateFriendsResponse.exp success + * 错误返回示例: \snippet example/getIntimateFriendsResponse.exp fail + */ +- (void)getIntimateFriendsResponse:(APIResponse*) response; + +/** + * sendStory分享的回调(已废弃,使用responseDidReceived:forMessage:) + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + */ +- (void)sendStoryResponse:(APIResponse*) response; + + +/** + * 社交API统一回调接口 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \param message 响应的消息,目前支持‘SendStory’,‘AppInvitation’,‘AppChallenge’,‘AppGiftRequest’ + */ +- (void)responseDidReceived:(APIResponse*)response forMessage:(NSString *)message; + +/** + * post请求的上传进度 + * \param tencentOAuth 返回回调的tencentOAuth对象 + * \param bytesWritten 本次回调上传的数据字节数 + * \param totalBytesWritten 总共已经上传的字节数 + * \param totalBytesExpectedToWrite 总共需要上传的字节数 + * \param userData 用户自定义数据 + */ +- (void)tencentOAuth:(TencentOAuth *)tencentOAuth didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite userData:(id)userData; + + +/** + * 通知第三方界面需要被关闭 + * \param tencentOAuth 返回回调的tencentOAuth对象 + * \param viewController 需要关闭的viewController + */ +- (void)tencentOAuth:(TencentOAuth *)tencentOAuth doCloseViewController:(UIViewController *)viewController; + +@end + +#pragma mark - TencentWebViewDelegate(H5登录webview旋转方向回调) + +/** + * \brief TencentWebViewDelegate: H5登录webview旋转方向回调协议 + * + * 第三方应用可以根据自己APP的旋转方向限制,通过此协议设置 + */ +@protocol TencentWebViewDelegate +@optional +- (BOOL) tencentWebViewShouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation; +- (NSUInteger) tencentWebViewSupportedInterfaceOrientationsWithWebkit; +- (BOOL) tencentWebViewShouldAutorotateWithWebkit; +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h new file mode 100644 index 0000000..a533639 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h @@ -0,0 +1,504 @@ +/// +/// \file TencentOAuthObject.h +/// 对开放接口的调用提供参数字典封装的辅助类 +/// +/// Created by Tencent on 12-12-28. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import +#import "sdkdef.h" + + +#pragma mark - +#pragma mark TCAddTopicDic + +/** + * \brief 发表说说的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddTopicDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddTopicDic *) dictionary; + +/** + * 发布心情时引用的信息的类型。 + * \note 1表示图片; 2表示网页; 3表示视频 + */ +@property (nonatomic, retain) TCOptionalStr paramRichtype; + +/** + * 发布心情时引用的信息的值。有richtype时必须有richval + * + * \note + * -# 当richtype为图片(即richtype为1,应用场景为发布心情时引用某张图片)时,\n + * richval需要传入该图片的相关参数。引用的图片来源分为两种:一种为网站图片,\n + * 一种为QQ空间相册中的某张图片。 + * - 当引用的图片来自网站,richval包含下列参数的值:\n + * | 参数名称 | 是否必须 | 类型 | 描述 | + * | ------ | ------- | ------ | ----------------- | + * | url | 必须 | string | 网站图片的URL | + * | height | 必须 | string | 图片高度,单位: px | + * | width | 必须 | string | 图片宽度,单位: px | + * \n + * 输入时每个值中间用“&”分隔,如下所示:\n + * “url=http://qq.com/logo.png&width=25&height=21” + * + * - 当引用的图片来自QQ空间相册,richval包含下列参数的值。\n + * 这些值都需要通过调用相册OpenAPI来获得。参数意义如下:\n + * | 参数名称 | 是否必须 | 类型 | 描述 | + * | --------- | ------ | ------ | ---------------------------------- | + * | albumid | 必须 | string | 图片所属空间相册的ID | + * | pictureid | 必须 | string | 图片ID | + * | sloc | 必须 | string | 小图ID | + * | pictype | | string | 图片类型(JPG = 1;GIF = 2;PNG = 3) | + * | picheight | | string | 图片高度,单位: px | + * | picwidth | | string | 图片宽度,单位: px | + * 输入时每个值中间用逗号分隔,如下所示 :\n + * “albumid,pictureid,sloc,pictype,picheight,picwidth” + * -# 当richtype为网页(即richtype为2,应用场景为针对某网页发表评论)时,\n + * richval需要传入该网页的URL,发表为feeds时,后台会自动将该URL转换为短URL。 + * -# 当richtype为视频(即richtype为3,应用场景为针对某视频发表评论)时,\n + * richval需要传入该视频的URL,发表为feeds时,后台会对该URL进行解析,\n + * 在feeds上显示播放器,视频源及缩略图。 + */ +@property (nonatomic, retain) TCOptionalStr paramRichval; + +/** + * 发布的心情的内容。 + */ +@property (nonatomic, retain) TCRequiredStr paramCon; + +/** + * 地址文。例如:广东省深圳市南山区高新科技园腾讯大厦。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_nm; + +/** + * 经度。-180.0到+180.0,+表示东经。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_x; + +/** + * 纬度。-90.0到+90.0,+表示北纬。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_y; + +/** + * 第三方应用的平台类型。 + * \note 1表示QQ空间; 2表示腾讯朋友; 3表示腾讯微博平台; 4表示腾讯Q+平台。 + */ +@property (nonatomic, retain) TCOptionalStr paramThirdSource; +@end + + +#pragma mark - +#pragma mark TCAddOneBlogDic +/** + * \brief 发表日志的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddOneBlogDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddOneBlogDic *) dictionary; + +/** + * 日志标题(纯文本,最大长度128个字节,utf-8编码)。 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + +/** + * content 文章内容(html数据,最大长度100*1024个字节,utf-8编码) + */ +@property (nonatomic, retain) TCRequiredStr paramContent; +@end + +#pragma mark - +#pragma mark TCAddAlbumDic +/** + * \brief 创建空间相册的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddAlbumDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddAlbumDic *) dictionary; + +/** + * albumname 必须 string 相册名 不能超过30个字符。 + */ +@property (nonatomic, retain) TCRequiredStr paramAlbumname; + + +/** + * albumdesc string 相册描述,不能超过200个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramAlbumdesc; + +/** + * priv string 相册权限 + * + * \note 其取值含义为: 1=公开;3=只主人可见; 4=QQ好友可见; 5=问答加密。\n + * 不传则相册默认为公开权限。\n + * 如果priv取值为5,即相册是问答加密的,则必须包含问题和答案两个参数:\n + * - question: 问题,不能超过30个字符。 + * - answer: 答案,不能超过30个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramPriv; + +/** + * question 问题,不能超过30个字符。 + * \note 如果priv取值为5,必须包含这个参数: + **/ +@property (nonatomic, retain) TCOptionalStr paramQuestion; + +/** + * answer 答案,不能超过30个字符。 + * \note 如果priv取值为5,必须包含这个参数: + **/ +@property (nonatomic, retain) TCOptionalStr paramAnswer; + +@end + +#pragma mark - +#pragma mark TCUploadPicDic +/** + * \brief 上传一张照片到QQ空间相册的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCUploadPicDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCUploadPicDic *) dictionary; + +/** + * photodesc string 照片描述,注意照片描述不能超过200个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramPhotodesc; +/** + * string 照片的命名,必须以.jpg, .gif, .png, .jpeg, .bmp此类后缀结尾。 + */ +@property (nonatomic, retain) TCOptionalStr paramTitle; + +/** + * string 相册id。可不填,不填时则根据“mobile”标识选择默认上传的相册。 + */ +@property (nonatomic, retain) TCOptionalStr paramAlbumid; + +/** + * 标志位 + * + * \note 0表示PC,1表示手机。用于当不传相册id时(即albumid为空时)控制是否传到手机相册。\n + * -# 如果传1,则当albumid为空时,图片会上传到手机相册; + * -# 如果不传或传0,则当albumid为空时,图片会上传到贴图相册; + */ +@property (nonatomic, assign) TCOptionalStr paramMobile; + +/** + * x string 照片拍摄时的地理位置的经度。请使用原始数据(纯经纬度,0-360)。 + */ +@property (nonatomic, retain) TCOptionalStr paramX; + +/** + * y string 照片拍摄时的地理位置的纬度。请使用原始数据(纯经纬度,0-360)。 + */ +@property (nonatomic, retain) TCOptionalStr paramY; + +/** + * picture 必须 string 上传照片的文件名以及图片的内容(在发送请求时,图片内容以二进制数据流的形式发送,见下面的请求示例),注意照片名称不能超过30个字符。 + */ +@property (nonatomic, retain) TCRequiredImage paramPicture; + +/** + * needfeed int 标识上传照片时是否要发feed + * \note(0:不发feed; 1:发feed)。如果不填则默认为发feed。 + */ +@property (nonatomic, assign)TCOptionalStr paramNeedfeed; + +/** + * successnum int 批量上传照片时,已成功上传的张数,指明上传完成情况。 + * \note 单张上传时可以不填,不填则默认为0。 + */ +@property (nonatomic, assign)TCOptionalStr paramSuccessnum; + +/** + * picnum int 批量上传照片的总张数,如果不填则默认为1。 + * \note + * - 如果picnum=1,为单张上传,发送单张上传feed; + * - 如果picnum>1,为批量上传,发送批量上传feed。 + * 批量上传方式:picnum为一次上传照片的张数,successnum初始值为0,每调用一次照片上传接口后递增其值。 + * 信息中心中的feed表现形式:批量上传时最新的7张在feed中展示。其中最新上传的一张图片展示为大图,剩下的 + * 六张按从新到旧的顺序展示为小图,其他图片不在feed中展示。 + */ +@property (nonatomic, assign)TCOptionalStr paramPicnum; + +@end + +#pragma mark - +#pragma mark TCAddShareDic +/** + * \brief 同步分享到QQ空间,腾讯微博的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddShareDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddShareDic *) dictionary; + +/** + * title 必须 string feeds的标题 最长36个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + + +/** + * url 必须 string 分享所在网页资源的链接,点击后跳转至第三方网页,对应上文接口说明中2的超链接。请以http://开头。 + */ +@property (nonatomic, retain) TCRequiredStr paramUrl; + + +/** + * comment string 用户评论内容,也叫发表分享时的分享理由 禁止使用系统生产的语句进行代替。 + * 最长40个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCOptionalStr paramComment; + + +/** + * summary string 所分享的网页资源的摘要内容,或者是网页的概要描述 最长80个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCOptionalStr paramSummary; + +/** + * images string 所分享的网页资源的代表性图片链接",请以http://开头,长度限制255字符。多张图片以竖线(|)分隔,目前只有第一张图片有效,图片规格100*100为佳。 + */ +@property (nonatomic, retain) TCOptionalStr paramImages; + +/** + * type string 分享内容的类型。 + * + * \note 4表示网页;5表示视频(type=5时,必须传入playurl) + */ +@property (nonatomic, retain) TCOptionalStr paramType; + +/** + * playurl string 长度限制为256字节。仅在type=5的时候有效,表示视频的swf播放地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramPlayurl; + +/** + * site 必须 string 分享的来源网站名称,请填写网站申请接入时注册的网站名称 + */ +@property (nonatomic, retain) TCRequiredStr paramSite; + +/** + * fromurl 必须 string 分享的来源网站对应的网站地址url 请以http://开头。 + */ +@property (nonatomic, retain) TCRequiredStr paramFromurl; + +/** + * nswb string 值为1时,表示分享不默认同步到微博,其他值或者不传此参数表示默认同步到微博。 + */ +@property (nonatomic, retain) TCOptionalStr paramNswb; + +@end + +#pragma mark - +#pragma mark TCCheckPageFansDic +/** + * \brief 验证是否认证空间粉丝tttyttyyyu的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCCheckPageFansDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCCheckPageFansDic *) dictionary; + +/** + * 表示认证空间的QQ号码 + */ +@property (nonatomic, retain) TCRequiredStr paramPage_id; +@end + +#pragma mark - +#pragma mark TCSetUserHeadpic +/** + * \brief 设置用户头像 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCSetUserHeadpic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCSetUserHeadpic *) dictionary; + +/** + * 设置用户头像的图片 + */ +@property (nonatomic, retain) TCRequiredImage paramImage; + +/** + * 图片的文件名 + */ +@property (nonatomic, retain) TCOptionalStr paramFileName; +@end + +#pragma mark - +#pragma mark TCListPhotoDic + +/** + * \brief 获取用户QQ空间相册中的照片列表 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCListPhotoDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCListPhotoDic *) dictionary; + +/** + * 表示要获取的照片列表所在的相册ID + */ +@property (nonatomic, retain) TCRequiredStr paramAlbumid; + +@end + +#pragma mark - +#pragma mark TCMatchNickTipsDic +/** + * \brief 微博获取好友输入提示的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCMatchNickTipsDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCMatchNickTipsDic *) dictionary; + +/** + * 匹配字符串(目前匹配范围为我收听的人) + */ +@property (nonatomic, retain) TCRequiredStr paramMatch; + +/** + * 请求个数(1-10) + */ +@property (nonatomic, retain) TCRequiredStr paramReqnum; + +@end + + +#pragma mark - +#pragma mark TCGetIntimateFriendsDic +/** + * \brief 微博获取最近联系人列表的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCGetIntimateFriendsDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCGetIntimateFriendsDic *) dictionary; + +/** + * 请求个数(1-20) + */ +@property (nonatomic, retain) TCRequiredStr paramReqnum; + +@end + +#pragma mark - +#pragma mark TCSendStoryDic +/** + * \brief QQ空间定向分享的参数字典定义 + * + * 该分享支持@到指定好友,最多支持10个好友。 + * 其中第三方应用可预传最多5个指定好友的openid,其余好友由用户自行选择。 + * 该分享形式仅提供跳QZone分享和本地Html5分享两种形式。 + * sendStroy不支持userData参数 + */ +@interface TCSendStoryDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCSendStoryDic *) dictionary; + +/** + * 分享的标题 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + +/** + * 故事摘要,最多不超过50个汉字,可以为空 + */ +@property (nonatomic, retain) TCOptionalStr paramSummary; + +/** + * 默认展示在输入框里的分享理由,最多120个汉字,可以为空 + */ +@property (nonatomic, retain) TCOptionalStr paramDescription; + +/** + * 图片url + */ +@property (nonatomic, retain) TCOptionalStr paramPics; + +/** + * 如果不填,则默认为"进入应用" + */ +@property (nonatomic, retain) TCRequiredStr paramAct; + +/** + * 点击分享的Url + */ +@property (nonatomic, retain) TCOptionalStr paramShareUrl; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h new file mode 100644 index 0000000..c8c9ff2 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h @@ -0,0 +1,83 @@ +// +// WeiBoAPI.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-6-25. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#ifndef QQ_OPEN_SDK_LITE + +#import +#import "sdkdef.h" + +/** 微博相关接口基类 */ +@interface WeiBo_baseRequest : TCAPIRequest + +@end + + +/** + * \brief 发表一条微博信息(纯文本)到腾讯微博平台上。 + * \note 注意连续两次发布的微博内容不可以重复。 + */ + +@interface WeiBo_add_t_POST : WeiBo_baseRequest + +/** + * 表示要发表的微博内容。 + * \note 必须为UTF-8编码,最长为140个汉字,也就是420字节。 + * 如果微博内容中有URL,后台会自动将该URL转换为短URL,每个URL折算成11个字节。 + * 若在此处@好友,需正确填写好友的微博账号,而非昵称。 + */ +@property (nonatomic, retain) TCRequiredStr param_content; + +/** + * 用户ip。 + * \note 必须正确填写用户侧真实ip,不能为内网ip及以127或255开头的ip,以分析用户所在地。 + */ +@property (nonatomic, retain) TCOptionalStr param_clientip; + +/** + * 用户所在地理位置的经度。 + * \note 为实数,最多支持10位有效数字。有效范围:-180.0到+180.0,+表示东经,默认为0.0。 + */ +@property (nonatomic, retain) TCOptionalStr param_longitude; + +/** + * 用户所在地理位置的纬度。 + * \note 为实数,最多支持10位有效数字。有效范围:-90.0到+90.0,+表示北纬,默认为0.0。 + */ +@property (nonatomic, retain) TCOptionalStr param_latitude; + +/** + * 容错标志,支持按位操作,默认为0。 + * \note 0×2:图片数据大小错误则报错; + * 0×4:检查图片格式不支持则报错; + * 0×8:上传图片失败则报错; + * 0×20:微博内容长度超过140字则报错; + * 0:以上错误均做容错处理,即发表普通微博; + * 0×2|0×4|0×8|0×20:同旧模式,以上各种情况均报错,不做兼容处理。 + * 0x2,0x4,0x8 只对 \ref WeiBo_add_pic_t_POST 有效 + */ +@property (nonatomic, retain) TCRequiredStr param_compatibleflag; + +@end + +/** + * \brief 上传一张图片,并发布一条消息到腾讯微博平台上。 + * \note 除了图片参数 其他参数参照 \ref WeiBo_add_t_POST + */ +@interface WeiBo_add_pic_t_POST : WeiBo_add_t_POST + +/** + * 要上传的图片的文件名以及图片的内容 + * \note 图片仅支持gif、jpeg、jpg、png、bmp及ico格式 + * (所有图片都会重新压缩,gif被重新压缩后不会再有动画效果),图片size小于4M + */ + +@property (nonatomic, retain) TCRequiredImage param_pic; + +@end + +#endif diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h new file mode 100644 index 0000000..64eb99e --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h @@ -0,0 +1,298 @@ +/// +/// \file WeiyunAPI.h +/// \brief 提供微云平台相关接口的调用参数封装辅助类 +/// +/// Created by Tencent on 13-6-20. +/// Copyright (c) 2013年 Tencent. All rights reserved. +/// + +#ifndef QQ_OPEN_SDK_LITE + +#import +#import "sdkdef.h" + + +/** CGI请求上传数据回调协议 */ +@protocol TCAPIRequestUploadDelegate + +/** + * 询问是否要开始上传数据 + * \param uploadRequest 对应的上传请求上下文 + * \param storageRequest 用于上传数据的NSURLRequest对象 + * \return 是否要开始上传数据,YES表示自动开始上传,NO表示不上传 + * \note 目前自动上传逻辑不支持断点续传机制,建议上传的数据不要太大 + */ +- (BOOL)cgiUploadRequest:(TCAPIRequest *)uploadRequest shouldBeginUploadingStorageRequest:(NSURLRequest *)storageRequest; + +@end + + +/** CGI请求下载数据回调协议 */ +@protocol TCAPIRequestDownloadDelegate + +/** + * 询问是否要开始下载数据 + * \param downloadRequest 对应的下载请求上下文 + * \param storageRequest 用于下载数据的NSURLRequest对象 + * \return 是否要开始下载数据,YES表示自动开始下载,NO表示不下载 + * \note 目前自动下载逻辑不支持断点分块机制,建议下载的数据不要太大 + */ +- (BOOL)cgiDownloadRequest:(TCAPIRequest *)downloadRequest shouldBeginDownloadingStorageRequest:(NSURLRequest *)storageRequest; + +@end + + +/** 微云相关接口基类 */ +@interface WeiYun_BaseRequest : TCAPIRequest + +@end + +#pragma mark - 照片相关 +/** + * \brief 申请上传照片 + * + * 本接口用于申请上传照片;然后app用返回的存储平台url地址、端口等信息上传照片文件自身内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_photo_GET : WeiYun_BaseRequest + +/** 待上传文件SHA */ +@property (nonatomic, retain) TCRequiredStr param_sha; + +/** 待上传文件MD5 */ +@property (nonatomic, retain) TCRequiredStr param_md5; + +/** 待上传文件size字节 */ +@property (nonatomic, retain) TCRequiredStr param_size; + +/** 待上传文件名 */ +@property (nonatomic, retain) TCRequiredStr param_name; + +/** control|normal,默认control */ +@property (nonatomic, retain) TCOptionalStr param_upload_type; + +/** 需要上传的数据 */ +@property (nonatomic, retain) TCRequiredData paramUploadData; + +@end + +/** + * \brief 获取照片下载url地址 + * + * 本接口用于获取照片下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载文件内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_photo_GET : WeiYun_BaseRequest + +/** 待下载文件的ID,字符串(68字节) */ +@property (nonatomic, retain) TCRequiredStr param_file_id; + +@end + +/** + * \brief 获取照片列表 + * + * 本接口用于获取app目录下照片列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_photo_list_GET : WeiYun_BaseRequest + +/** 所有文件数目的偏移,从0开始计数 */ +@property (nonatomic, retain) TCRequiredStr param_offset; + +/** 请求文件的数量,取值1-200 */ +@property (nonatomic, retain) TCRequiredStr param_number; + +@end + +/** + * \brief 删除照片 + * + * 本接口用于删除照片 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_photo_GET : WeiYun_BaseRequest + +/** 待下载文件的ID,字符串(68字节) */ +@property (nonatomic, retain) TCRequiredStr param_file_id; + +@end + +/** + * \brief 获取照片缩略图下载地址 + * + * 本接口用于获取照片缩略图下载URL地址;然后app用返回的存储平台url地址、端口等信息上下载照片文件内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_photo_thumb_GET : WeiYun_download_photo_GET + +/** 缩略图尺寸,目前支持四种类型: 1024*1024,640*640,128*128,64*64 */ +@property (nonatomic, retain) TCRequiredStr param_thumb; + +@end + +#pragma mark - 视频相关 +/** + * \brief 申请上传视频 + * + * 本接口用于申请上传视频;然后app用返回的存储平台url地址、端口等信息上传视频内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_video_GET : WeiYun_upload_photo_GET; + +@end + + +/** + * \brief 获取视频下载url地址 + * + * 本接口用于获取视频下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载视频内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_video_GET : WeiYun_download_photo_GET; + +@end + + +/** + * \brief 获取视频列表 + * + * 本接口用于获取本app目录下视频列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_video_list_GET : WeiYun_get_photo_list_GET; + +@end + + +/** + * \brief 删除视频 + * + * 本接口用于删除视频文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_video_GET : WeiYun_delete_photo_GET; + +@end + +#pragma mark - 音频相关 +/** + * \brief 申请上传音频 + * + * 本接口用于申请上传音频;然后app用返回的存储平台url地址、端口等信息上传音频内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_music_GET : WeiYun_upload_photo_GET; + +@end + + +/** + * \brief 获取音频下载url地址 + * + * 本接口用于获取音频下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载音频内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_music_GET : WeiYun_download_photo_GET; + +@end + + +/** + * \brief 获取音频列表 + * + * 本接口用于获取本app目录下视频列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_music_list_GET : WeiYun_get_photo_list_GET; + +@end + + +/** + * \brief 删除音频 + * + * 本接口用于删除音频文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_music_GET : WeiYun_delete_photo_GET; + +@end + + +#pragma mark - 结构化数据 +/** + * \brief 查询key所对应的键值对是否存在 + */ +@interface WeiYun_check_record_GET : WeiYun_BaseRequest + +/** KV键值对的key,十六进制编码,字符串(对应的二进制字符串不超过100字节)*/ +@property (nonatomic, retain) TCRequiredStr param_key; + +@end + + +/** + * \brief 查询key所对应的键值对是否存在 + * \note 参数参照 \ref WeiYun_check_record_GET + */ +@interface WeiYun_delete_record_GET : WeiYun_check_record_GET + +@end + +/** + * \brief 查询key所对应的键值对的value + * \note 参数参照 \ref WeiYun_check_record_GET + */ +@interface WeiYun_get_record_GET : WeiYun_check_record_GET + +@end + +/** + * \brief 创建key-value键值对 + */ +@interface WeiYun_create_record_POST : WeiYun_BaseRequest + +/** KV键值对的key,十六进制编码,字符串(对应的二进制串不超过100字节)*/ +@property (nonatomic, retain)TCRequiredStr param_key; + +/** KV键值对的value,十六进制编码,字符串(对应的二进制串不超过1M字节)*/ +@property (nonatomic, retain)NSData *param_value; + +@end + + +/** + * \brief 修改key-value键值对的value为新值 + * \note 参数参照 \ref WeiYun_create_record_POST + */ +@interface WeiYun_modify_record_POST : WeiYun_create_record_POST + + +@end + +/** + * \brief 查询登录用户的全部key列表 + * \note 没有参数 + */ +@interface WeiYun_query_all_record_GET : WeiYun_BaseRequest + + +@end + +#endif + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h new file mode 100644 index 0000000..a573e21 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h @@ -0,0 +1,526 @@ +/// +/// \file sdkdef.h +/// \brief SDK中相关常量定义 +/// +/// Created by Tencent on 12-12-25. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import + +/** + * \brief 设置sdk的log等级 + */ +typedef enum { + TCOLogLevel_Disabled = -1, // 关闭所有log + TCOLogLevel_Error = 0, + TCOLogLevel_Warning, + TCOLogLevel_Info, + TCOLogLevel_Debug, +} TCOLogLevel; + +/** + * \brief 手机qq的当前版本 + */ +typedef enum QQVersion +{ + kQQUninstall, + kQQVersion3_0, + kQQVersion4_0, //支持sso登陆 + kQQVersion4_2_1, //ios7兼容 + kQQVersion4_5, //4.5版本,wpa会话 + kQQVersion4_6, //4.6版本,sso登陆信令通道切换 + kQQVersion4_7, //4.7版本 不确定新支持了什么样的属性 +} QQVersion; + +/** + * \brief APIResponse.retCode可能的枚举常量 + */ +typedef enum +{ + URLREQUEST_SUCCEED = 0, /**< 网络请求成功发送至服务器,并且服务器返回数据格式正确 + * \note 这里包括所请求业务操作失败的情况,例如没有授权等原因导致 + */ + + URLREQUEST_FAILED = 1, /**< 网络异常,或服务器返回的数据格式不正确导致无法解析 */ +} REPONSE_RESULT; + +/** + * \brief 增量授权失败原因 + * + * \note 增量授权失败不影响原token的有效性(原token已失效的情况除外) + */ +typedef enum +{ + kUpdateFailUnknown = 1, ///< 未知原因 + kUpdateFailUserCancel, ///< 用户取消 + kUpdateFailNetwork, ///< 网络问题 +} UpdateFailType; + +/** + * \brief 封装服务器返回的结果 + * + * APIResponse用于封装所有请求的返回结果,包括错误码、错误信息、原始返回数据以及返回数据的json格式字典 + */ +@interface APIResponse : NSObject { + int _detailRetCode; + int _retCode; + int _seq; + NSString *_errorMsg; + NSDictionary *_jsonResponse; + NSString *_message; + id _userData; +} + +/** + * 新增的详细错误码\n + * detailRetCode主要用于区分不同的错误情况,参见\ref OpenSDKError + */ +@property (nonatomic, assign) int detailRetCode; + +/** + * 网络请求是否成功送达服务器,以及服务器返回的数据格式是否正确\n + * retCode具体取值可参考\ref REPONSE_RESULT + */ +@property (nonatomic, assign) int retCode; + +/** + * 网络请求对应的递增序列号,方便内部管理 + */ +@property (nonatomic, assign) int seq; + +/** + * 错误提示语 + */ +@property (nonatomic, retain) NSString *errorMsg; + +/** + * 服务器返回数据的json格式字典\n + * 字典内具体参数的命名和含义请参考\ref api_spec + */ +@property (nonatomic, retain) NSDictionary *jsonResponse; + +/** + * 服务器返回的原始数据字符串 + */ +@property (nonatomic, retain) NSString *message; + +/** + * 用户保留数据 + */ +@property (nonatomic, retain) id userData; + +@end + + +/** + * 用户自定义的保留字段 + */ +FOUNDATION_EXTERN NSString * const PARAM_USER_DATA; + +/** + * \name 应用邀请参数字段定义 + */ +///@{ + +/** 应用邀请展示图片url的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_ICON; + +/** 应用邀请描述文本的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_DESC; + +/** 应用邀请好友列表的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_INVITED_OPENIDS; + +///@} + +/** + * \name sendStory新分享参数字段定义 + */ +///@{ + +/** 预填入接受人列表的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_RECEIVER; + +/** 分享feeds标题的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_TITLE; + +/** 分享feeds评论内容的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_COMMENT; + +/** 分享feeds摘要的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_SUMMARY; + +/** 分享feeds展示图片url的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_IMAGE; + +/** 分享feeds跳转链接url的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_URL; + +/** 分享feeds点击操作默认行为的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_ACT; + +///@} + +/** + * \name 设置头像参数字段定义 + */ +///@{ + +/** 头像图片数据的key */ +FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_PIC; + +/** 头像图片文件名的key */ +FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_FILENAME; + +///@} + +/** + * \name 服务器返回数据的参数字段定义 + */ +///@{ + +/** 服务器返回码的key */ +FOUNDATION_EXTERN NSString * const PARAM_RETCODE; + +/** 服务器返回错误信息的key */ +FOUNDATION_EXTERN NSString * const PARAM_MESSAGE; + +/** 服务器返回额外数据的key */ +FOUNDATION_EXTERN NSString * const PARAM_DATA; + +///@} + +/** + * \name 错误信息相关常量定义 + */ +///@{ + +/** 详细错误信息字典中额外信息的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyExtraInfo; + +/** 详细错误信息字典中返回码的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyRetCode; + +/** 详细错误信息字典中错误语句的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyMsg; + +/** 不支持的接口 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnsupportedAPI; + +/** 操作成功 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSuccess; + +/** 未知错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnknown; + +/** 用户取消 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserCancel; + +/** 请重新登录 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgReLogin; + +/** 应用没有操作权限 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgOperationDeny; + +/** 网络异常或没有网络 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgNetwork; + +/** URL格式或协议错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgURL; + +/** 解析数据出错 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgDataParse; + +/** 传入参数有误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgParam; + +/** 连接超时 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgTimeout; + +/** 安全问题 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSecurity; + +/** 文件读写错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgIO; + +/** 服务器端错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgServer; + +/** 页面错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgWebPage; + +/** 设置头像图片过大 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserHeadPicLarge; + +///@} + +/** + * \brief SDK新增详细错误常量 + */ +typedef enum +{ + kOpenSDKInvalid = -1, ///< 无效的错误码 + kOpenSDKErrorUnsupportedAPI = -2, ///< 不支持的接口 + + /** + * \name CommonErrorCode + * 公共错误码 + */ + ///@{ + kOpenSDKErrorSuccess = 0, ///< 成功 + kOpenSDKErrorUnknown, ///< 未知错误 + kOpenSDKErrorUserCancel, ///< 用户取消 + kOpenSDKErrorReLogin, ///< token无效或用户未授权相应权限需要重新登录 + kOpenSDKErrorOperationDeny, ///< 第三方应用没有该api操作的权限 + ///@} + + /** + * \name NetworkRelatedErrorCode + * 网络相关错误码 + */ + ///@{ + kOpenSDKErrorNetwork, ///< 网络错误,网络不通或连接不到服务器 + kOpenSDKErrorURL, ///< URL格式或协议错误 + kOpenSDKErrorDataParse, ///< 数据解析错误,服务器返回的数据解析出错 + kOpenSDKErrorParam, ///< 传入参数错误 + kOpenSDKErrorConnTimeout, ///< http连接超时 + kOpenSDKErrorSecurity, ///< 安全问题 + kOpenSDKErrorIO, ///< 下载和文件IO错误 + kOpenSDKErrorServer, ///< 服务器端错误 + ///@} + + /** + * \name WebViewRelatedError + * webview特有错误 + */ + ///@{ + kOpenSDKErrorWebPage, ///< 页面错误 + ///@} + + /** + * \name SetUserHeadRelatedErrorCode + * 设置头像自定义错误码段 + */ + ///@{ + kOpenSDKErrorUserHeadPicLarge = 0x010000, ///< 图片过大 设置头像自定义错误码 + ///@} +} OpenSDKError; + +/** + * \name SDK版本(v1.3)支持的授权列表常量 + */ +///@{ + +/** 发表一条说说到QQ空间(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_TOPIC; + +/** 发表一篇日志到QQ空间(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ONE_BLOG; + +/** 创建一个QQ空间相册(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ALBUM; + +/** 上传一张照片到QQ空间相册(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_UPLOAD_PIC; + +/** 获取用户QQ空间相册列表(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_LIST_ALBUM; + +/** 同步分享到QQ空间、腾讯微博 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_SHARE; + +/** 验证是否认证空间粉丝 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_CHECK_PAGE_FANS; + +/** 上传图片并发表消息到腾讯微博 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_PIC_T; + +/** 删除一条微博信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_DEL_T; + +/** 获取一条微博的转播或评论信息列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_REPOST_LIST; + +/** 获取登录用户自己的详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_INFO; + +/** 获取其他用户的详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_OTHER_INFO; + +/** 获取登录用户的听众列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_FANSLIST; + +/** 获取登录用户的收听列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_IDOLLIST; + +/** 收听腾讯微博上的用户 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_IDOL; + +/** 取消收听腾讯微博上的用户 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_DEL_IDOL; + +/** 获取微博中最近at的好友 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_INTIMATE_FRIENDS_WEIBO; + +/** 获取微博中匹配昵称的好友 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_MATCH_NICK_TIPS_WEIBO; + +/** 获取会员用户基本信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_INFO; + +/** 获取会员用户详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_RICH_INFO; + +/** 获取用户信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_USER_INFO; + +/** 移动端获取用户信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_SIMPLE_USER_INFO; + +/** 微云上传图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_PIC; + +/** 微云下载图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_PIC; + +/** 微云获得图片列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PIC_LIST; + +/** 微云删除图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_PIC; + +/** 微云获取缩略图 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PIC_THUMB; + +/** 微云上传音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_MUSIC; + +/** 微云下载音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_MUSIC; + +/** 微云获取音乐列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_MUSIC_LIST; + +/** 微云删除音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_MUSIC; + +/** 微云上传视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_VIDEO; + +/** 微云下载视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_VIDEO; + +/** 微云获取视频列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_VIDEO_LIST; + +/** 微云删除视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_VIDEO; + +/** 微云上传照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_PHOTO; + +/** 微云下载照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_PHOTO; + +/** 微云获得照片列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PHOTO_LIST; + +/** 微云删除照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_PHOTO; + +/** 微云获取图片缩略图 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PHOTO_THUMB; + +/** 微云检查记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_CHECK_RECORD; + +/** 微云创建记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_CREATE_RECORD; + +/** 微云删除记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_RECORD; + +/** 微云获取记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_RECORD; + +/** 微云修改记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_MODIFY_RECORD; + +/** 微云获取所有记录列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_QUERY_ALL_RECORD; +///@} + + +/** + * \name CGI接口相关参数类型定义 + */ +///@{ + +/** 必填的字符串类型参数 */ +typedef NSString *TCRequiredStr; + +/** 必填的UIImage类型参数 */ +typedef UIImage *TCRequiredImage; + +/** 必填的整型参数 */ +typedef NSInteger TCRequiredInt; + +/** 必填的数字类型 */ +typedef NSNumber *TCRequiredNumber; + +/** 必填的NSData参数 */ +typedef NSData *TCRequiredData; + +/** 可选的字符串类型参数 */ +typedef NSString *TCOptionalStr; + +/** 可选的UIImage类型参数 */ +typedef UIImage *TCOptionalImage; + +/** 可选的整型参数 */ +typedef NSInteger TCOptionalInt; + +/** 可选的数字类型 */ +typedef NSNumber *TCOptionalNumber; + +/** 可选的不定类型参数 */ +typedef id TCRequiredId; +///@} + + +/** + * \brief CGI请求的参数字典封装辅助基类 + * + * 将相应属性的值以key-value的形式保存到参数字典中 + */ +@interface TCAPIRequest : NSMutableDictionary + +/** CGI请求的URL地址 */ +@property (nonatomic, readonly) NSURL *apiURL; + +/** CGI请求方式:"GET","POST" */ +@property (nonatomic, readonly) NSString *method; + +/** + * API参数中的保留字段,可以塞入任意字典支持的类型,再调用完成后会带回给调用方 + */ +@property (nonatomic, retain) TCRequiredId paramUserData; + +/** + * APIResponse,API的返回结果 + */ +@property (nonatomic, readonly) APIResponse *response; + +/** 取消相应的CGI请求任务 */ +- (void)cancel; + +@end + +@protocol TCAPIRequestDelegate +@optional +- (void)cgiRequest:(TCAPIRequest *)request didResponse:(APIResponse *)response; + +@end + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI new file mode 100644 index 0000000..83e53b3 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist new file mode 100644 index 0000000..be3d440 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png new file mode 100644 index 0000000..0d5800b Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html new file mode 100644 index 0000000..b9a5716 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html @@ -0,0 +1,73 @@ + + + + + +社交渠道 + + + + + + +
+
+

+ 返回 + +
+
+
+ + + diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png new file mode 100644 index 0000000..6b2da46 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png new file mode 100644 index 0000000..4a26634 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h new file mode 100644 index 0000000..77eb2cf --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h @@ -0,0 +1,40 @@ +// +// UMSocialQQHandler.h +// SocialSDK +// +// Created by yeahugo on 13-8-5. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import + +#import //QQ互联 SDK +#import + +@interface UMSocialQQHandler : NSObject + +/** + 设置分享到手机QQ和QQ空间的应用ID + + @param appId QQ互联应用Id + @param appKey QQ互联应用Key + + @param url 分享URL链接 + */ ++(void)setQQWithAppId:(NSString *)appId appKey:(NSString *)appKey url:(NSString *)url; + +/** + 设置在没有安装QQ客户端的情况下,是否支持单独授权到QQ互联 + + @param supportWebView 是否支持没有安装QQ客户端的情况下,是否支持单独授权 + */ ++(void)setSupportWebView:(BOOL)supportWebView; + +/** + deprecated API,默认使用Qzone SSO授权 + 设置QQ空间是否用手机QQ客户端进行SSO授权,默认使用webview授权 + + @param supportQzoneSSO 是否用手机QQ授权 + */ +//+ (void)setSupportQzoneSSO:(BOOL)supportQzoneSSO; +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a new file mode 100644 index 0000000..202a33e Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h new file mode 100644 index 0000000..55cf07d --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h @@ -0,0 +1,22 @@ +// +// ; +// SocialSDK +// +// Created by yeahugo on 13-8-6. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import + +@interface UMSocialWechatHandler : NSObject + +/** + 设置微信AppId和url地址 + + @param app_Id 微信应用Id + @param url 微信消息url地址 + + */ ++ (void)setWXAppId:(NSString *)app_Id appSecret:(NSString *)appSecret url:(NSString *)url; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h new file mode 100644 index 0000000..b76371b --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h @@ -0,0 +1,157 @@ +// +// WXApi.h +// 所有Api接口 +// +// Created by Wechat on 12-2-28. +// Copyright (c) 2012年 Tencent. All rights reserved. +// + +#import +#import "WXApiObject.h" + + +#pragma mark - WXApiDelegate +/*! @brief 接收并处理来自微信终端程序的事件消息 + * + * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。 + * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。 + */ +@protocol WXApiDelegate +@optional + +/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果 + * + * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。 + * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。 + * @param req 具体请求内容,是自动释放的 + */ +-(void) onReq:(BaseReq*)req; + + + +/*! @brief 发送一个sendReq后,收到微信的回应 + * + * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。 + * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。 + * @param resp具体的回应内容,是自动释放的 + */ +-(void) onResp:(BaseResp*)resp; + +@end + + + +#pragma mark - WXApi + +/*! @brief 微信Api接口函数类 + * + * 该类封装了微信终端SDK的所有接口 + */ +@interface WXApi : NSObject + +/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 + * + * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 + * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。 + * @attention 请保证在主线程中调用此函数 + * @param appid 微信开发者ID + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) registerApp:(NSString *)appid; + + + +/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 + * + * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 + * @see registerApp + * @param appid 微信开发者ID + * @param appdesc 应用附加信息,长度不超过1024字节 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc; + + + +/*! @brief 处理微信通过URL启动App时传递的数据 + * + * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。 + * @param url 微信启动第三方应用时传递过来的URL + * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) handleOpenURL:(NSURL *) url delegate:(id) delegate; + + + +/*! @brief 检查微信是否已被用户安装 + * + * @return 微信已安装返回YES,未安装返回NO。 + */ ++(BOOL) isWXAppInstalled; + + + +/*! @brief 判断当前微信的版本是否支持OpenApi + * + * @return 支持返回YES,不支持返回NO。 + */ ++(BOOL) isWXAppSupportApi; + + + +/*! @brief 获取微信的itunes安装地址 + * + * @return 微信的安装地址字符串。 + */ ++(NSString *) getWXAppInstallUrl; + + + +/*! @brief 获取当前微信SDK的版本号 + * + * @return 返回当前微信SDK的版本号 + */ ++(NSString *) getApiVersion; + + + +/*! @brief 打开微信 + * + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) openWXApp; + + + +/*! @brief 发送请求到微信,等待微信返回onResp + * + * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型 + * SendAuthReq、SendMessageToWXReq、PayReq等。 + * @param req 具体的发送请求,在调用函数后,请自己释放。 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) sendReq:(BaseReq*)req; + +/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp + * + * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。 + * @param req 具体的发送请求,在调用函数后,请自己释放。 + * @param viewController 当前界面对象。 + * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id) delegate; + + +/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面 + * + * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有 + * GetMessageFromWXResp、ShowMessageFromWXResp等。 + * @param resp 具体的应答内容,调用函数后,请自己释放 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) sendResp:(BaseResp*)resp; + + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h new file mode 100644 index 0000000..8b935bf --- /dev/null +++ b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h @@ -0,0 +1,606 @@ +// +// MMApiObject.h +// Api对象,包含所有接口和对象数据定义 +// +// Created by Wechat on 12-2-28. +// Copyright (c) 2012年 Tencent. All rights reserved. +// + +#import + +/*! @brief 错误码 + * + */ +enum WXErrCode { + WXSuccess = 0, /**< 成功 */ + WXErrCodeCommon = -1, /**< 普通错误类型 */ + WXErrCodeUserCancel = -2, /**< 用户点击取消并返回 */ + WXErrCodeSentFail = -3, /**< 发送失败 */ + WXErrCodeAuthDeny = -4, /**< 授权失败 */ + WXErrCodeUnsupport = -5, /**< 微信不支持 */ +}; + + + +/*! @brief 请求发送场景 + * + */ +enum WXScene { + WXSceneSession = 0, /**< 聊天界面 */ + WXSceneTimeline = 1, /**< 朋友圈 */ + WXSceneFavorite = 2, /**< 收藏 */ +}; + + + +enum WXAPISupport { + WXAPISupportSession = 0, +}; + + + +/*! @brief 跳转profile类型 + * + */ +enum WXBizProfileType{ + WXBizProfileType_Normal = 0, //**< 普通公众号 */ + WXBizProfileType_Device = 1, //**< 硬件公众号 */ +}; + + + +/*! @brief 跳转mp网页类型 + * + */ +enum WXMPWebviewType { + WXMPWebviewType_Ad = 0, /**< 广告网页 **/ +}; + +#pragma mark - BaseReq +/*! @brief 该类为微信终端SDK所有请求类的基类 + * + */ +@interface BaseReq : NSObject + +/** 请求类型 */ +@property (nonatomic, assign) int type; +/** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/ +@property (nonatomic, retain) NSString* openID; + +@end + + + +#pragma mark - BaseResp +/*! @brief 该类为微信终端SDK所有响应类的基类 + * + */ +@interface BaseResp : NSObject +/** 错误码 */ +@property (nonatomic, assign) int errCode; +/** 错误提示字符串 */ +@property (nonatomic, retain) NSString *errStr; +/** 响应类型 */ +@property (nonatomic, assign) int type; + +@end + + + +#pragma mark - WXMediaMessage +@class WXMediaMessage; + +/*! @brief 第三方向微信终端发起支付的消息结构体 + * + * 第三方向微信终端发起支付的消息结构体,微信终端处理后会向第三方返回处理结果 + * @see PayResp + */ +@interface PayReq : BaseReq + +/** 商家向财付通申请的商家id */ +@property (nonatomic, retain) NSString *partnerId; +/** 预支付订单 */ +@property (nonatomic, retain) NSString *prepayId; +/** 随机串,防重发 */ +@property (nonatomic, retain) NSString *nonceStr; +/** 时间戳,防重发 */ +@property (nonatomic, assign) UInt32 timeStamp; +/** 商家根据财付通文档填写的数据和签名 */ +@property (nonatomic, retain) NSString *package; +/** 商家根据微信开放平台文档对数据做的签名 */ +@property (nonatomic, retain) NSString *sign; + +@end + + + +#pragma mark - PayResp +/*! @brief 微信终端返回给第三方的关于支付结果的结构体 + * + * 微信终端返回给第三方的关于支付结果的结构体 + */ +@interface PayResp : BaseResp + +/** 财付通返回给商家的信息 */ +@property (nonatomic, retain) NSString *returnKey; + +@end + + + +#pragma mark - SendAuthReq +/*! @brief 第三方程序向微信终端请求认证的消息结构 + * + * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数, + * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。 + * @see SendAuthResp + */ +@interface SendAuthReq : BaseReq +/** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。 + * @see SendAuthResp + * @note scope字符串长度不能超过1K + */ +@property (nonatomic, retain) NSString* scope; +/** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。 + * @note state字符串长度不能超过1K + */ +@property (nonatomic, retain) NSString* state; +@end + + + +#pragma mark - SendAuthResp +/*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。 + * + * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。 + * 微信终端处理完后会向第三方程序发送一个SendAuthResp。 + * @see onResp + */ +@interface SendAuthResp : BaseResp +@property (nonatomic, retain) NSString* code; +/** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传 + * @note state字符串长度不能超过1K + */ +@property (nonatomic, retain) NSString* state; +@property (nonatomic, retain) NSString* lang; +@property (nonatomic, retain) NSString* country; +@end + + + +#pragma mark - SendMessageToWXReq +/*! @brief 第三方程序发送消息至微信终端程序的消息结构体 + * + * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息, + * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。 + * @see SendMessageToWXResp + */ +@interface SendMessageToWXReq : BaseReq +/** 发送消息的文本内容 + * @note 文本长度必须大于0且小于10K + */ +@property (nonatomic, retain) NSString* text; +/** 发送消息的多媒体内容 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */ +@property (nonatomic, assign) BOOL bText; +/** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。 + * @see WXScene + */ +@property (nonatomic, assign) int scene; + +@end + + + +#pragma mark - SendMessageToWXResp +/*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。 + * + * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。 + */ +@interface SendMessageToWXResp : BaseResp +@property(nonatomic, retain) NSString* lang; +@property(nonatomic, retain) NSString* country; +@end + + + +#pragma mark - GetMessageFromWXReq +/*! @brief 微信终端向第三方程序请求提供内容的消息结构体。 + * + * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体, + * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。 + */ +@interface GetMessageFromWXReq : BaseReq +@property (nonatomic, retain) NSString* lang; +@property (nonatomic, retain) NSString* country; +@end + + + +#pragma mark - GetMessageFromWXResp +/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。 + * + * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。 + */ +@interface GetMessageFromWXResp : BaseResp +/** 向微信终端提供的文本内容 + @note 文本长度必须大于0且小于10K + */ +@property (nonatomic, retain) NSString* text; +/** 向微信终端提供的多媒体内容。 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */ +@property (nonatomic, assign) BOOL bText; +@end + + + +#pragma mark - ShowMessageFromWXReq +/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。 + * + * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 + * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 + */ +@interface ShowMessageFromWXReq : BaseReq +/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +@property (nonatomic, retain) NSString* lang; +@property (nonatomic, retain) NSString* country; +@end + + + +#pragma mark - ShowMessageFromWXResp +/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。 + * + * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 + * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 + */ +@interface ShowMessageFromWXResp : BaseResp +@end + + + +#pragma mark - LaunchFromWXReq +/*! @brief 微信终端打开第三方程序携带的消息结构体 + * + * 微信向第三方发送的结构体,第三方不需要返回 + */ +@interface LaunchFromWXReq : BaseReq +@property (nonatomic, retain) WXMediaMessage* message; +@property (nonatomic, retain) NSString* lang; +@property (nonatomic, retain) NSString* country; +@end + + +#pragma mark - JumpToBizProfileReq +/* ! @brief 第三方通知微信,打开指定微信号profile页面 + * + * 第三方通知微信,打开指定微信号profile页面 + */ +@interface JumpToBizProfileReq : BaseReq +/** 跳转到该公众号的profile + * @attention 长度不能超过512字节 + */ +@property (nonatomic, retain) NSString* username; +/** 如果用户加了该公众号为好友,extMsg会上传到服务器 + * @attention 长度不能超过1024字节 + */ +@property (nonatomic, retain) NSString* extMsg; +/** + * 跳转的公众号类型 + * @see WXBizProfileType + */ +@property (nonatomic, assign) int profileType; +@end + + + +#pragma mark - JumpToBizWebviewReq +/* ! @brief 第三方通知微信,打开指定usrname的profile网页版 + * + */ +@interface JumpToBizWebviewReq : BaseReq +/** 跳转的网页类型,目前只支持广告页 + * @see WXMPWebviewType + */ +@property(nonatomic, assign) int webType; +/** 跳转到该公众号的profile网页版 + * @attention 长度不能超过512字节 + */ +@property(nonatomic, retain) NSString* tousrname; +/** 如果用户加了该公众号为好友,extMsg会上传到服务器 + * @attention 长度不能超过1024字节 + */ +@property(nonatomic, retain) NSString* extMsg; + +@end + +#pragma mark - WXCardItem + +@interface WXCardItem : NSObject +/** 卡id + * @attention 长度不能超过1024字节 + */ +@property (nonatomic,retain) NSString* cardId; +/** ext信息 + * @attention 长度不能超过2024字节 + */ +@property (nonatomic,retain) NSString* extMsg; +/** + * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。 + */ +@property (nonatomic,assign) UInt32 cardState; +@end; + +#pragma mark - AddCardToWXCardPackageReq +/* ! @brief 请求添加卡券至微信卡包 + * + */ + +@interface AddCardToWXCardPackageReq : BaseReq +/** 卡列表 + * @attention 个数不能超过40个 类型WXCardItem + */ +@property (nonatomic,retain) NSArray* cardAry; + +@end + + +#pragma mark - AddCardToWXCardPackageResp +/** ! @brief 微信返回第三方添加卡券结果 + * + */ + +@interface AddCardToWXCardPackageResp : BaseResp +/** 卡列表 + * @attention 个数不能超过40个 类型WXCardItem + */ +@property (nonatomic,retain) NSArray* cardAry; +@end + + +#pragma mark - WXMediaMessage + +/*! @brief 多媒体消息结构体 + * + * 用于微信终端和第三方程序之间传递消息的多媒体消息内容 + */ +@interface WXMediaMessage : NSObject + ++(WXMediaMessage *) message; + +/** 标题 + * @note 长度不能超过512字节 + */ +@property (nonatomic, retain) NSString *title; +/** 描述内容 + * @note 长度不能超过1K + */ +@property (nonatomic, retain) NSString *description; +/** 缩略图数据 + * @note 大小不能超过32K + */ +@property (nonatomic, retain) NSData *thumbData; +/** + * @note 长度不能超过64字节 + */ +@property (nonatomic, retain) NSString *mediaTagName; +/** + * + */ +@property (nonatomic, retain) NSString *messageExt; +@property (nonatomic, retain) NSString *messageAction; +/** + * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。 + */ +@property (nonatomic, retain) id mediaObject; + +/*! @brief 设置消息缩略图的方法 + * + * @param image 缩略图 + * @note 大小不能超过32K + */ +- (void) setThumbImage:(UIImage *)image; + +@end + + + +#pragma mark - WXImageObject +/*! @brief 多媒体消息中包含的图片数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的图片数据对象。 + * @note imageData和imageUrl成员不能同时为空 + * @see WXMediaMessage + */ +@interface WXImageObject : NSObject +/*! @brief 返回一个WXImageObject对象 + * + * @note 返回的WXImageObject对象是自动释放的 + */ ++(WXImageObject *) object; + +/** 图片真实数据内容 + * @note 大小不能超过10M + */ +@property (nonatomic, retain) NSData *imageData; +/** 图片url + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *imageUrl; + +@end + + +#pragma mark - WXMusicObject +/*! @brief 多媒体消息中包含的音乐数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。 + * @note musicUrl和musicLowBandUrl成员不能同时为空。 + * @see WXMediaMessage + */ +@interface WXMusicObject : NSObject +/*! @brief 返回一个WXMusicObject对象 + * + * @note 返回的WXMusicObject对象是自动释放的 + */ ++(WXMusicObject *) object; + +/** 音乐网页的url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicUrl; +/** 音乐lowband网页的url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicLowBandUrl; +/** 音乐数据url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicDataUrl; + +/**音乐lowband数据url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicLowBandDataUrl; + +@end + + + +#pragma mark - WXVideoObject +/*! @brief 多媒体消息中包含的视频数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的视频数据对象。 + * @note videoUrl和videoLowBandUrl不能同时为空。 + * @see WXMediaMessage + */ +@interface WXVideoObject : NSObject +/*! @brief 返回一个WXVideoObject对象 + * + * @note 返回的WXVideoObject对象是自动释放的 + */ ++(WXVideoObject *) object; + +/** 视频网页的url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *videoUrl; +/** 视频lowband网页的url地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *videoLowBandUrl; + +@end + + + +#pragma mark - WXWebpageObject +/*! @brief 多媒体消息中包含的网页数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的网页数据对象。 + * @see WXMediaMessage + */ +@interface WXWebpageObject : NSObject +/*! @brief 返回一个WXWebpageObject对象 + * + * @note 返回的WXWebpageObject对象是自动释放的 + */ ++(WXWebpageObject *) object; + +/** 网页的url地址 + * @note 不能为空且长度不能超过10K + */ +@property (nonatomic, retain) NSString *webpageUrl; + +@end + + + +#pragma mark - WXAppExtendObject +/*! @brief 多媒体消息中包含的App扩展数据对象 + * + * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息, + * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。 + * @note url,extInfo和fileData不能同时为空 + * @see WXMediaMessage + */ +@interface WXAppExtendObject : NSObject +/*! @brief 返回一个WXAppExtendObject对象 + * + * @note 返回的WXAppExtendObject对象是自动释放的 + */ ++(WXAppExtendObject *) object; + +/** 若第三方程序不存在,微信终端会打开该url所指的App下载地址 + * @note 长度不能超过10K + */ +@property (nonatomic, retain) NSString *url; +/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 + * @note 长度不能超过2K + */ +@property (nonatomic, retain) NSString *extInfo; +/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 + * @note 大小不能超过10M + */ +@property (nonatomic, retain) NSData *fileData; + +@end + + + +#pragma mark - WXEmoticonObject +/*! @brief 多媒体消息中包含的表情数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的表情数据对象。 + * @see WXMediaMessage + */ +@interface WXEmoticonObject : NSObject + +/*! @brief 返回一个WXEmoticonObject对象 + * + * @note 返回的WXEmoticonObject对象是自动释放的 + */ ++(WXEmoticonObject *) object; + +/** 表情真实数据内容 + * @note 大小不能超过10M + */ +@property (nonatomic, retain) NSData *emoticonData; + +@end + + + +#pragma mark - WXFileObject +/*! @brief 多媒体消息中包含的文件数据对象 + * + * @see WXMediaMessage + */ +@interface WXFileObject : NSObject + +/*! @brief 返回一个WXFileObject对象 + * + * @note 返回的WXFileObject对象是自动释放的 + */ ++(WXFileObject *) object; + +/** 文件后缀名 + * @note 长度不超过64字节 + */ +@property (nonatomic, retain) NSString *fileExtension; + +/** 文件真实数据内容 + * @note 大小不能超过10M + */ +@property (nonatomic, retain) NSData *fileData; + +@end diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a new file mode 100644 index 0000000..bec60cc Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a differ diff --git a/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a new file mode 100644 index 0000000..9a7c9e8 Binary files /dev/null and b/CoreUmeng/CoreUMeng/Lib/Share/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a differ diff --git a/CoreUmeng/CoreUMeng/Share/CoreUmengShare.h b/CoreUmeng/CoreUMeng/Share/CoreUmengShare.h new file mode 100644 index 0000000..91db9ce --- /dev/null +++ b/CoreUmeng/CoreUMeng/Share/CoreUmengShare.h @@ -0,0 +1,28 @@ +// +// CoreUmengShare.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// 友盟分享 + +#import +#import + +@interface CoreUmengShare : NSObject + + +/** + * 分享 + * + * @param vc 控制器 + * @param text 文字 + * @param image 图片 + */ ++(void)show:(UIViewController *)vc text:(NSString *)text image:(id)image; + + + + + +@end diff --git a/CoreUmeng/CoreUMeng/Share/CoreUmengShare.m b/CoreUmeng/CoreUMeng/Share/CoreUmengShare.m new file mode 100644 index 0000000..386d871 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Share/CoreUmengShare.m @@ -0,0 +1,43 @@ +// +// CoreUmengShare.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import "CoreUmengShare.h" +#import "CoreUMeng.h" +#import "UMSocial.h" +#import "UIViewController+Umeng.h" + + +@interface CoreUmengShare () + +@end + +@implementation CoreUmengShare + + + + + + +/** + * 分享 + * + * @param vc 控制器 + * @param text 文字 + * @param image 图片 + */ ++(void)show:(UIViewController *)vc text:(NSString *)text image:(id)image{ + + [UMSocialSnsService presentSnsIconSheetView:vc appKey:[CoreUMeng umengGetAppKey] shareText:text shareImage:image shareToSnsNames:@[UMShareToSina,UMShareToWechatFavorite,UMShareToTencent,UMShareToSms,UMShareToRenren,UMShareToEmail,UMShareToDouban,UMShareToWechatTimeline,UMShareToWechatSession,UMShareToQQ,UMShareToQzone] delegate:vc]; +} + + + + + + +@end diff --git a/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.h b/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.h new file mode 100644 index 0000000..6701d26 --- /dev/null +++ b/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.h @@ -0,0 +1,14 @@ +// +// UIViewController+Umeng.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import +#import "UMSocial.h" + +@interface UIViewController (Umeng) + +@end diff --git a/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.m b/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.m new file mode 100644 index 0000000..7a107ff --- /dev/null +++ b/CoreUmeng/CoreUMeng/Share/UIViewController+Umeng.m @@ -0,0 +1,105 @@ +// +// UIViewController+Umeng.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import "UIViewController+Umeng.h" +#import "CoreSVP.h" + +@implementation UIViewController (Umeng) + +/* + * 代理方法区 + */ + + +/** + 自定义关闭授权页面事件 + + @param navigationCtroller 关闭当前页面的navigationCtroller对象 + + */ +-(BOOL)closeOauthWebViewController:(UINavigationController *)navigationCtroller socialControllerService:(UMSocialControllerService *)socialControllerService{ + NSLog(@"自定义关闭授权页面事件"); + return YES; +} + +/** + 关闭当前页面之后 + + @param fromViewControllerType 关闭的页面类型 + + */ +-(void)didCloseUIViewController:(UMSViewControllerType)fromViewControllerType{ + NSLog(@"关闭当前页面之后"); +} + +/** + 各个页面执行授权完成、分享完成、或者评论完成时的回调函数 + + @param response 返回`UMSocialResponseEntity`对象,`UMSocialResponseEntity`里面的viewControllerType属性可以获得页面类型 + */ +-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response{ + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.8f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self handleResponse:response]; + }); +} + + +-(void)handleResponse:(UMSocialResponseEntity *)response{ + + if(UMSResponseCodeSuccess ==response.responseCode){ + [CoreSVP showSVPWithType:CoreSVPTypeSuccess Msg:@"分享成功" duration:2.0f allowEdit:NO beginBlock:nil completeBlock:nil]; + }else{ + + NSString *res = response.message; + if(res==nil || res.length==0) res= @"分享失败"; + if(UMSResponseCodeCancel == response.responseCode) res = @"您取消了分享"; + + [CoreSVP showSVPWithType:CoreSVPTypeInfo Msg:res duration:2.0f allowEdit:NO beginBlock:nil completeBlock:nil]; + } +} + + + +/** + 点击分享列表页面,之后的回调方法,你可以通过判断不同的分享平台,来设置分享内容。 + 例如: + + -(void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData + { + if (platformName == UMShareToSina) { + socialData.shareText = @"分享到新浪微博的文字内容"; + } + else{ + socialData.shareText = @"分享到其他平台的文字内容"; + } + } + + @param platformName 点击分享平台 + + @prarm socialData 分享内容 + */ +-(void)didSelectSocialPlatform:(NSString *)platformName withSocialData:(UMSocialData *)socialData{ + NSLog(@"点击分享列表页面,之后的回调方法,你可以通过判断不同的分享平台,来设置分享内容"); +} + + +/** + 配置点击分享列表后是否弹出分享内容编辑页面,再弹出分享,默认需要弹出分享编辑页面 + + @result 设置是否需要弹出分享内容编辑页面,默认需要 + + */ +-(BOOL)isDirectShareInIconActionSheet{ + NSLog(@"配置点击分享列表后是否弹出分享内容编辑页面,再弹出分享,默认需要弹出分享编辑页面"); + return NO; +} + + + +@end diff --git a/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPError@2x.png b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPError@2x.png new file mode 100644 index 0000000..28bfdf6 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPError@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPSuccess@2x.png b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPSuccess@2x.png new file mode 100644 index 0000000..f6f5d31 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.bundle/SVPSuccess@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.h b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.h new file mode 100644 index 0000000..8bdfd3f --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.h @@ -0,0 +1,66 @@ +// +// CoreSVP.h +// +// Created by muxi on 14/10/22. +// Copyright (c) 2014年 muxi. All rights reserved. +// 提示工具类 + + + +#import +#import +#import "SVProgressHUD.h" + + +typedef enum { + + CoreSVPTypeCenterMsg=0, //无图片普通提示,显示在屏幕正中间 + + CoreSVPTypeBottomMsg, //无图片普通提示,显示在屏幕下方,tabbar之上 + + CoreSVPTypeInfo, //Info + + CoreSVPTypeLoadingInterface, //Progress,可以互 + + CoreSVPTypeError, //error + + CoreSVPTypeSuccess //success + +}CoreSVPType; + + + + + +@interface CoreSVP : NSObject + + + + +/** +* 展示提示框 +* +* @param type 类型 +* @param msg 文字 +* @param duration 时间(当type=CoreSVPTypeLoadingInterface时无效) +* @param allowEdit 否允许编辑 +* @param beginBlock 提示开始时的回调 +* @param completeBlock 提示结束时的回调 +*/ ++(void)showSVPWithType:(CoreSVPType)type Msg:(NSString *)msg duration:(CGFloat)duration allowEdit:(BOOL)allowEdit beginBlock:(void(^)())beginBlock completeBlock:(void(^)())completeBlock; + + +/* + * 进度 + */ ++(void)showProgess:(CGFloat)progress Msg:(NSString *)msg maskType:(SVProgressHUDMaskType)maskType; + + + + +/** + * 隐藏提示框 + */ ++(void)dismiss; + +@end diff --git a/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.m b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.m new file mode 100644 index 0000000..f2d0b2a --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/CoreSVP.m @@ -0,0 +1,139 @@ +// +// CoreSVP.m +// 新浪微博2014MJ版 +// +// Created by muxi on 14/10/22. +// Copyright (c) 2014年 muxi. All rights reserved. +// + +#import "CoreSVP.h" + +#define rgba(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a] + + +@implementation CoreSVP + + +/** + * 展示提示框 + * + * @param type 类型 + * @param msg 文字 + * @param duration 时间(当type=CoreSVPTypeLoadingInterface时无效) + * @param allowEdit 否允许编辑 + * @param beginBlock 提示开始时的回调 + * @param completeBlock 提示结束时的回调 + */ ++(void)showSVPWithType:(CoreSVPType)type Msg:(NSString *)msg duration:(CGFloat)duration allowEdit:(BOOL)allowEdit beginBlock:(void(^)())beginBlock completeBlock:(void(^)())completeBlock{ + + dispatch_async(dispatch_get_main_queue(), ^{ + + //基本配置 + [self hudSetting]; + + if(CoreSVPTypeBottomMsg == type) [SVProgressHUD setOffsetFromCenter:UIOffsetMake(0, [UIScreen mainScreen].applicationFrame.size.height * .5f-49.0f)]; + + + //设置时间 + [SVProgressHUD setDuration:duration]; + + //错误图片 + [SVProgressHUD setErrorImage:[UIImage imageNamed:@"CoreSVP.bundle/SVPError"]]; + + //成功图片 + [SVProgressHUD setSuccessImage:[UIImage imageNamed:@"CoreSVP.bundle/SVPSuccess"]]; + + SVProgressHUDMaskType maskType=allowEdit?SVProgressHUDMaskTypeNone:SVProgressHUDMaskTypeClear; + [SVProgressHUD setDefaultMaskType:maskType]; + + //开始回调 + if(beginBlock != nil) beginBlock(); + + if(CoreSVPTypeLoadingInterface != type) [SVProgressHUD setCompleteBlock:completeBlock]; + + switch (type) { + + case CoreSVPTypeCenterMsg: + case CoreSVPTypeBottomMsg: + [SVProgressHUD showImage:nil status:msg]; + break; + + case CoreSVPTypeInfo: + [SVProgressHUD showInfoWithStatus:msg]; + break; + + case CoreSVPTypeLoadingInterface: + [SVProgressHUD showWithStatus:msg]; + break; + + case CoreSVPTypeError: + [SVProgressHUD showErrorWithStatus:msg]; + break; + + case CoreSVPTypeSuccess: + [SVProgressHUD showSuccessWithStatus:msg]; + break; + + default: + break; + } + + }); +} + + +/* + * 进度 + */ ++(void)showProgess:(CGFloat)progress Msg:(NSString *)msg maskType:(SVProgressHUDMaskType)maskType{ + + if (progress<=0) progress = 0; + + dispatch_async(dispatch_get_main_queue(), ^{ + + //基本配置 + [self hudSetting]; + + [SVProgressHUD showProgress:progress status:msg maskType:maskType]; + + if(progress>=1) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.5f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self dismiss]; + }); + } + }); +} + + +/* + * 基本配置 + */ ++(void)hudSetting{ + + //设置背景色 + [SVProgressHUD setBackgroundColor:rgba(0, 0, 0, .7f)]; + + //文字颜色 + [SVProgressHUD setForegroundColor:[UIColor whiteColor]]; + + //字体大小 + [SVProgressHUD setFont:[UIFont systemFontOfSize:18.0f]]; + + //设置线宽 + [SVProgressHUD setRingThickness:2.5f]; + + //边角 + [SVProgressHUD setCornerRadius:4.0f]; +} + + +/** + * 隐藏提示框 + */ ++(void)dismiss{ + dispatch_async(dispatch_get_main_queue(), ^{ + [SVProgressHUD dismiss]; + }); +} + +@end diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.h b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.h new file mode 100644 index 0000000..734f9e7 --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.h @@ -0,0 +1,18 @@ +// +// SVIndefiniteAnimatedView.h +// SVProgressHUD +// +// Created by Guillaume Campagna on 2014-12-05. +// +// + +#import + +@interface SVIndefiniteAnimatedView : UIView + +@property (nonatomic, assign) CGFloat strokeThickness; +@property (nonatomic, assign) CGFloat radius; +@property (nonatomic, strong) UIColor *strokeColor; + +@end + diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.m b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.m new file mode 100644 index 0000000..837bf48 --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVIndefiniteAnimatedView.m @@ -0,0 +1,141 @@ +// +// SVIndefiniteAnimatedView.m +// SVProgressHUD +// +// Created by Guillaume Campagna on 2014-12-05. +// +// + +#import "SVIndefiniteAnimatedView.h" + +#pragma mark SVIndefiniteAnimatedView + +@interface SVIndefiniteAnimatedView () + +@property (nonatomic, strong) CAShapeLayer *indefiniteAnimatedLayer; + +@end + +@implementation SVIndefiniteAnimatedView + +- (void)willMoveToSuperview:(UIView *)newSuperview { + if (newSuperview) { + [self layoutAnimatedLayer]; + } else { + [_indefiniteAnimatedLayer removeFromSuperlayer]; + _indefiniteAnimatedLayer = nil; + } +} + +- (void)layoutAnimatedLayer { + CALayer *layer = self.indefiniteAnimatedLayer; + [self.layer addSublayer:layer]; + layer.position = CGPointMake(CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds) / 2, CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds) / 2); +} + +- (CAShapeLayer*)indefiniteAnimatedLayer { + if(!_indefiniteAnimatedLayer) { + CGPoint arcCenter = CGPointMake(self.radius+self.strokeThickness/2+5, self.radius+self.strokeThickness/2+5); + CGRect rect = CGRectMake(0.0f, 0.0f, arcCenter.x*2, arcCenter.y*2); + + UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:arcCenter + radius:self.radius + startAngle:M_PI*3/2 + endAngle:M_PI/2+M_PI*5 + clockwise:YES]; + + _indefiniteAnimatedLayer = [CAShapeLayer layer]; + _indefiniteAnimatedLayer.contentsScale = [[UIScreen mainScreen] scale]; + _indefiniteAnimatedLayer.frame = rect; + _indefiniteAnimatedLayer.fillColor = [UIColor clearColor].CGColor; + _indefiniteAnimatedLayer.strokeColor = self.strokeColor.CGColor; + _indefiniteAnimatedLayer.lineWidth = self.strokeThickness; + _indefiniteAnimatedLayer.lineCap = kCALineCapRound; + _indefiniteAnimatedLayer.lineJoin = kCALineJoinBevel; + _indefiniteAnimatedLayer.path = smoothedPath.CGPath; + + CALayer *maskLayer = [CALayer layer]; + + NSBundle *bundle = [NSBundle bundleForClass:self.class]; + NSURL *url = [bundle URLForResource:@"SVProgressHUD" withExtension:@"bundle"]; + NSBundle *imageBundle = [NSBundle bundleWithURL:url]; + NSString *path = [imageBundle pathForResource:@"angle-mask" ofType:@"png"]; + + maskLayer.contents = (id)[[UIImage imageWithContentsOfFile:path] CGImage];; + maskLayer.frame = _indefiniteAnimatedLayer.bounds; + _indefiniteAnimatedLayer.mask = maskLayer; + + NSTimeInterval animationDuration = 1; + CAMediaTimingFunction *linearCurve = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; + + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; + animation.fromValue = 0; + animation.toValue = @(M_PI*2); + animation.duration = animationDuration; + animation.timingFunction = linearCurve; + animation.removedOnCompletion = NO; + animation.repeatCount = INFINITY; + animation.fillMode = kCAFillModeForwards; + animation.autoreverses = NO; + [_indefiniteAnimatedLayer.mask addAnimation:animation forKey:@"rotate"]; + + CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; + animationGroup.duration = animationDuration; + animationGroup.repeatCount = INFINITY; + animationGroup.removedOnCompletion = NO; + animationGroup.timingFunction = linearCurve; + + CABasicAnimation *strokeStartAnimation = [CABasicAnimation animationWithKeyPath:@"strokeStart"]; + strokeStartAnimation.fromValue = @0.015; + strokeStartAnimation.toValue = @0.515; + + CABasicAnimation *strokeEndAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; + strokeEndAnimation.fromValue = @0.485; + strokeEndAnimation.toValue = @0.985; + + animationGroup.animations = @[strokeStartAnimation, strokeEndAnimation]; + [_indefiniteAnimatedLayer addAnimation:animationGroup forKey:@"progress"]; + + } + return _indefiniteAnimatedLayer; +} + +- (void)setFrame:(CGRect)frame { + if(!CGRectEqualToRect(frame, super.frame)){ + [super setFrame:frame]; + + if (self.superview) { + [self layoutAnimatedLayer]; + } + } + +} + +- (void)setRadius:(CGFloat)radius { + if(radius != _radius){ + _radius = radius; + + [_indefiniteAnimatedLayer removeFromSuperlayer]; + _indefiniteAnimatedLayer = nil; + + if (self.superview) { + [self layoutAnimatedLayer]; + } + } +} + +- (void)setStrokeColor:(UIColor *)strokeColor { + _strokeColor = strokeColor; + _indefiniteAnimatedLayer.strokeColor = strokeColor.CGColor; +} + +- (void)setStrokeThickness:(CGFloat)strokeThickness { + _strokeThickness = strokeThickness; + _indefiniteAnimatedLayer.lineWidth = _strokeThickness; +} + +- (CGSize)sizeThatFits:(CGSize)size { + return CGSizeMake((self.radius+self.strokeThickness/2+5)*2, (self.radius+self.strokeThickness/2+5)*2); +} + +@end diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD-Prefix.pch b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD-Prefix.pch new file mode 100644 index 0000000..2fff997 --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'SVProgressHUD' target in the 'SVProgressHUD' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png new file mode 100644 index 0000000..84d1f7c Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png new file mode 100644 index 0000000..4aa036e Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png new file mode 100644 index 0000000..2a4cd17 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error.png new file mode 100644 index 0000000..3a0c20f Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@2x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@2x.png new file mode 100644 index 0000000..b8bc16c Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@3x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@3x.png new file mode 100644 index 0000000..4cf4c4f Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/error@3x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info.png new file mode 100644 index 0000000..2a31018 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@2x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@2x.png new file mode 100644 index 0000000..1429252 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@3x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@3x.png new file mode 100644 index 0000000..1aadb13 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/info@3x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success.png new file mode 100644 index 0000000..481caf8 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@2x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@2x.png new file mode 100644 index 0000000..c33f9f3 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@2x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@3x.png b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@3x.png new file mode 100644 index 0000000..c6063d0 Binary files /dev/null and b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.bundle/success@3x.png differ diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.h b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.h new file mode 100644 index 0000000..0f21840 --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.h @@ -0,0 +1,90 @@ +// +// SVProgressHUD.h +// +// Copyright 2011-2014 Sam Vermette. All rights reserved. +// +// https://github.com/samvermette/SVProgressHUD +// + +#import +#import + +extern NSString * const SVProgressHUDDidReceiveTouchEventNotification; +extern NSString * const SVProgressHUDDidTouchDownInsideNotification; +extern NSString * const SVProgressHUDWillDisappearNotification; +extern NSString * const SVProgressHUDDidDisappearNotification; +extern NSString * const SVProgressHUDWillAppearNotification; +extern NSString * const SVProgressHUDDidAppearNotification; + +extern NSString * const SVProgressHUDStatusUserInfoKey; + +typedef NS_ENUM(NSUInteger, SVProgressHUDMaskType) { + SVProgressHUDMaskTypeNone = 1, // allow user interactions while HUD is displayed + SVProgressHUDMaskTypeClear, // don't allow user interactions + SVProgressHUDMaskTypeBlack, // don't allow user interactions and dim the UI in the back of the HUD + SVProgressHUDMaskTypeGradient // don't allow user interactions and dim the UI with a a-la-alert-view background gradient +}; + +@interface SVProgressHUD : UIView + +#pragma mark - Customization + ++ (void)setBackgroundColor:(UIColor*)color; // default is [UIColor whiteColor] ++ (void)setForegroundColor:(UIColor*)color; // default is [UIColor blackColor] ++ (void)setCornerRadius:(CGFloat)cornerRadius; // default is 14 pt ++ (void)setRingThickness:(CGFloat)width; // default is 4 pt ++ (void)setFont:(UIFont*)font; // default is [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline] ++ (void)setInfoImage:(UIImage*)image; // default is the bundled info image provided by Freepik ++ (void)setSuccessImage:(UIImage*)image; // default is the bundled success image provided by Freepik ++ (void)setErrorImage:(UIImage*)image; // default is the bundled error image provided by Freepik ++ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType; // default is SVProgressHUDMaskTypeNone ++ (void)setViewForExtension:(UIView*)view; // default is nil, only used if #define SV_APP_EXTENSIONS is set + +#pragma mark - Show Methods + ++ (void)show; ++ (void)showWithMaskType:(SVProgressHUDMaskType)maskType; ++ (void)showWithStatus:(NSString*)status; ++ (void)showWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType; + ++ (void)showProgress:(float)progress; ++ (void)showProgress:(float)progress maskType:(SVProgressHUDMaskType)maskType; ++ (void)showProgress:(float)progress status:(NSString*)status; ++ (void)showProgress:(float)progress status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType; + ++ (void)setStatus:(NSString*)string; // change the HUD loading status while it's showing + +// stops the activity indicator, shows a glyph + status, and dismisses HUD a little bit later ++ (void)showInfoWithStatus:(NSString *)string; ++ (void)showInfoWithStatus:(NSString *)string maskType:(SVProgressHUDMaskType)maskType; + ++ (void)showSuccessWithStatus:(NSString*)string; ++ (void)showSuccessWithStatus:(NSString*)string maskType:(SVProgressHUDMaskType)maskType; + ++ (void)showErrorWithStatus:(NSString *)string; ++ (void)showErrorWithStatus:(NSString *)string maskType:(SVProgressHUDMaskType)maskType; + +// use 28x28 white pngs ++ (void)showImage:(UIImage*)image status:(NSString*)status; ++ (void)showImage:(UIImage*)image status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType; + ++ (void)setOffsetFromCenter:(UIOffset)offset; ++ (void)resetOffsetFromCenter; + ++ (void)popActivity; // decrease activity count, if activity count == 0 the HUD is dismissed ++ (void)dismiss; + ++ (BOOL)isVisible; + + + + + +/** 对HUB进行扩展 */ ++(void)setDuration:(NSTimeInterval)duration; + +/** 完成时回调 */ ++(void)setCompleteBlock:(void(^)())completeBlock; + +@end + diff --git a/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.m b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.m new file mode 100644 index 0000000..a0fce61 --- /dev/null +++ b/CoreUmeng/FrameWorks/CoreSVP/Lib/SVProgressHUD/SVProgressHUD.m @@ -0,0 +1,1020 @@ +// +// SVProgressHUD.m +// +// Copyright 2011-2014 Sam Vermette. All rights reserved. +// +// https://github.com/samvermette/SVProgressHUD +// + +#if !__has_feature(objc_arc) +#error SVProgressHUD is ARC only. Either turn on ARC for the project or use -fobjc-arc flag +#endif + +#import "SVProgressHUD.h" +#import "SVIndefiniteAnimatedView.h" +#import + +NSString * const SVProgressHUDDidReceiveTouchEventNotification = @"SVProgressHUDDidReceiveTouchEventNotification"; +NSString * const SVProgressHUDDidTouchDownInsideNotification = @"SVProgressHUDDidTouchDownInsideNotification"; +NSString * const SVProgressHUDWillDisappearNotification = @"SVProgressHUDWillDisappearNotification"; +NSString * const SVProgressHUDDidDisappearNotification = @"SVProgressHUDDidDisappearNotification"; +NSString * const SVProgressHUDWillAppearNotification = @"SVProgressHUDWillAppearNotification"; +NSString * const SVProgressHUDDidAppearNotification = @"SVProgressHUDDidAppearNotification"; + +NSString * const SVProgressHUDStatusUserInfoKey = @"SVProgressHUDStatusUserInfoKey"; + +static UIColor *SVProgressHUDBackgroundColor; +static UIColor *SVProgressHUDForegroundColor; +static CGFloat SVProgressHUDCornerRadius; +static CGFloat SVProgressHUDRingThickness; +static UIFont *SVProgressHUDFont; +static UIImage *SVProgressHUDInfoImage; +static UIImage *SVProgressHUDSuccessImage; +static UIImage *SVProgressHUDErrorImage; +static SVProgressHUDMaskType SVProgressHUDDefaultMaskType; +static UIView *SVProgressHUDExtensionView; + +static const CGFloat SVProgressHUDRingRadius = 18; +static const CGFloat SVProgressHUDRingNoTextRadius = 24; +static const CGFloat SVProgressHUDParallaxDepthPoints = 10; +static const CGFloat SVProgressHUDUndefinedProgress = -1; + + +static NSTimeInterval durationTime; + +@interface SVProgressHUD () + +@property (nonatomic, readwrite) SVProgressHUDMaskType maskType; +@property (nonatomic, strong, readonly) NSTimer *fadeOutTimer; +@property (nonatomic, readonly, getter = isClear) BOOL clear; + +@property (nonatomic, strong) UIControl *overlayView; +@property (nonatomic, strong) UIView *hudView; +@property (nonatomic, strong) UILabel *stringLabel; +@property (nonatomic, strong) UIImageView *imageView; +@property (nonatomic, strong) SVIndefiniteAnimatedView *indefiniteAnimatedView; + +@property (nonatomic, readwrite) CGFloat progress; +@property (nonatomic, readwrite) NSUInteger activityCount; +@property (nonatomic, strong) CAShapeLayer *backgroundRingLayer; +@property (nonatomic, strong) CAShapeLayer *ringLayer; + +@property (nonatomic, readonly) CGFloat visibleKeyboardHeight; +@property (nonatomic, assign) UIOffset offsetFromCenter; + +@property (nonatomic,copy) void(^CompleteBlock) (); + +- (void)showProgress:(float)progress status:(NSString*)string maskType:(SVProgressHUDMaskType)hudMaskType; +- (void)showImage:(UIImage*)image status:(NSString*)status duration:(NSTimeInterval)duration maskType:(SVProgressHUDMaskType)hudMaskType; + +- (void)dismiss; + +- (void)setStatus:(NSString*)string; +- (void)registerNotifications; +- (NSDictionary *)notificationUserInfo; +- (void)moveToPoint:(CGPoint)newCenter rotateAngle:(CGFloat)angle; +- (void)positionHUD:(NSNotification*)notification; +- (NSTimeInterval)displayDurationForString:(NSString*)string; + +@end + + +@implementation SVProgressHUD + ++ (SVProgressHUD*)sharedView { + static dispatch_once_t once; + static SVProgressHUD *sharedView; + dispatch_once(&once, ^ { sharedView = [[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; }); + return sharedView; +} + + +#pragma mark - Setters + ++ (void)setStatus:(NSString *)string { + [[self sharedView] setStatus:string]; +} + ++ (void)setBackgroundColor:(UIColor *)color { + [self sharedView].hudView.backgroundColor = color; + SVProgressHUDBackgroundColor = color; +} + ++ (void)setForegroundColor:(UIColor *)color { + [self sharedView]; + SVProgressHUDForegroundColor = color; +} + ++ (void)setCornerRadius:(CGFloat)cornerRadius { + [self sharedView].hudView.layer.cornerRadius = cornerRadius; + SVProgressHUDCornerRadius = cornerRadius; +} + ++ (void)setFont:(UIFont *)font { + [self sharedView]; + SVProgressHUDFont = font; +} + ++ (void)setRingThickness:(CGFloat)width { + [self sharedView]; + SVProgressHUDRingThickness = width; +} + ++ (void)setInfoImage:(UIImage*)image{ + [self sharedView]; + SVProgressHUDInfoImage = image; +} + ++ (void)setSuccessImage:(UIImage *)image { + [self sharedView]; + SVProgressHUDSuccessImage = image; +} + ++ (void)setErrorImage:(UIImage *)image { + [self sharedView]; + SVProgressHUDErrorImage = image; +} + ++ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType{ + [self sharedView]; + SVProgressHUDDefaultMaskType = maskType; +} + ++ (void)setViewForExtension:(UIView *)view{ + [self sharedView]; + SVProgressHUDExtensionView = view; +} + + +#pragma mark - Show Methods + ++ (void)show { + [self showWithStatus:nil]; +} + ++ (void)showWithMaskType:(SVProgressHUDMaskType)maskType { + [self showProgress:SVProgressHUDUndefinedProgress maskType:maskType]; +} + ++ (void)showWithStatus:(NSString *)status { + [self showProgress:SVProgressHUDUndefinedProgress status:status]; +} + ++ (void)showWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { + [self showProgress:SVProgressHUDUndefinedProgress status:status maskType:maskType]; +} + ++ (void)showProgress:(float)progress { + [self sharedView]; + [self showProgress:progress maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showProgress:(float)progress maskType:(SVProgressHUDMaskType)maskType{ + [self showProgress:progress status:nil maskType:maskType]; +} + ++ (void)showProgress:(float)progress status:(NSString *)status { + [self sharedView]; + [self showProgress:progress status:status maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showProgress:(float)progress status:(NSString *)status maskType:(SVProgressHUDMaskType)maskType { + [[self sharedView] showProgress:progress status:status maskType:maskType]; +} + + +#pragma mark - Show then dismiss methods + ++ (void)showInfoWithStatus:(NSString *)string { + [self sharedView]; + [self showInfoWithStatus:string maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showInfoWithStatus:(NSString *)string maskType:(SVProgressHUDMaskType)maskType { + [self sharedView]; + [self showImage:SVProgressHUDInfoImage status:string maskType:maskType]; +} + ++ (void)showSuccessWithStatus:(NSString *)string { + [self sharedView]; + [self showSuccessWithStatus:string maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showSuccessWithStatus:(NSString *)string maskType:(SVProgressHUDMaskType)maskType { + [self sharedView]; + [self showImage:SVProgressHUDSuccessImage status:string maskType:maskType]; +} + ++ (void)showErrorWithStatus:(NSString *)string { + [self sharedView]; + [self showErrorWithStatus:string maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showErrorWithStatus:(NSString *)string maskType:(SVProgressHUDMaskType)maskType { + [self sharedView]; + [self showImage:SVProgressHUDErrorImage status:string maskType:maskType]; +} + ++ (void)showImage:(UIImage *)image status:(NSString *)string { + [self sharedView]; + [self showImage:image status:string maskType:SVProgressHUDDefaultMaskType]; +} + ++ (void)showImage:(UIImage *)image status:(NSString *)string maskType:(SVProgressHUDMaskType)maskType { + NSTimeInterval displayInterval = [[self sharedView] displayDurationForString:string]; + if(durationTime!= 0) displayInterval = durationTime; + + [[self sharedView] showImage:image status:string duration:displayInterval maskType:maskType]; +} + + +#pragma mark - Dismiss Methods + ++ (void)popActivity { + if([self sharedView].activityCount > 0) + [self sharedView].activityCount--; + if([self sharedView].activityCount == 0) + [[self sharedView] dismiss]; +} + ++ (void)dismiss { + if ([self isVisible]) { + [[self sharedView] dismiss]; + } +} + + +#pragma mark - Offset + ++ (void)setOffsetFromCenter:(UIOffset)offset { + [self sharedView].offsetFromCenter = offset; +} + ++ (void)resetOffsetFromCenter { + [self setOffsetFromCenter:UIOffsetZero]; +} + + +#pragma mark - Instance Methods + +- (instancetype)initWithFrame:(CGRect)frame { + if ((self = [super initWithFrame:frame])) { + self.userInteractionEnabled = NO; + self.backgroundColor = [UIColor clearColor]; + self.alpha = 0.0f; + _activityCount = 0; + + SVProgressHUDBackgroundColor = [UIColor whiteColor]; + SVProgressHUDForegroundColor = [UIColor blackColor]; + SVProgressHUDCornerRadius = 14; + if ([UIFont respondsToSelector:@selector(preferredFontForTextStyle:)]) { + SVProgressHUDFont = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; + } else { + SVProgressHUDFont = [UIFont systemFontOfSize:14.0f]; + SVProgressHUDBackgroundColor = [UIColor colorWithWhite:0.0f alpha:0.8f]; + SVProgressHUDForegroundColor = [UIColor whiteColor]; + } + + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + NSURL *url = [bundle URLForResource:@"SVProgressHUD" withExtension:@"bundle"]; + NSBundle *imageBundle = [NSBundle bundleWithURL:url]; + + UIImage* infoImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"info" ofType:@"png"]]; + UIImage* successImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"success" ofType:@"png"]]; + UIImage* errorImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"error" ofType:@"png"]]; + + if ([[UIImage class] instancesRespondToSelector:@selector(imageWithRenderingMode:)]) { + SVProgressHUDInfoImage = [infoImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + SVProgressHUDSuccessImage = [successImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + SVProgressHUDErrorImage = [errorImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + } else { + SVProgressHUDInfoImage = infoImage; + SVProgressHUDSuccessImage = successImage; + SVProgressHUDErrorImage = errorImage; + } + + SVProgressHUDRingThickness = 2; + SVProgressHUDDefaultMaskType = SVProgressHUDMaskTypeNone; + } + + return self; +} + +- (void)drawRect:(CGRect)rect { + CGContextRef context = UIGraphicsGetCurrentContext(); + + switch (self.maskType) { + case SVProgressHUDMaskTypeBlack: { + + [[UIColor colorWithWhite:0 alpha:0.5] set]; + CGContextFillRect(context, self.bounds); + + break; + } + case SVProgressHUDMaskTypeGradient: { + + size_t locationsCount = 2; + CGFloat locations[2] = {0.0f, 1.0f}; + CGFloat colors[8] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.75f}; + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, locationsCount); + CGColorSpaceRelease(colorSpace); + + CGFloat freeHeight = CGRectGetHeight(self.bounds) - self.visibleKeyboardHeight; + + CGPoint center = CGPointMake(CGRectGetWidth(self.bounds)/2, freeHeight/2); + float radius = MIN(CGRectGetWidth(self.bounds) , CGRectGetHeight(self.bounds)) ; + CGContextDrawRadialGradient (context, gradient, center, 0, center, radius, kCGGradientDrawsAfterEndLocation); + CGGradientRelease(gradient); + + break; + } + default: + break; + } +} + +- (void)updatePosition { + + CGFloat hudWidth = 100.0f; + CGFloat hudHeight = 100.0f; + CGFloat stringHeightBuffer = 20.0f; + CGFloat stringAndContentHeightBuffer = 80.0f; + + CGFloat stringWidth = 0.0f; + CGFloat stringHeight = 0.0f; + CGRect labelRect = CGRectZero; + + NSString *string = self.stringLabel.text; + + // Check if an image or progress ring is displayed + BOOL imageUsed = (self.imageView.image) || (self.imageView.hidden); + BOOL progressUsed = (self.progress != SVProgressHUDUndefinedProgress) && (self.progress >= 0.0f); + + if(string) { + CGSize constraintSize = CGSizeMake(200.0f, 300.0f); + CGRect stringRect; + if ([string respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]){ + stringRect = [string boundingRectWithSize:constraintSize + options:(NSStringDrawingOptions)(NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin) + attributes:@{NSFontAttributeName: self.stringLabel.font} + context:NULL]; + } else { + CGSize stringSize; + if ([string respondsToSelector:@selector(sizeWithAttributes:)]){ + stringSize = [string sizeWithAttributes:@{NSFontAttributeName:[UIFont fontWithName:self.stringLabel.font.fontName size:self.stringLabel.font.pointSize]}]; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated" + stringSize = [string sizeWithFont:self.stringLabel.font constrainedToSize:CGSizeMake(200.0f, 300.0f)]; +#pragma clang diagnostic pop + } + stringRect = CGRectMake(0.0f, 0.0f, stringSize.width, stringSize.height); + } + stringWidth = stringRect.size.width; + stringHeight = ceil(CGRectGetHeight(stringRect)); + + if (imageUsed || progressUsed){ + hudHeight = stringAndContentHeightBuffer + stringHeight; + } else { + hudHeight = stringHeightBuffer + stringHeight; + } + if(stringWidth > hudWidth){ + hudWidth = ceil(stringWidth/2) * 2; + } + + CGFloat labelRectY = (imageUsed || progressUsed) ? 68.0f : 9.0f; + if(hudHeight > 100.0f) { + labelRect = CGRectMake(12.0f, labelRectY, hudWidth, stringHeight); + hudWidth += 24.0f; + } else { + hudWidth += 24.0f; + labelRect = CGRectMake(0.0f, labelRectY, hudWidth, stringHeight); + } + } + self.hudView.bounds = CGRectMake(0.0f, 0.0f, hudWidth, hudHeight); + + if(string){ + self.imageView.center = CGPointMake(CGRectGetWidth(self.hudView.bounds)/2, 36.0f); + } else { + self.imageView.center = CGPointMake(CGRectGetWidth(self.hudView.bounds)/2, CGRectGetHeight(self.hudView.bounds)/2); + } + self.stringLabel.hidden = NO; + self.stringLabel.frame = labelRect; + + // Animate value update + [CATransaction begin]; + [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; + + if(string) { + self.indefiniteAnimatedView.radius = SVProgressHUDRingRadius; + [self.indefiniteAnimatedView sizeToFit]; + + CGPoint center = CGPointMake((CGRectGetWidth(self.hudView.bounds)/2), 36.0f); + self.indefiniteAnimatedView.center = center; + + if(self.progress != SVProgressHUDUndefinedProgress){ + self.backgroundRingLayer.position = self.ringLayer.position = CGPointMake((CGRectGetWidth(self.hudView.bounds)/2), 36.0f); + } + } else { + self.indefiniteAnimatedView.radius = SVProgressHUDRingNoTextRadius; + [self.indefiniteAnimatedView sizeToFit]; + + CGPoint center = CGPointMake((CGRectGetWidth(self.hudView.bounds)/2), CGRectGetHeight(self.hudView.bounds)/2); + self.indefiniteAnimatedView.center = center; + + if(self.progress != SVProgressHUDUndefinedProgress){ + self.backgroundRingLayer.position = self.ringLayer.position = CGPointMake((CGRectGetWidth(self.hudView.bounds)/2), CGRectGetHeight(self.hudView.bounds)/2); + } + } + + [CATransaction commit]; +} + +- (void)setStatus:(NSString *)string { + self.stringLabel.text = string; + [self updatePosition]; + +} + +- (void)setFadeOutTimer:(NSTimer *)newTimer { + if(_fadeOutTimer) + [_fadeOutTimer invalidate], _fadeOutTimer = nil; + + if(newTimer) + _fadeOutTimer = newTimer; +} + + +- (void)registerNotifications { + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(positionHUD:) + name:UIApplicationDidChangeStatusBarOrientationNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(positionHUD:) + name:UIKeyboardWillHideNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(positionHUD:) + name:UIKeyboardDidHideNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(positionHUD:) + name:UIKeyboardWillShowNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(positionHUD:) + name:UIKeyboardDidShowNotification + object:nil]; +} + + +- (NSDictionary *)notificationUserInfo{ + return (self.stringLabel.text ? @{SVProgressHUDStatusUserInfoKey : self.stringLabel.text} : nil); +} + + +- (void)positionHUD:(NSNotification*)notification { + + CGFloat keyboardHeight = 0.0f; + double animationDuration = 0.0; + + self.frame = UIScreen.mainScreen.bounds; + +#if !defined(SV_APP_EXTENSIONS) + UIInterfaceOrientation orientation = UIApplication.sharedApplication.statusBarOrientation; +#else + UIInterfaceOrientation orientation = CGRectGetWidth(self.frame) > CGRectGetHeight(self.frame) ? UIInterfaceOrientationLandscapeLeft : UIInterfaceOrientationPortrait; +#endif + // no transforms applied to window in iOS 8, but only if compiled with iOS 8 sdk as base sdk, otherwise system supports old rotation logic. + BOOL ignoreOrientation = NO; +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 + if ([[NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion)]) { + ignoreOrientation = YES; + } +#endif + + if(notification) { + NSDictionary* keyboardInfo = [notification userInfo]; + CGRect keyboardFrame = [keyboardInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue]; + animationDuration = [keyboardInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + + if(notification.name == UIKeyboardWillShowNotification || notification.name == UIKeyboardDidShowNotification) { + if(ignoreOrientation || UIInterfaceOrientationIsPortrait(orientation)) + keyboardHeight = CGRectGetHeight(keyboardFrame); + else + keyboardHeight = CGRectGetWidth(keyboardFrame); + } + } else { + keyboardHeight = self.visibleKeyboardHeight; + } + + CGRect orientationFrame = self.bounds; +#if !defined(SV_APP_EXTENSIONS) + CGRect statusBarFrame = UIApplication.sharedApplication.statusBarFrame; +#else + CGRect statusBarFrame = CGRectZero; +#endif + + if(!ignoreOrientation && UIInterfaceOrientationIsLandscape(orientation)) { + float temp = CGRectGetWidth(orientationFrame); + orientationFrame.size.width = CGRectGetHeight(orientationFrame); + orientationFrame.size.height = temp; + + temp = CGRectGetWidth(statusBarFrame); + statusBarFrame.size.width = CGRectGetHeight(statusBarFrame); + statusBarFrame.size.height = temp; + } + + CGFloat activeHeight = CGRectGetHeight(orientationFrame); + + if(keyboardHeight > 0) + activeHeight += CGRectGetHeight(statusBarFrame)*2; + + activeHeight -= keyboardHeight; + CGFloat posY = floor(activeHeight*0.45); + CGFloat posX = CGRectGetWidth(orientationFrame)/2; + + CGPoint newCenter; + CGFloat rotateAngle; + + if (ignoreOrientation) { + rotateAngle = 0.0; + newCenter = CGPointMake(posX, posY); + } else { + switch (orientation) { + case UIInterfaceOrientationPortraitUpsideDown: + rotateAngle = M_PI; + newCenter = CGPointMake(posX, CGRectGetHeight(orientationFrame)-posY); + break; + case UIInterfaceOrientationLandscapeLeft: + rotateAngle = -M_PI/2.0f; + newCenter = CGPointMake(posY, posX); + break; + case UIInterfaceOrientationLandscapeRight: + rotateAngle = M_PI/2.0f; + newCenter = CGPointMake(CGRectGetHeight(orientationFrame)-posY, posX); + break; + default: // as UIInterfaceOrientationPortrait + rotateAngle = 0.0; + newCenter = CGPointMake(posX, posY); + break; + } + } + + if(notification) { + [UIView animateWithDuration:animationDuration + delay:0 + options:UIViewAnimationOptionAllowUserInteraction + animations:^{ + [self moveToPoint:newCenter rotateAngle:rotateAngle]; + [self.hudView setNeedsDisplay]; + } completion:NULL]; + } else { + [self moveToPoint:newCenter rotateAngle:rotateAngle]; + [self.hudView setNeedsDisplay]; + } + +} + +- (void)moveToPoint:(CGPoint)newCenter rotateAngle:(CGFloat)angle { + self.hudView.transform = CGAffineTransformMakeRotation(angle); + self.hudView.center = CGPointMake(newCenter.x + self.offsetFromCenter.horizontal, newCenter.y + self.offsetFromCenter.vertical); +} + +- (void)overlayViewDidReceiveTouchEvent:(id)sender forEvent:(UIEvent *)event { + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidReceiveTouchEventNotification object:event]; + + UITouch *touch = event.allTouches.anyObject; + CGPoint touchLocation = [touch locationInView:self]; + + if (CGRectContainsPoint(self.hudView.frame, touchLocation)) { + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidTouchDownInsideNotification object:event]; + } +} + + +#pragma mark - Master show/dismiss methods + +- (void)showProgress:(float)progress status:(NSString*)string maskType:(SVProgressHUDMaskType)hudMaskType { + if(!self.overlayView.superview){ +#if !defined(SV_APP_EXTENSIONS) + NSEnumerator *frontToBackWindows = [UIApplication.sharedApplication.windows reverseObjectEnumerator]; + for (UIWindow *window in frontToBackWindows){ + BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen; + BOOL windowIsVisible = !window.hidden && window.alpha > 0; + BOOL windowLevelNormal = window.windowLevel == UIWindowLevelNormal; + + if (windowOnMainScreen && windowIsVisible && windowLevelNormal) { + [window addSubview:self.overlayView]; + break; + } + } +#else + if(SVProgressHUDExtensionView){ + [SVProgressHUDExtensionView addSubview:self.overlayView]; + } +#endif + } else { + // Ensure that overlay will be exactly on top of rootViewController (which may be changed during runtime). + [self.overlayView.superview bringSubviewToFront:self.overlayView]; + } + + if(!self.superview) + [self.overlayView addSubview:self]; + + if(self.fadeOutTimer){ + self.activityCount = 0; + } + self.fadeOutTimer = nil; + self.imageView.hidden = YES; + self.maskType = hudMaskType; + self.progress = progress; + + self.stringLabel.text = string; + [self updatePosition]; + + if(progress >= 0) { + self.imageView.image = nil; + self.imageView.hidden = NO; + [self.indefiniteAnimatedView removeFromSuperview]; + + self.ringLayer.strokeEnd = progress; + + if(progress == 0) + self.activityCount++; + } else { + self.activityCount++; + [self cancelRingLayerAnimation]; + [self.hudView addSubview:self.indefiniteAnimatedView]; + } + + if(self.maskType != SVProgressHUDMaskTypeNone) { + self.overlayView.userInteractionEnabled = YES; + self.accessibilityLabel = string; + self.isAccessibilityElement = YES; + } else { + self.overlayView.userInteractionEnabled = NO; + self.hudView.accessibilityLabel = string; + self.hudView.isAccessibilityElement = YES; + } + + self.overlayView.hidden = NO; + self.overlayView.backgroundColor = [UIColor clearColor]; + [self positionHUD:nil]; + + if(self.alpha != 1 || self.hudView.alpha != 1) { + NSDictionary *userInfo = [self notificationUserInfo]; + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDWillAppearNotification + object:nil + userInfo:userInfo]; + + [self registerNotifications]; + self.hudView.transform = CGAffineTransformScale(self.hudView.transform, 1.3, 1.3); + + if(self.isClear) { + self.alpha = 1; + self.hudView.alpha = 0; + } + + [UIView animateWithDuration:0.15 + delay:0 + options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationCurveEaseOut | UIViewAnimationOptionBeginFromCurrentState + animations:^{ + self.hudView.transform = CGAffineTransformScale(self.hudView.transform, 1/1.3, 1/1.3); + + if(self.isClear) // handle iOS 7 and 8 UIToolbar which not answers well to hierarchy opacity change + self.hudView.alpha = 1; + else + self.alpha = 1; + } + completion:^(BOOL finished){ + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidAppearNotification + object:nil + userInfo:userInfo]; + UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil); + UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string); + }]; + + [self setNeedsDisplay]; + } +} + +- (UIImage *)image:(UIImage *)image withTintColor:(UIColor *)color{ + CGRect rect = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height); + UIGraphicsBeginImageContextWithOptions(rect.size, NO, image.scale); + CGContextRef c = UIGraphicsGetCurrentContext(); + [image drawInRect:rect]; + CGContextSetFillColorWithColor(c, [color CGColor]); + CGContextSetBlendMode(c, kCGBlendModeSourceAtop); + CGContextFillRect(c, rect); + UIImage *tintedImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return tintedImage; +} + +- (void)showImage:(UIImage *)image status:(NSString *)string duration:(NSTimeInterval)duration maskType:(SVProgressHUDMaskType)hudMaskType { + self.progress = SVProgressHUDUndefinedProgress; + self.maskType = hudMaskType; + [self cancelRingLayerAnimation]; + + if(![[self class] isVisible]) + [[self class] showWithMaskType:self.maskType]; + + if ([self.imageView respondsToSelector:@selector(setTintColor:)]) { + self.imageView.tintColor = SVProgressHUDForegroundColor; + } else { + image = [self image:image withTintColor:SVProgressHUDForegroundColor]; + } + self.imageView.image = image; + self.imageView.hidden = NO; + + self.stringLabel.text = string; + [self updatePosition]; + [self.indefiniteAnimatedView removeFromSuperview]; + + if(self.maskType != SVProgressHUDMaskTypeNone) { + self.overlayView.userInteractionEnabled = YES; + self.accessibilityLabel = string; + self.isAccessibilityElement = YES; + } else { + self.overlayView.userInteractionEnabled = NO; + self.hudView.accessibilityLabel = string; + self.hudView.isAccessibilityElement = YES; + } + + UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil); + UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string); + + self.fadeOutTimer = [NSTimer timerWithTimeInterval:duration target:self selector:@selector(dismiss) userInfo:nil repeats:NO]; + [[NSRunLoop mainRunLoop] addTimer:self.fadeOutTimer forMode:NSRunLoopCommonModes]; +} + +- (void)dismiss { + + if(![SVProgressHUD isVisible]) return; + + NSDictionary *userInfo = [self notificationUserInfo]; + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDWillDisappearNotification + object:nil + userInfo:userInfo]; + + self.activityCount = 0; + [UIView animateWithDuration:0.15 + delay:0 + options:UIViewAnimationCurveEaseIn | UIViewAnimationOptionAllowUserInteraction + animations:^{ + self.hudView.transform = CGAffineTransformScale(self.hudView.transform, 0.8f, 0.8f); + if(self.isClear) // handle iOS 7 UIToolbar not answer well to hierarchy opacity change + self.hudView.alpha = 0.0f; + else + self.alpha = 0.0f; + } + completion:^(BOOL finished){ + if(self.alpha == 0.0f || self.hudView.alpha == 0.0f) { + self.alpha = 0.0f; + self.hudView.alpha = 0.0f; + + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [self cancelRingLayerAnimation]; + [_hudView removeFromSuperview]; + _hudView = nil; + + [_overlayView removeFromSuperview]; + _overlayView = nil; + + [_indefiniteAnimatedView removeFromSuperview]; + _indefiniteAnimatedView = nil; + + UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil); + + [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidDisappearNotification + object:nil + userInfo:userInfo]; + + // Tell the rootViewController to update the StatusBar appearance +#if !defined(SV_APP_EXTENSIONS) + UIViewController *rootController = [[UIApplication sharedApplication] keyWindow].rootViewController; + if ([rootController respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { + [rootController setNeedsStatusBarAppearanceUpdate]; + } +#endif + // uncomment to make sure UIWindow is gone from app.windows + //NSLog(@"%@", [UIApplication sharedApplication].windows); + //NSLog(@"keyWindow = %@", [UIApplication sharedApplication].keyWindow); + } + }]; + + dispatch_async(dispatch_get_main_queue(), ^{ + if(self.CompleteBlock != nil) _CompleteBlock(); + }); +} + + +#pragma mark - Ring progress animation + +- (SVIndefiniteAnimatedView *)indefiniteAnimatedView { + if (_indefiniteAnimatedView == nil) { + _indefiniteAnimatedView = [[SVIndefiniteAnimatedView alloc] initWithFrame:CGRectZero]; + _indefiniteAnimatedView.strokeThickness = SVProgressHUDRingThickness; + _indefiniteAnimatedView.strokeColor = SVProgressHUDForegroundColor; + _indefiniteAnimatedView.radius = self.stringLabel.text ? SVProgressHUDRingRadius : SVProgressHUDRingNoTextRadius; + [_indefiniteAnimatedView sizeToFit]; + } + return _indefiniteAnimatedView; +} + +- (CAShapeLayer *)ringLayer { + if(!_ringLayer) { + CGPoint center = CGPointMake(CGRectGetWidth(_hudView.frame)/2, CGRectGetHeight(_hudView.frame)/2); + _ringLayer = [self createRingLayerWithCenter:center + radius:SVProgressHUDRingRadius + lineWidth:SVProgressHUDRingThickness + color:SVProgressHUDForegroundColor]; + [self.hudView.layer addSublayer:_ringLayer]; + } + return _ringLayer; +} + +- (CAShapeLayer *)backgroundRingLayer { + if(!_backgroundRingLayer) { + CGPoint center = CGPointMake(CGRectGetWidth(_hudView.frame)/2, CGRectGetHeight(_hudView.frame)/2); + _backgroundRingLayer = [self createRingLayerWithCenter:center + radius:SVProgressHUDRingRadius + lineWidth:SVProgressHUDRingThickness + color:[SVProgressHUDForegroundColor colorWithAlphaComponent:0.1f]]; + _backgroundRingLayer.strokeEnd = 1; + [self.hudView.layer addSublayer:_backgroundRingLayer]; + } + return _backgroundRingLayer; +} + +- (void)cancelRingLayerAnimation { + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + [_hudView.layer removeAllAnimations]; + + _ringLayer.strokeEnd = 0.0f; + if (_ringLayer.superlayer) { + [_ringLayer removeFromSuperlayer]; + } + _ringLayer = nil; + + if (_backgroundRingLayer.superlayer) { + [_backgroundRingLayer removeFromSuperlayer]; + } + _backgroundRingLayer = nil; + + [CATransaction commit]; +} + +- (CAShapeLayer *)createRingLayerWithCenter:(CGPoint)center radius:(CGFloat)radius lineWidth:(CGFloat)lineWidth color:(UIColor *)color { + + UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(radius, radius) radius:radius startAngle:-M_PI_2 endAngle:(M_PI + M_PI_2) clockwise:YES]; + + CAShapeLayer *slice = [CAShapeLayer layer]; + slice.contentsScale = [[UIScreen mainScreen] scale]; + slice.frame = CGRectMake(center.x-radius, center.y-radius, radius*2, radius*2); + slice.fillColor = [UIColor clearColor].CGColor; + slice.strokeColor = color.CGColor; + slice.lineWidth = lineWidth; + slice.lineCap = kCALineCapRound; + slice.lineJoin = kCALineJoinBevel; + slice.path = smoothedPath.CGPath; + + return slice; +} + +#pragma mark - Utilities + ++ (BOOL)isVisible { + return ([self sharedView].alpha == 1); +} + + +#pragma mark - Getters + +- (NSTimeInterval)displayDurationForString:(NSString*)string { + return MIN((float)string.length*0.06 + 0.5, 5.0); +} + +- (BOOL)isClear { // used for iOS 7 and above + return (self.maskType == SVProgressHUDMaskTypeClear || self.maskType == SVProgressHUDMaskTypeNone); +} + +- (UIControl *)overlayView { + if(!_overlayView) { + _overlayView = [[UIControl alloc] initWithFrame:[UIScreen mainScreen].bounds]; + _overlayView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + _overlayView.backgroundColor = [UIColor clearColor]; + [_overlayView addTarget:self action:@selector(overlayViewDidReceiveTouchEvent:forEvent:) forControlEvents:UIControlEventTouchDown]; + } + return _overlayView; +} + +- (UIView *)hudView { + if(!_hudView) { + _hudView = [[UIView alloc] initWithFrame:CGRectZero]; + _hudView.backgroundColor = SVProgressHUDBackgroundColor; + _hudView.layer.cornerRadius = SVProgressHUDCornerRadius; + _hudView.layer.masksToBounds = YES; + + _hudView.autoresizingMask = (UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin | + UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin); + + if ([_hudView respondsToSelector:@selector(addMotionEffect:)]) { + UIInterpolatingMotionEffect *effectX = [[UIInterpolatingMotionEffect alloc] initWithKeyPath: @"center.x" type: UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis]; + effectX.minimumRelativeValue = @(-SVProgressHUDParallaxDepthPoints); + effectX.maximumRelativeValue = @(SVProgressHUDParallaxDepthPoints); + + UIInterpolatingMotionEffect *effectY = [[UIInterpolatingMotionEffect alloc] initWithKeyPath: @"center.y" type: UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis]; + effectY.minimumRelativeValue = @(-SVProgressHUDParallaxDepthPoints); + effectY.maximumRelativeValue = @(SVProgressHUDParallaxDepthPoints); + + UIMotionEffectGroup *effectGroup = [[UIMotionEffectGroup alloc] init]; + effectGroup.motionEffects = @[effectX, effectY]; + [_hudView addMotionEffect:effectGroup]; + } + } + + if(!_hudView.superview) + [self addSubview:_hudView]; + return _hudView; +} + +- (UILabel *)stringLabel { + if (!_stringLabel) { + _stringLabel = [[UILabel alloc] initWithFrame:CGRectZero]; + _stringLabel.backgroundColor = [UIColor clearColor]; + _stringLabel.adjustsFontSizeToFitWidth = YES; + _stringLabel.textAlignment = NSTextAlignmentCenter; + _stringLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters; + _stringLabel.numberOfLines = 0; + } + + if(!_stringLabel.superview) + [self.hudView addSubview:_stringLabel]; + + _stringLabel.textColor = SVProgressHUDForegroundColor; + _stringLabel.font = SVProgressHUDFont; + + return _stringLabel; +} + +- (UIImageView *)imageView { + if (!_imageView) + _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 28.0f, 28.0f)]; + + if(!_imageView.superview) + [self.hudView addSubview:_imageView]; + + return _imageView; +} + + +- (CGFloat)visibleKeyboardHeight { +#if !defined(SV_APP_EXTENSIONS) + UIWindow *keyboardWindow = nil; + for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) { + if(![[testWindow class] isEqual:[UIWindow class]]) { + keyboardWindow = testWindow; + break; + } + } + + for (__strong UIView *possibleKeyboard in [keyboardWindow subviews]) { + if ([possibleKeyboard isKindOfClass:NSClassFromString(@"UIPeripheralHostView")] || [possibleKeyboard isKindOfClass:NSClassFromString(@"UIKeyboard")]) { + return CGRectGetHeight(possibleKeyboard.bounds); + } else if ([possibleKeyboard isKindOfClass:NSClassFromString(@"UIInputSetContainerView")]) { + for (__strong UIView *possibleKeyboardSubview in [possibleKeyboard subviews]) { + if ([possibleKeyboardSubview isKindOfClass:NSClassFromString(@"UIInputSetHostView")]) { + return CGRectGetHeight(possibleKeyboardSubview.bounds); + } + } + } + } +#endif + return 0; +} + + + +/** 对HUB进行扩展 */ ++(void)setDuration:(NSTimeInterval)duration{ + durationTime = duration; +} + +/** 完成时回调 */ ++(void)setCompleteBlock:(void(^)())completeBlock{ + [self sharedView].CompleteBlock = completeBlock; +} + + +@end + diff --git a/CoreUmeng/Images.xcassets/AppIcon.appiconset/Contents.json b/CoreUmeng/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..118c98f --- /dev/null +++ b/CoreUmeng/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,38 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/CoreUmeng/Images.xcassets/LaunchImage.launchimage/Contents.json b/CoreUmeng/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000..e37b649 --- /dev/null +++ b/CoreUmeng/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "orientation" : "portrait", + "idiom" : "iphone", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "minimum-system-version" : "7.0", + "subtype" : "retina4", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/CoreUmeng/Images.xcassets/show.imageset/Contents.json b/CoreUmeng/Images.xcassets/show.imageset/Contents.json new file mode 100644 index 0000000..eae247a --- /dev/null +++ b/CoreUmeng/Images.xcassets/show.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "show.png" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/CoreUmeng/Images.xcassets/show.imageset/show.png b/CoreUmeng/Images.xcassets/show.imageset/show.png new file mode 100644 index 0000000..fff99c1 Binary files /dev/null and b/CoreUmeng/Images.xcassets/show.imageset/show.png differ diff --git a/CoreUmeng/Info.plist b/CoreUmeng/Info.plist new file mode 100644 index 0000000..81648d1 --- /dev/null +++ b/CoreUmeng/Info.plist @@ -0,0 +1,91 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + HM.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + wx + CFBundleURLSchemes + + wxd9a39c7122aa6516 + + + + CFBundleTypeRole + Editor + CFBundleURLName + qq + CFBundleURLSchemes + + QQ05FC5B14 + + + + CFBundleTypeRole + Editor + CFBundleURLName + zone + CFBundleURLSchemes + + tencent100424468 + + + + CFBundleTypeRole + Editor + CFBundleURLName + wb + CFBundleURLSchemes + + sina.507fcab25270157b37000010 + + + + CFBundleTypeRole + Editor + CFBundleURLSchemes + + wb801345073 + + + + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/CoreUmeng/ViewController.h b/CoreUmeng/ViewController.h new file mode 100644 index 0000000..e4b3c7a --- /dev/null +++ b/CoreUmeng/ViewController.h @@ -0,0 +1,15 @@ +// +// ViewController.h +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import + +@interface ViewController : UIViewController + + +@end + diff --git a/CoreUmeng/ViewController.m b/CoreUmeng/ViewController.m new file mode 100644 index 0000000..c88d617 --- /dev/null +++ b/CoreUmeng/ViewController.m @@ -0,0 +1,33 @@ +// +// ViewController.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import "ViewController.h" +#import "CoreUMeng.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + +} + +- (IBAction)share:(id)sender { + + [CoreUmengShare show:self text:@"我是友盟分享文字" image:[UIImage imageNamed:@"show"]]; + +} + + + + + +@end diff --git a/CoreUmeng/main.m b/CoreUmeng/main.m new file mode 100644 index 0000000..b147dd5 --- /dev/null +++ b/CoreUmeng/main.m @@ -0,0 +1,16 @@ +// +// main.m +// CoreUmeng +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/CoreUmengTests/CoreUmengTests.m b/CoreUmengTests/CoreUmengTests.m new file mode 100644 index 0000000..e7cca89 --- /dev/null +++ b/CoreUmengTests/CoreUmengTests.m @@ -0,0 +1,40 @@ +// +// CoreUmengTests.m +// CoreUmengTests +// +// Created by 冯成林 on 15/6/26. +// Copyright (c) 2015年 冯成林. All rights reserved. +// + +#import +#import + +@interface CoreUmengTests : XCTestCase + +@end + +@implementation CoreUmengTests + +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample { + // This is an example of a functional test case. + XCTAssert(YES, @"Pass"); +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} + +@end diff --git a/CoreUmengTests/Info.plist b/CoreUmengTests/Info.plist new file mode 100644 index 0000000..7e47382 --- /dev/null +++ b/CoreUmengTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + HM.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + +