mirror of
https://github.com/zhigang1992/facebook-ios-sdk.git
synced 2026-01-12 22:47:16 +08:00
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] I've ensured that all existing tests pass and added tests (when/where necessary) - [x] I've updated the documentation (when/where necessary) and [Changelog](CHANGELOG.md) (when/where necessary) - [x] I've added the proper label to this pull request (e.g. `bug` for bug fixes) ## Pull Request Details Added a `Package.swift` manifest. Updated imports to be non-modular for non-cocoapod setups. Updated dynamic framework loader to compile with arc. - This should be checked. Not 100% sure I did not cause a regression. Added a directory of symlinks to public header files - this was to get around a limitation in the SPM api where they will only accepts a path to header files (forces them to be located in the same directory) and not a list of header files. Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1073 Test Plan: **SPM:** `cd fbsource/fbobjc/ios-sdk` Initialize a new repository, add all the files and create a new commit on master. `git init` `git add .` `git commit -m "new commit"` Open the package itself with >= Xcode 11 by opening `Package.swift` instead of the usual project and verify that it builds Open a new project with >= Xcode 11 and add a new swift package. For the Package Repository field put the path to the sdk. `file:///Users/$whoami/fbsource/fbobjc/ios-sdk` then specify the branch as `master`. This sample project should build and you should be able to consume the kits with `import FBSDKCoreKit` or `FacebookCore` (for the Swift variant), `import FBSDKLoginKit` or `import FacebookLogin` and `import FBSDKShareKit` or `import FacebookShare`. Make sure that LoginKit and ShareKit also expose CoreKit symbols. **Xcode:** Can build all schemes as expected `BuildAllKits` `FBSDKTVOSKit-Universal` `FBSDKTVOSKit-Dynamic` `SwiftKits` **CocoaPods:** `cd fbsource/fbojbc/ios-sdk` `bundle exec pod lib lint FBSDKCoreKit.podspec` `bundle exec pod lib lint FBSDKLoginKit.podspec --include-podspecs=FBSDKCoreKit.podspec --allow-warnings` `bundle exec pod lib lint FBSDKShareKit.podspec --include-podspecs=FBSDKCoreKit.podspec --allow-warnings` **BUCK:** `cd fbsource/fbobjc/ios-sdk` `buck build ios-sdk:FBSDKCoreKit` `buck build ios-sdk:FBSDKLoginKit` `buck build ios-sdk:FBSDKShareKit` Also all of the other BUCK targets (will be covered by sandcastle) Reviewed By: dreamolight Differential Revision: D17879652 Pulled By: joesus fbshipit-source-id: d931140d0fb3b554f1e29e5c2af7e2173316670d
103 lines
5.8 KiB
Ruby
103 lines
5.8 KiB
Ruby
# Use the --use-libraries switch when pushing or linting this podspec
|
|
|
|
Pod::Spec.new do |s|
|
|
|
|
s.name = 'FBSDKCoreKit'
|
|
s.version = '5.8.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-ios-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.swift_version = '5.0'
|
|
|
|
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/Internal/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/Basics/Instrument/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/Basics/*.h'
|
|
ss.private_header_files = 'FBSDKCoreKit/FBSDKCoreKit/Basics/Internal/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/Basics/Instrument/**/*.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/Internal/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/AppLink/*.h'
|
|
ss.private_header_files = 'FBSDKCoreKit/FBSDKCoreKit/Internal/**/*.h',
|
|
'FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/**/*.h'
|
|
ss.resources = 'FacebookSDKStrings.bundle'
|
|
ss.ios.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/FBSDKDeviceButton.{h,m}',
|
|
'FBSDKCoreKit/FBSDKCoreKit/FBSDKDeviceViewControllerBase.{h,m}',
|
|
'FBSDKCoreKit/FBSDKCoreKit/Internal/Device/**/*',
|
|
'FBSDKCoreKit/FBSDKCoreKit/Swift/**/*'
|
|
ss.tvos.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/AppEvents/Internal/AAM/*',
|
|
'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.platform = :ios
|
|
ss.source_files = 'FBSDKCoreKit/FBSDKCoreKit/Swift/*.{h,m,swift}'
|
|
ss.exclude_files = 'FBSDKCoreKit/FBSDKCoreKit/Swift/Exports.swift'
|
|
end
|
|
end
|