UMSocialSnsService.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //
  2. // UMSocialSnsService.h
  3. // SocialSDK
  4. //
  5. // Created by Jiahuan Ye on 13-1-8.
  6. // Copyright (c) 2013年 Umeng. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. @class UMSocialControllerService;
  11. /*
  12. 自定义的类似iOS6.0中`UIActivityViewController`样式的列表,每个sns平台由对应图片和名称组成。注意:如果你要此控件支持多方向,需要在自己的UIViewController中屏幕旋转的`didRotateFromInterfaceOrientation`调用`UMSocialIconActionSheet`的`setNeedsDisplay`方法,来重新布局。
  13. */
  14. @interface UMSocialIconActionSheet : UIView
  15. /**
  16. 将自己自下往上弹出来
  17. @param showView 在此父UIView自下往上弹出来的
  18. */
  19. -(void)showInView:(UIView *)showView;
  20. /**
  21. 将自己移除
  22. */
  23. -(void)dismiss;
  24. @end
  25. @protocol WXApiDelegate ;
  26. @protocol UMSocialUIDelegate;
  27. /*
  28. 实现快速分享,类方法传入相应的参数,既可以弹出分享列表。现在提供两种列表样式。
  29. */
  30. @interface UMSocialSnsService : NSObject
  31. /**
  32. 当应用从后台唤起时,应调用此方法,需要完成退出当前登录状态的功能
  33. */
  34. +(void)applicationDidBecomeActive;
  35. /**
  36. 处理app的URL方法
  37. 若除了 UMSocial SDK外,还需要处理其他url,可以针对url的前缀作处理,例如下面写法:
  38. if ([url.description hasPrefix:@"xxxx"]) {
  39. //你的处理逻辑
  40. }
  41. else {
  42. return [UMSocialSnsService handleOpenURL:url];
  43. }
  44. @param url 传入的url
  45. */
  46. +(BOOL)handleOpenURL:(NSURL *)url;
  47. /**
  48. Deprecated API
  49. 处理app的URL方法
  50. @param url 传入的url
  51. @return wxApiDelegate 实现微信代理对象
  52. */
  53. +(BOOL)handleOpenURL:(NSURL *)url wxApiDelegate:(id<WXApiDelegate>)wxApiDelegate;
  54. ///---------------------------------------
  55. /// @name 快速分享
  56. ///---------------------------------------
  57. /**
  58. 弹出一个分享列表的UITableViewController
  59. @param controller 在该controller弹出分享列表的UIActionSheet
  60. @param appKey 友盟appKey
  61. @param shareText 分享编辑页面的内嵌文字
  62. @param shareImage 可以传入`UIImage`,或者`NSData`类型,分享内嵌图片,用户可以在编辑页面删除
  63. @param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等
  64. @param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil
  65. */
  66. +(void)presentSnsController:(UIViewController *)controller
  67. appKey:(NSString *)appKey
  68. shareText:(NSString *)shareText
  69. shareImage:(id)shareImage
  70. shareToSnsNames:(NSArray *)snsNames
  71. delegate:(id <UMSocialUIDelegate>)delegate;
  72. /**
  73. 弹出一个分享列表的类似iOS6的UIActivityViewController控件
  74. @param controller 在该controller弹出分享列表的UIActionSheet
  75. @param appKey 友盟appKey
  76. @param shareText 分享编辑页面的内嵌文字
  77. @param shareImage 分享内嵌图片,用户可以在编辑页面删除
  78. @param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等
  79. @param delegate 实现分享完成后的回调对象,如果不关注分享完成的状态,可以设为nil
  80. */
  81. +(void)presentSnsIconSheetView:(UIViewController *)controller
  82. appKey:(NSString *)appKey
  83. shareText:(NSString *)shareText
  84. shareImage:(id)shareImage
  85. shareToSnsNames:(NSArray *)snsNames
  86. delegate:(id <UMSocialUIDelegate>)delegate;
  87. /**
  88. 得到单例对象的类方法
  89. @return `UMSocialSnsService`的单例对象
  90. */
  91. + (UMSocialSnsService *)sharedInstance;
  92. @end