Summary:
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1367
Bumping version to 7.0
Bumping Graph API version to 7.0
Reviewed By: jingping2015
Differential Revision: D21405159
fbshipit-source-id: 7ee479aff3ed663210ae0adb13840280d373d9da
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
Updates for v7.0.
Main change is that the SDK can not be developed using Swift. Default will be to build and distribute with Xcode11 using Swift5.
**Migration Concerns**
* CocoaPods
If you were using the 'Swift' subspec of CocoaPods, ex:
`pod 'FBSDKCoreKit/Swift'`
you can now simply use:
`pod 'FBSDKCoreKit`
* Carthage
You will need to use Xcode 11 or later but no other changes should be necessary. The binaries will include the enhanced Swift interfaces by default.
* SPM
No changes
* xcodebuild
No real changes. The '-Swift' targets are deleted. ex:
target `FBSDKCoreKitSwift-Dynamic` is gone. You can simply use `FBSDKCoreKit-Dynamic` and it will include Swift files
* BUCK
Buck will continue to exclude Swift files for the moment. This is an ongoing effort.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1355
Test Plan: CI and extensive manual testing to make sure we haven't broken any channels.
Reviewed By: dreamolight
Differential Revision: D21239951
Pulled By: joesus
fbshipit-source-id: 325e2049c5fb1b55769c066998dd4b50e0ccaccc
Summary:
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1268
Not sure why we were weak-linking core location. I am assuming this was related in some way to the deprecated PlacesKit but am not positive.
Reviewed By: Oliverccccct
Differential Revision: D20167000
fbshipit-source-id: 4b8e69d3e263667cb29ac6ecebb87c0da3ba93bb
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
Podspec dependencies were hardcoded to ~> 5.0. This fixes that.
Swift targets require headers to be declared public in Xcode. I removed some files and added them back without updating their visibility. This fixes that.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1222
Test Plan: CI
Reviewed By: jingping2015
Differential Revision: D19737835
Pulled By: joesus
fbshipit-source-id: 13ec65f70c788ab78c535484aa5db96872fd5cc8
Summary:
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1220
Bumps sdk version to 6.0.0
Bumps api version to v6.0
Reviewed By: jingping2015, ZebingZong, KylinChang
Differential Revision: D19698716
fbshipit-source-id: 165ad3f3ac0f5c686e965f521e9d807f9f21d523
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
Updates Package file and Podspecs to rely on file-level platform checks.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1186
Test Plan:
Sample project using this branch should build for iOS, tvOS, Mac Catalyst
Also checked size implications. This change causes a 16 byte increase in size which seems like more than a fair trade-off for the gains in simplicity.
Reviewed By: ZebingZong
Differential Revision: D19499591
Pulled By: joesus
fbshipit-source-id: 50122a6cbeca0e24f9813cde1907affd9dbfa8c4
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
Earlier naive implementation did not account for a setup where SPM was used for the Facebook iOS SDK and Cocoapods was used for other pods in the same project.
Fixed this by adding a more specific preprocessor macro `FBSDKCOCOAPODS` to the podspecs so that we can gate logic specifically on whether the Facebook iOS SDK is installed via CocoaPods.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1106
Test Plan:
1. Create a sample project that includes CocoaPods and install an arbitrary pod that is not one of the iOS SDK Kits.
2. Install the iOS SDK using SPM pointed at this branch.
3. Confirm that it builds
4. Remove the Swift Package and add the iOS SDK Kits as CocoaPods pointed to a local checkout of this branch. ex:
```
pod 'FBSDKCoreKit', :path => '/Users/<you>/facebook-ios-sdk'
pod 'FBSDKLoginKit', :path => '/Users/<you>/facebook-ios-sdk'
pod 'FBSDKShareKit', :path => '/Users/<you>/facebook-ios-sdk'
```
5. Confirm that it builds.
Reviewed By: jingping2015
Differential Revision: D18420523
Pulled By: joesus
fbshipit-source-id: 376f1d134fcd0341ed6f9143d83793900f990675
Summary:
Cocoapods will pass allow directories full of symlinks during linting but not while pushing to trunk.
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
This is very strange. Cocoapods was able to lint these podspecs successfully but pushing them to trunk resulted in an error.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1098
Test Plan: Ran manually and pods are now available in trunk.
Reviewed By: dreamolight
Differential Revision: D18383388
Pulled By: joesus
fbshipit-source-id: 3012c3a1128531464aedac1d17094116c1767a32
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
Summary: The GitHub repo has been renamed from facebook-ios-sdk to facebook-objc-sdk
Reviewed By: jingping2015
Differential Revision: D17630050
fbshipit-source-id: 4fa7a3c4859af7fead71c4700a1151903d4734cc
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)
Pull Request resolved: https://github.com/facebook/facebook-objc-sdk/pull/1039
Test Plan:
Expect the following commands to be successful.
`pod lib lint FBSDKLoginKit.podspec --include-podspecs=FBSDKCoreKit.podspec --allow-warnings`
`pod lib lint FBSDKShareKit.podspec --include-podspecs=FBSDKCoreKit.podspec --allow-warnings`
Reviewed By: jingping2015
Differential Revision: D17234135
Pulled By: joesus
fbshipit-source-id: a9f4744925a49426faf44f52b13c471f1d5536f8
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