Files
facebook-ios-sdk/FBSDKShareKit.podspec
Cody Winton 9b682bb292 Modernized FBSDKShareKit
Summary:
This diff modernizes the `FBSDKShareKit` to support modern Objective-C syntax to increase type safety with both ObjC and Swift.

**General Changes**

* Removed Deprecated Methods, Classes, Properties
* Typedefs for all Objective-C blocks
* Used `instancetype` for inits
* Updated Xcode Projects/Schemes via. "Validate Project" option in Xcode
* Made `init`/`new` unavailable where/when possible
* Confirm `NSError **` throws on Swift
* Used `NS_SWIFT_UNAVAILABLE` where makes sense
* Ensured `NS_DESIGNATED_INITIALIZER` is used
* Added `NS_TYPED_EXTENSIBLE_ENUM` where made sense

**Updated Properties**

* Changed getter methods to `readonly` properties
* Changed getter/setter methods to `readwrite` properties
* Changed singletons to class properties
* Used dot notation for access to properties
* Added `getter=` for certain properties (e.g. `BOOL`)

**Added Nullability Annotations**

* Used `NS_ASSUME_NONNULL_BEGIN` & `NS_ASSUME_NONNULL_END` for files
* Used `_Nullable` for typedef blocks
* Used `nullable` & `null_resettable`
* Collections/Dictionaries `nonnull` when at all possible

**Added Generics**

* `NSArray` & `NSMutableArray`
* `NSSet` & `NSMutableSet`
* `NSDictionary` & `NSMutableDictionary`

**Added `NS_SWIFT_NAME`**

* Removed prefixes in favor of Swift namespaces
  * `FB` prefix for UI elements
* Added Dot notation where makes sense
* Swift init for class method creation methods

Differential Revision: D9843539

fbshipit-source-id: d15f5ccadbad1b3b07b482f068e799a112ec52d2
2019-01-18 15:09:28 -08:00

93 lines
6.0 KiB
Ruby

# Use the --use-libraries switch when pushing or linting this podspec
Pod::Spec.new do |s|
s.name = 'FBSDKShareKit'
s.version = '4.40.0'
s.summary = 'Official Facebook SDK for iOS to access Facebook Platform Sharing Features'
s.description = <<-DESC
The Facebook SDK for iOS ShareKit framework provides:
* Share content with Share Dialog and Message Dialog.
* Send Game Requests or App Invites to grow your app.
* Publish content and open graph stories with the Graph API
DESC
s.homepage = 'https://developers.facebook.com/docs/ios/'
s.license = { :type => 'Facebook Platform License', :file => 'LICENSE' }
s.author = 'Facebook'
s.platform = :ios, :tvos
s.ios.deployment_target = '8.0'
s.tvos.deployment_target = '9.0'
s.source = { :git => 'https://github.com/facebook/facebook-objc-sdk.git',
:tag => "v#{s.version}"
}
s.ios.weak_frameworks = 'Accounts', 'AudioToolbox', 'CoreGraphics', 'CoreLocation', 'Foundation', 'QuartzCore', 'Security', 'Social', 'UIKit'
s.tvos.weak_frameworks = 'AudioToolbox', 'CoreGraphics', 'CoreLocation', 'Foundation', 'QuartzCore', 'Security', 'UIKit'
s.requires_arc = true
s.header_dir = 'FBSDKShareKit'
s.dependency 'FBSDKCoreKit'
s.public_header_files = 'FBSDKShareKit/FBSDKShareKit/*.{h}'
s.ios.source_files = 'FBSDKShareKit/FBSDKShareKit/**/*.{h,m}'
s.ios.exclude_files = 'FBSDKShareKit/FBSDKShareKit/FBSDKDeviceShareButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKDeviceShareViewController.{h,m}'
s.tvos.exclude_files = 'FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKLikeButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKLikeObjectType.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKLiking.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSendButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.{h,m}'
s.tvos.source_files = 'FBSDKShareKit/FBSDKShareKit/FBSDKDeviceShareButton.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKDeviceShareViewController.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareKit.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.{h,m}',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateElement.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.h',
'FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerURLActionButton.h',
'FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareDefines.h',
'FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareError.{h,m}',
'FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareOpenGraphValueContainer+Internal.h',
'FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.{h,m}',
'FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.{h,m}'
end