facebook-sdk-for-unity
facebook-sdk-for-unity copied to clipboard
iOS Unity Cloud builds started to fail
Checklist
- [ yes, version 11.0.0] I've updated to the latest released version of the SDK
- [ yes] I've searched for existing GitHub issues
- [ yes] I've looked for existing answers on Stack Overflow, the Facebook Developer Community Forum and the Facebook Developers Group
- [ yes] I've read the Code of Conduct
- [ yes] This issue is not security related and can safely be disclosed publicly on GitHub
Environment
Describe your dev environment here, giving as many details as possible. If you have them, make sure to include:
- Unity Editor Version:
2021.1.2f1
- Unity SDK Version:
11.0.0
- Installation Platform & Verison:
iOS
version14
Goals
What do you want to achieve?
I want that the build for iOS platform works again.
Expected Results
What do you expect to happen?
The build has no errors.
Actual Results
What actually happened? Can you provide a stack trace?
Actually when we run Unity Cloud builds, there are build errors:
32956: ❌; /BUILD_PATH/soulside.app.release-1-10-0-release-ios/dev/client/UnityClient/temp20210908-6581-wt2ofb/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.h:23:9: 'FBSDKCoreKitImport.h' file not found 32957: #import "FBSDKCoreKitImport.h" 32958: ▸ Compiling FBSDKMessengerIcon.m 32959: ❌; /BUILD_PATH/soulside.app.release-1-10-0-release-ios/dev/client/UnityClient/temp20210908-6581-wt2ofb/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.h:23:9: 'FBSDKCoreKitImport.h' file not found
Steps to Reproduce
What are the steps necessary to reproduce this issue?
Code Samples & Details
Please provide a code sample, as well as any additional details, to help us track down the issue. If you can provide a link to a test project that allows us to reproduce the issue, this helps us immensely in both the speed and quality of the fix.
Here is a full build log: build_log_ios.txt
Note: Remember to format your code for readability:
// INSERT YOUR CODE HERE
Same issue with jenkins
Unity 2020.3.14f1
FB SDK 11
AN 6.5.1
XCode 12.5.1
.xcode.project/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.h:23:9: fatal error: 'FBSDKCoreKitImport.h' file not found
Same for me.
I guess that is because FBSDKMessengerIcon.h is in FBSDKShareKit/Internal while FBSDKCoreKitImport.h is in FBSDKShareKit. You can get rid of the error and build by replacing #import "FBSDKCoreKitImport.h" by #import <FBSDKCoreKitImport.h>.
It would be great if someone could confirm whether there's a problem with this version of the FB SDK or if we're just missing something.
Hey @JuicyBen, thanks for you answer. I am not sure how we can try to replace the #import "FBSDKCoreKitImport.h" by #import <FBSDKCoreKitImport.h>, we don't have any access to the Unity cloud build environment. As I understand this error comes from new version of BSDKShareKit that comes from Pods. The builds started to fail today. We didn't changed anything in the Facebook SDK, or iOS resolver settings. That's why I think it is related to some updates in the Pods dependencies for Facebook SDK.
@khindemit you're right, this directly related to pod updates.
I've just updated pods on my local building device (updated to 11.2.0 from 11.1.0)and the same error started to appear, that was the only difference. @JuicyBen 's fix seem to allow building but I'm not sure if everything's working ok.
having the same issue on local builds as well, was also the same issue had to edit my Podfile and changes it to explicitly target 11.1.0
instead of ~> 11.0
Hey @cmcpasserby, thanks a lot for your suggestion! I can confirm that the Unity Cloud builds started to build for iOS. Steps to fix:
- Open the UnityClient/Assets/FacebookSDK/Plugins/Editor/Dependencies.xml file
- Modify the
version="~> 11.0"
toversion="11.1.0"
for all iOS pods dependencies
The end result should look like:
<?xml version="1.0" encoding="utf-8"?>
<dependencies>
<androidPackages>
<androidPackage spec="com.parse.bolts:bolts-android:1.4.0" />
<androidPackage spec="com.facebook.android:facebook-core:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-applinks:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-login:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-share:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-gamingservices:[11.0, 12)" />
</androidPackages>
<iosPods>
<iosPod name="FBSDKCoreKit_Basics" version="11.1.0" />
<iosPod name="FBSDKCoreKit" version="11.1.0" />
<iosPod name="FBSDKLoginKit" version="11.1.0" />
<iosPod name="FBSDKShareKit" version="11.1.0" />
<iosPod name="FBSDKGamingServicesKit" version="11.1.0" />
</iosPods>
</dependencies>
Hey community, be aware that in the 11.3 version of Facebook SDK Android libraries is a bug with null reference exception: com.facebook.appevents.iap.InAppPurchaseBillingClientWrapper$BillingClientStateListenerWrapper.invoke
Here is another workaround (excluding the 11.3 version): https://github.com/facebook/facebook-sdk-for-unity/issues/579#issuecomment-917607747
So, the end result should look like:
<?xml version="1.0" encoding="utf-8"?>
<dependencies>
<androidPackages>
<androidPackage spec="com.parse.bolts:bolts-android:1.4.0" />
<androidPackage spec="com.facebook.android:facebook-core:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-applinks:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-login:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-share:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-gamingservices:[11.0, 11.3)" />
</androidPackages>
<iosPods>
<iosPod name="FBSDKCoreKit_Basics" version="11.1.0" />
<iosPod name="FBSDKCoreKit" version="11.1.0" />
<iosPod name="FBSDKLoginKit" version="11.1.0" />
<iosPod name="FBSDKShareKit" version="11.1.0" />
<iosPod name="FBSDKGamingServicesKit" version="11.1.0" />
</iosPods>
</dependencies>
These loose version pins are really disruptive. Please please consider moving to fixed version pins
https://github.com/facebook/facebook-sdk-for-unity/issues/569