Bitcode is disabled in Facebook-iOS-SDK 4.37 - bitcode

I have updated Facebook SDK 4.37, after updating the SDK I started seeing one compile time error to disable bitcode. I can't disable bitcode because I have watch kit app which really need to have bitcode enable. If anyone faced this issue and solution, please let me know.
The error that I am seeing is here:
FBSDKShareKit.framework/FBSDKShareKit(FBSDKLikeBoxView.o)' does not
contain bitcode. You must rebuild it with bitcode enabled (Xcode
setting ENABLE_BITCODE), obtain an updated library from the vendor, or
disable bitcode for this target. file
FBSDKShareKit.framework/FBSDKShareKit' for architecture arm64
I also posted the same thing on Developers page on Facebook. They are saying this is known and trying to fix.

Finally, Facebook fixed the bug in 4.38
https://developers.facebook.com/docs/ios/change-log-4x/

I finally ended up integrating the facebook sdk without any bitcode issues. I went back and used 4.36 instead of 4.37. The download link I used is here. (I don't use cocoapods). Hopefully fb will eventually get around to releasing a stable version. But until then ill stick to 4.36.

Related

Xcode 14 forces me into Bitcode for Unity builds. Why?

Since I updated Xcode to version 14, it requires that all pods included in my Unity project have been built for Bitcode. This is especially strange since Xcode has deprecated Bitcode now. Can anyone explain why it requires something that it did not require before, if this feature is not recommended anymore? This does not make any sense to me.
I would also appreciate any link to a Unity build script that sets the Bitcode flag automatically on all pods. Thanks.

Is the AgoraRTMWrapper in XCode necessary?

I have been dealing with the same issue for a few days now. I'm unable to upload any app store connect files due to the libAgoraRTMWrapper file. To be clear, this entire app has been built through Unity using agora SDK. The reason for failure, according to XCode, is that the wrapper "doesn't have the correct file type for this location". Invalid Swift support.
This leads me to wonder if the libagoraRTMWrapper is even necessary. Yes, I would like to keep using RTM but not at the expense of several build failures.
As a sidenote, XCode does mention that the build is being made for iOS but the wrapper was built for iOS + iOS simulator. I don't remember ever specifying that but it could just be the way the SDK was initially imported.
this library is necessary for RTM to work. Do you have a custom build setting for the project? It is verified that the included SDK Demo works on iOS builds. Perhaps you can build that and compare the build setting to yours to find out what went wrong?

Unexpected code bundle "Alcatraz.xcplugin"

I came to know about Alcatraz from Apress book "Troubleshooting Xcode". I'm getting the following warning upon xcode launch after installing Alcatraz.
The “Alcatraz.xcplugin” code bundle is not provided by Apple. Loading
code not provided by Apple can have a negative effect on the safety
and stability of Xcode or related tools.
I've searched for Alcatraz here and many developers seem using it. Just wanted to know whether it's worth using with this warning message?
It is just warning from Apple. No problem with it. If you using Alcatraz you can install alot of plugin very userfull. You can reference to:
Xcode Plugins
Xcode Plusgins NSHipster
You can try it.

"/Applications/Xcode.app: a sealed resource is missing or invalid" error while validating Xcode installation

Today I got the memo from Apple as probably every other Apple developer about potentially infected Xcode installations. (https://developer.apple.com/news/?id=09222015a)
I followed the instructions and tried to validate my Xcode app using the command mentioned. (spctl --assess --verbose /Applications/Xcode.app) The program ran for a while and exited with a "/Applications/Xcode.app: a sealed resource is missing or invalid" message.
The article says "Any result other than ‘accepted’ or any source other than ‘Mac App Store’, ‘Apple System’ or ‘Apple’ indicates that the application signature is not valid for Xcode." However, I'm actually pretty sure my Xcode copy is legitimate (downloaded and updated via App Store with Gatekeeper enabled) so I thought maybe there could be another problem preventing it to validate as it should.
Do you have any ideas what this error message actually means? Do you think I need to reinstall Xcode just in case?
Thanks in advance for your help.
The false positive validation issue appears to be caused by containing previous iOS SDKs in order to be backwards compatible.
A clean install will completely wipe the SDK directories. When you run the validation test after a clean install it will pass. Once you copy previous iOS versions, which, for us, is iOS 8 for iPhone, the validation will fail.
This scenario was tested after updating to XCode 7.0.1 (7A1001) which was released earlier this afternoon.
In order to avoid a clean install, you can temporarily remove the previous SDK version from their respective location, and run the validation. Then, once the validation passes, copy the files back where they belong.
I was getting the same message "a sealed resource is missing or invalid". However i was able to rectify the issue by going into the App Store and downloading the latest version of Xcode - Version 7.0 (7A220), and this seems to have rectified the issue.
Although i did first try updating Xcode through the updates section on the App Store, but for some reason this didn't work. So i would recommend going into the App Store > Search for Xcode > Then install the latest version available to you.
Depending upon gatekeeper settings.please check gatekeeper settings to allow anywhere and revalidate Xcode.

Error after updating to Xcode 7

I am developing mobile app with Ionic Framework and I just received very strange error that broke my whole build.
'myapp/Plugins/com.phonegap.plugins.facebookconnect/FacebookSDK.framework/FacebookSDK(FBLikeButtonBackgroundSelectedPNG.o)'
does not contain bitcode. You must rebuild it with bitcode enabled
(Xcode setting ENABLE_BITCODE), obtain an updated library from the
vendor, or disable bitcode for this target. for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
That happen after . It worked perfectly before upgrading to the new Xcode version 7.0. I have tried to disable the BITCODE for the project but the Facebook functionality of the APP does not work as expected.
EDIT
If I disable BITCODE for the project the Facebook plugin opens the browser instead of the app therefore Disabling BITCODE is not a solution in that case.
From Xcode 7, BitCode in enable it by default. You will get this error until all apps and frameworks in your bundle doesn't include bitcode.
to remove this warning you can disable this in Build Settings
Build Settings>All>Build Options>Enable Bitcode = NO
This is a known issue with the Facebook Plugin. There is an open ticket at https://github.com/Wizcorp/phonegap-facebook-plugin/issues/111614 - I'd suggest you keep an eye on.
As a work-around, you might try
Project > Build Settings > Build Options > Enable Bitcode = No
(found # http://forum.ionicframework.com/t/error-after-updating-to-xcode-7/32641)
I too face the same problem while updating the frameworks for giving iOS9 support.
1.To change In build settings:
Enable Bitcode = "NO"
Not only for your project targets, to set all of your targets including your pods(Project) targets.
2.Change the Build Architecure only:
Debug - YES
Relese - NO
That was fixed!
Here is what it worked for me:
I am stealing it from here :
https://github.com/Wizcorp/phonegap-facebook-plugin/issues/1116
Update the plist with steps 2 and 3 from e Facebook's iOS 9 guide
Turn off the bitcode setting (you already know how to do that :smile:)
You should update your Facebook SDK. It did the trick for me as the latest Facebook SDK version supports bitcode. You don't have to upgrade to v4 as version 3.24 works perfectly.
There are a few other steps for iOS 9 compatibility like whitelisting FB domains and authorizing FB apps.
The following version support bitcode and can compile with the flag set to YES:
Version 3.24
Version 4.x
The relevant section of the FB documentation says:
Is bitcode supported?
v4.6 and v3.24 of the SDK supports bitcode. If you are using earlier versions, you must disable bitcode.
All steps required to upgrade to iOS 9 (transport security / app whitelisting) can be found here:
https://developers.facebook.com/docs/ios/ios9
But I have to tell you that even though it compiles/link OK and uses an "integrated" Facebook login dialog, it still uses a browser as a modal view in your app. For me it is a regression from the previous Facebook app integration. I don't know whether there's a way to get the old "native" login dialog back.

Resources