FBSDKSharePhoto.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
  2. //
  3. // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
  4. // copy, modify, and distribute this software in source code or binary form for use
  5. // in connection with the web services and APIs provided by Facebook.
  6. //
  7. // As with any software that integrates with the Facebook platform, your use of
  8. // this software is subject to the Facebook Developer Principles and Policies
  9. // [http://developers.facebook.com/policy/]. This copyright notice shall be
  10. // included in all copies or substantial portions of the software.
  11. //
  12. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  13. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  14. // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  15. // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  16. // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  17. // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  18. #import <UIKit/UIKit.h>
  19. #import <FBSDKCoreKit/FBSDKCopying.h>
  20. /*!
  21. @abstract A photo for sharing.
  22. */
  23. @interface FBSDKSharePhoto : NSObject <FBSDKCopying, NSSecureCoding>
  24. /*!
  25. @abstract Convenience method to build a new photo object with an image.
  26. @param image If the photo is resident in memory, this method supplies the data
  27. @param userGenerated Specifies whether the photo represented by the receiver was generated by the user or by the
  28. application
  29. */
  30. + (instancetype)photoWithImage:(UIImage *)image userGenerated:(BOOL)userGenerated;
  31. /*!
  32. @abstract Convenience method to build a new photo object with an imageURL.
  33. @param imageURL The URL to the photo
  34. @param userGenerated Specifies whether the photo represented by the receiver was generated by the user or by the
  35. application
  36. @discussion This method should only be used when adding photo content to open graph stories.
  37. For example, if you're trying to share a photo from the web by itself, download the image and use
  38. `photoWithImage:userGenerated:` instead.
  39. */
  40. + (instancetype)photoWithImageURL:(NSURL *)imageURL userGenerated:(BOOL)userGenerated;
  41. /*!
  42. @abstract If the photo is resident in memory, this method supplies the data.
  43. @return UIImage representation of the photo
  44. */
  45. @property (nonatomic, strong) UIImage *image;
  46. /*!
  47. @abstract The URL to the photo.
  48. @return URL that points to a network location or the location of the photo on disk
  49. */
  50. @property (nonatomic, copy) NSURL *imageURL;
  51. /*!
  52. @abstract Specifies whether the photo represented by the receiver was generated by the user or by the application.
  53. @return YES if the photo is user-generated, otherwise NO
  54. */
  55. @property (nonatomic, assign, getter=isUserGenerated) BOOL userGenerated;
  56. /*!
  57. @abstract Compares the receiver to another photo.
  58. @param photo The other photo
  59. @return YES if the receiver's values are equal to the other photo's values; otherwise NO
  60. */
  61. - (BOOL)isEqualToSharePhoto:(FBSDKSharePhoto *)photo;
  62. /*!
  63. @abstract The user generated caption for the photo. Note that the 'caption' must come from
  64. * the user, as pre-filled content is forbidden by the Platform Policies (2.3).
  65. @return the Photo's caption if exists else returns null.
  66. */
  67. @property (nonatomic, copy) NSString *caption;
  68. @end