Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS Unity Cloud builds started to fail #578

Open
gindemit opened this issue Sep 8, 2021 · 8 comments
Open

iOS Unity Cloud builds started to fail #578

gindemit opened this issue Sep 8, 2021 · 8 comments
Labels

Comments

@gindemit
Copy link

gindemit commented Sep 8, 2021

Checklist

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 version 14

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
@gindemit gindemit added the bug label Sep 8, 2021
@katan99
Copy link

katan99 commented Sep 8, 2021

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

@JuicyBen
Copy link

JuicyBen commented Sep 8, 2021

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.

@gindemit
Copy link
Author

gindemit commented Sep 8, 2021

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.

@PixelEnvision
Copy link

@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.

@cmcpasserby
Copy link

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

@gindemit
Copy link
Author

gindemit commented Sep 9, 2021

Hey @cmcpasserby, thanks a lot for your suggestion! I can confirm that the Unity Cloud builds started to build for iOS.
Steps to fix:

  1. Open the UnityClient/Assets/FacebookSDK/Plugins/Editor/Dependencies.xml file
  2. Modify the version="~> 11.0" to version="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>

@gindemit
Copy link
Author

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):
#579 (comment)

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>

@jmcguirk
Copy link

These loose version pins are really disruptive. Please please consider moving to fixed version pins

#569

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants