Summary:
Ran:
```
scripts/run.sh bump-version 13.0.0
scripts/run.sh bump-api-version v13.0
```
Also fixed old paths in script and excluded Package.swift from update check since it is generated later.
Reviewed By: jamestouri
Differential Revision: D34260762
fbshipit-source-id: 7081f07c9f7c670f4350e82415765300d0749e86
Summary: The IPHONEOS_DEPLOYMENT_TARGET and TVOS_DEPLOYMENT_TARGET are now 11.0
Reviewed By: samodom
Differential Revision: D33721097
fbshipit-source-id: 95afae6119fe09c0773252890aef6411f54d24d1
Summary:
I ran this on the release branch: remote/fbobjc/releases/release-ios-sdk-v12.2.1
```
time swift run --build-path=`mkscratch path` runner prepare-release | xcpretty
```
I created this diff on the release branch but I'm rebasing this onto master first. It needs to be in master in case someone points their SPM to master, that way they still get the latest release. Once it's in master it will be picked into the release branch.
Reviewed By: samodom
Differential Revision: D32988695
fbshipit-source-id: 849ebca96be82a9f847d2f043e59285aa4b02f91
Summary: iOS 9 was actually dropped in v12.0.0 but the deployment_target in the podspec files hadn't been updated
Reviewed By: joesus
Differential Revision: D32077658
fbshipit-source-id: 81ea1521cca0011f528a8d59020bb178d98962e7
Summary:
I ran this on the release branch: remote/fbobjc/releases/release-ios-sdk-v12.0.2
```
swift run runner prepare-release | xcpretty
```
This diff will be merged into master and then picked into the release branch. It needs to be in master in case someone points their SPM to master, that way they still get the latest release.
Reviewed By: joesus, samodom
Differential Revision: D31717002
fbshipit-source-id: 5de7939ce16d1fee07f7a32dfe288dc4cc90dc6a
Summary:
I ran this on the release branch: remote/fbobjc/releases/release-ios-sdk-v12.0.1
```
swift run runner prepare-release | xcpretty
```
This diff was created on the release branch but I'm going to rebase it on master so that it can be merged into master. (It needs to be in master in case someone points their SPM to master, that way they still get the latest release).
After its merged into master, I will pick it into the release branch.
Reviewed By: samodom
Differential Revision: D31696499
fbshipit-source-id: aaabbd71bc4e35a3e03cf81c2b6fad4d95f6833c
Summary:
Version bump for 12.0.1 to release a fix for Share Dialog not presenting for SDK 12.0.0
https://github.com/facebook/facebook-ios-sdk/issues/1909
Updated changelog
Reviewed By: samodom
Differential Revision: D31688308
fbshipit-source-id: 7038a111714def6d636ddf7babb194107771ea7e
Summary: Updated the Podspecs and Package Manifest for the artifacts to be released.
Reviewed By: samodom
Differential Revision: D31380729
fbshipit-source-id: c7caf5d9cc16e37a350b7d13ad2cb3888e5b2f1c
Summary: Actually moving the files. Needs to go in a separate commit so that HG doesn't consider them to be additions. There may be an hg command that handles symlinks more gracefully but I don't know what it is.
Reviewed By: jawwad
Differential Revision: D30522433
fbshipit-source-id: de5ee14ee982c69203d19fcdb9f0468ddb640333
Summary:
In these stacked diffs, we are going to abstract AEM logic inside FBSDKCoreKit to an independent module called FBAEMKit.
In the end state, FBSDK, MMP and S2S will rely on the same AEMKit.
In this diff:
1. add `FBSDKAEMNetworker` to adopt `FBAEMNetworking`
2. in `FBSDKAEMNetworker`, we still use `FBSDKGraphRequest` to fire a graph API request
3. replace `FBSDKAEMReporter` with `FBAEMReporter`
4. update BUCK
5. added cocoapod support
Reviewed By: joesus
Differential Revision: D29274621
fbshipit-source-id: baa4dd86df358cd56d867745fd741caab5f1c586
Summary: The issue is that we have a mismatch between how basics is consumed. In terms of BUCK, SPM, and Xcodebuild it's a true module. In the case of CocoaPods it's a "subspec" which is not actually a module. This means we have differences in import statements, and general inconsistencies between our build processes which slows development and is a general pain to manage.
Reviewed By: jawwad
Differential Revision: D28522118
fbshipit-source-id: 953629bd5f365af1fcc064e0f7b6fcf0a07ab48d
Summary:
FBSDKCoreKit_Basics is currently a module for Swift Package Manager and BUCK but not for CocoaPods or Xcodebuild.
This aims to bring the four in line by separating it into its own module for Xcode builds.
Reviewed By: dreamolight
Differential Revision: D28312787
fbshipit-source-id: b31136de9eb98b31d061d289cd0ea7116acf1c14
Summary:
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1744
Making the BridgeAPI files public broke the SPM integration. This fixes it by getting rid of modular import statements at the top level.
Reviewed By: jingping2015
Differential Revision: D28335156
fbshipit-source-id: f0543a2f625c2856ac3c2cc351dcf68b5345e89a
Summary:
Reorganizes to set us up for a Swift rewrite.
One thing to note about this rewrite is that we cannot simply replace arbitrary files. The dependency graph is extremely important because Swift Package Manager does not support mixed Swift and Objective-C source files.
The high level goal is to maintain backwards compatibility for users importing FBSDKCoreKit while still moving the implementation to Swift under the hood.
To do this, we will need to introduce a new module, LegacyCoreKit which will serve as the source of existing ObjC files.
The existing Swift Package Manager module, FacebookCore, will depend on LegacyCoreKit and will host the top-level Swift files. Top-level in this case refers to those files with the fewest callers from inside the SDK itself; a prime example of this is ApplicationDelegate.
To maintain backwards compatibility for the interfaces, the existing module FBSDKCoreKit will be repurposed to provide wrapper interfaces for FacebookCore.
At the modular level, the dependency graph will look like this:
LegacyCoreKit the original ObjC implementation undergoing the rewrite
↓
FacebookCore the rewritten native Swift files
↓
FBSDKCoreKit backwards compatible ObjC interfaces
There's still work to do for this including:
* Update CocoaPods to use follow the same structure of relying on an underlying module for the original ObjC implementation
* Update the Xcode targets to follow the same structure and use an underlying module for the original ObjC implementation
* Remove OCMock so that we are forced to restructure the dependencies to be injectable
Reviewed By: Oliverccccct
Differential Revision: D27855791
fbshipit-source-id: f3b5fbbe67492d3a131d475688e91ee8ab51ae6b
Summary:
The end result is the final product ends up converting the strings files from the current text format to a minified binary plist format.
Size change:
Before
246,293 bytes (365 KB on disk)
After
133,039 bytes (184 KB on disk)
Nice ~100KB win for installed app size.
I decided to leave the bundle alone instead of breaking out the strings into their own folder because I didn't know if anything else was using the bundle currently. It doesn't look like spm is using it, which is probably a bug.
Also I'm not sure if these strings have test coverage or not, but if not I can help make sure various translations are still working correctly. Not sure where exactly these strings are used.
To help us review the request, please complete the following:
- [x] sign [contributor license agreement](https://code.facebook.com/cla)
- [x] I've ensured that all existing tests pass and added tests (when/where necessary) Wasn't sure how to run them all, I assume PR process has CI that will run them.
- [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) I can't add labels.
Pull Request resolved: https://github.com/facebook/facebook-ios-sdk/pull/1713
Test Plan:
Create a new iOS project called `CocoaPodsTranslations` and point to the local pods:
```
// Podfile
target 'CocoaPodsTranslations' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for CocoaPodsTranslations
pod 'FBSDKCoreKit', :path => '/Users/joesusnick/fbsource/fbobjc/ios-sdk'
pod 'FBSDKLoginKit', :path => '/Users/joesusnick/fbsource/fbobjc/ios-sdk'
end
```
Adds localizations for a few languages by hitting the '+' under Localization in the project settings. (You'll need to make sure something is checked in the boxes so just accept whatever the default suggestions are)
Then change the schemes's locale in the 'edit scheme' as shown in the video and run.
{F609517560}
Complete flow to show logout alert dialog:
{F609518875}
Reviewed By: khp
Differential Revision: D27881169
Pulled By: joesus
fbshipit-source-id: 0dcb3d641e639a229020012a8b54ee7248ce9098
Summary: It makes sense to wait until we have more pressing breaking changes to release a major version.
Reviewed By: KylinChang
Differential Revision: D26796073
fbshipit-source-id: f01d622bb7f8451a67309d8c3f62284ceda9a678
Summary: Updating major version to match Graph API release.
Reviewed By: linmx0130
Differential Revision: D26711406
fbshipit-source-id: 2ba166ff86b0d97aececa630e6ee4585ff520aae
Summary: Minor cleanup - Removes some paths in `public_header_files` that were being clobbered anyway by `private_header_files`.
Reviewed By: Oliverccccct
Differential Revision: D26429454
fbshipit-source-id: 6d84edc48b74e9bf35e366b0c659b155b12007b6