Files
facebook-ios-sdk/FBSDKCoreKit.podspec
joesusnick 75e50f599c Separate Swift targets (#1031)
Summary:
Thanks for proposing a pull request.

To help us review the request, please complete the following:

- [x] sign [contributor license agreement](https://developers.facebook.com/opensource/cla)
- [x] describe the change (for example, what happens before the change, and after the change)

This is a step towards aligning Swift and Objective-C into a single SDK.

Currently we cannot ship a single target that includes both Swift and Objective-C because some consumers of the SDK are tied to older versions of Xcode. Including Swift would increase their binary size or force them to upgrade before Apple mandates an upgrade.

What we can do is prepare for this inevitability by moving the Swift files into this repository.

Additionally this is easier to maintain and allows us to us to reference ObjC files from Swift directly instead of treating them as a third party dependency.

This work raises a few questions about distribution channels (what will the starting versions be for instance) but that is an acceptable cost for the benefits we get from having all of our related code in one place.
Pull Request resolved: https://github.com/facebook/facebook-objc-sdk/pull/1031

Test Plan:
Able to build is the primary concern. That the old targets are not impacted by the new targets and that the new targets build correctly.

Ensure the older targets can build on Xcode 10.1
* FBSDKCoreKit
* FBSDKShareKit
* FBSDKLoginKit

Ensure the older AND newer targets can build on Xcode 10.3
* FBSDKCoreKit
* FBSDKShareKit
* FBSDKLoginKit
* FBSDKCoreKitSwift
* FBSDKShareKitSwift
* FBSDKLoginKitSwift

Ensure the older AND newer targets can build on the latest Xcode (11 beta 6)
// Note: Will need to clean build if you want to build the non-Swift version after building the Swift version
* FBSDKCoreKit
* FBSDKShareKit
* FBSDKLoginKit
* FBSDKCoreKitSwift
* FBSDKShareKitSwift
* FBSDKLoginKitSwift

Reviewed By: dreamolight

Differential Revision: D17164409

Pulled By: joesus

fbshipit-source-id: dbda5036487a2e626e271651b38262e56dac17ce
2019-09-05 17:02:27 -07:00

90 lines
4.9 KiB
Ruby

# Use the --use-libraries switch when pushing or linting this podspec
Pod::Spec.new do |s|
s.name = 'FBSDKCoreKit'
s.version = '5.5.0'
s.summary = 'Official Facebook SDK for iOS to access Facebook Platform core features'
s.description = <<-DESC
The Facebook SDK for iOS CoreKit framework provides:
* App Events (for App Analytics)
* Graph API Access and Error Recovery
* Working with Access Tokens and User Profiles
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 = '10.0'
s.source = { :git => 'https://github.com/facebook/facebook-objc-sdk.git',
:tag => "v#{s.version}"
}
s.ios.weak_frameworks = 'Accounts', 'CoreLocation', 'Social', 'Security', 'QuartzCore', 'CoreGraphics', 'UIKit', 'Foundation', 'AudioToolbox'
s.tvos.weak_frameworks = 'CoreLocation', 'Security', 'QuartzCore', 'CoreGraphics', 'UIKit', 'Foundation', 'AudioToolbox'
# This excludes `FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/` folder, as that folder includes only `no-arc` files.
s.requires_arc = ['FBSDKCoreKit/FBSDKCoreKit/*',
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/**/*',
'FBSDKCoreKit/FBSDKCoreKit/AppLink/**/*',
'FBSDKCoreKit/FBSDKCoreKit/Basics/**/*',
'FBSDKCoreKit/FBSDKCoreKit/Internal/**/*']
s.default_subspecs = 'Core', 'Basics'
s.subspec 'Basics' do |ss|
ss.source_files = 'FBSDKCoreKit/FBSDKCoreKit/Basics/*.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Basics/**/*.{h,m}'
ss.public_header_files = 'FBSDKCoreKit/FBSDKCoreKit/Basics/*.h'
ss.library = 'z'
end
s.subspec 'Core' do |ss|
ss.dependency 'FBSDKCoreKit/Basics'
ss.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/Basics/*',
'FBSDKCoreKit/FBSDKCoreKit/Basics/**/*.{h,m}'
ss.source_files = 'FBSDKCoreKit/FBSDKCoreKit/**/*.{h,m}'
ss.public_header_files = 'FBSDKCoreKit/FBSDKCoreKit/*.h',
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/*.h',
'FBSDKCoreKit/FBSDKCoreKit/AppLink/*.h'
ss.resources = 'FacebookSDKStrings.bundle'
ss.ios.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/FBSDKDeviceButton.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKDeviceViewControllerBase.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/Device/**/*'
ss.tvos.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/Codeless/*',
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/FBSDKHybridAppEventsScriptMessageHandler.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/AppLink/**/*',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKProfilePictureView.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/**/*',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAudioResourceLoader.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKContainerViewController.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMonotonicTime.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKProfile+Internal.h',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTriStateBOOL.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h',
'FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKCloseIcon.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKColor.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKMaleSilhouetteIcon.{h,m}',
'FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/**/*'
end
s.subspec 'Swift' do |ss|
ss.dependency 'FBSDKCoreKit/Core'
ss.source_files = 'FBSDKCoreKit/FBSDKCoreKit/Swift/*.{h,m,swift}'
end
end