When I install build from Xcode its reporting crash properly but when I try to create build from Appcenter same crash is not reported.
I am checking with release mode. I have tried both Workspace-settings i.e. New build system and Legacy Build System but no luck.
Using XCode 11.2.1 & FirebaseCrashlytics(~> 4.0.0) pod.
Check for Enable Bitcode settings for all third-party frameworks. If all are bitcode enable then set Bitcode to Yes otherwise set to NO
In Build Settings >> Build Options >> Enable Bitcode set value for Project and Targets
Also check for Bitcode in Pod project if you are using Cocoapods.
Related
Basically I have built a compiled released framework and distributed it with cocoaPods. The problem is that then archiving this framework application gets the following error:
ld: bitcode bundle could not be generated because
'/Users/cagrialtay/Desktop/mucbirsebepler/ios/Flutter/Flutter.framework/Flutter'
was built without full bitcode. All frameworks and dylibs for bitcode
must be generated from Xcode Archive or Install build file
'/Users/cagrialtay/Desktop/mucbirsebepler/ios/Flutter/Flutter.framework/Flutter'
for architecture armv7 clang: error: linker command failed with exit
code 1 (use -v to see invocation) Search for Enable Bitcode setting
and set it to YES for Debug and Release modes.
Things I tried but had no luck
Enable Bitcode' set to 'YES' Adding '-fembed-bitcode' to 'Other C
Flags' Adding 'BITCODE_GENERATION_MODE' with the value 'bitcode' set
skip install to yes
I only need release version, so I did not built an universal framework, just release version... I would genuinely like to solve this issue, because it has been a nightmare for me..
I finally solved this.This error happened because of me . I develop my iOS application with flutter, so if you develop your iOS app in Flutter firstly you must build with flutter not Xcode
flutter clean
flutter build ios
then go
Xcode -> Product -> Destination -> Any iOS Device
Xcode-> Product -> Scheme -> choose scheme -> Runner
Xcode-> Product -> Archive
or
flutter clean
flutter build ipa
then
Xcode-> Product -> Archive
That happened to me too. Xcode 11, Flutter. I tried deleting the App on Simulator still did not work.
Open project folder
Go to ios file
Go to Runner Folder
Right click on "Launch Screen.storyboard"
Open with Xcode.
I am trying to build a Cordova project with Xcode 7.1.1 and am getting a 'no bitcode' error from the linker:
ld: '/Users/billnoble/Library/Developer/Xcode/DerivedData/CUES-donxgdovpardqqbprhstonixixch/Build/Products/Debug-iphoneos/libCordova.a(CDVInvokedUrlCommand.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
I have set Enable Bitcode to No in the build settings for both debug and release versions (as recommended in suggested solutions to this problem elsewhere) but this does not remove the link error.
I have installed the latest Corodova 3.9.2 release.
I installed Fabric and crashlytics framework using fabric app and not cocoapods.
I needed to update it to comply with this error and for the future.
/Crashlytics.framework/Crashlytics(CrashlyticsPlaceholderStatic.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
and I've read that the update will fix the issue.
Thanks!
Mike from Crashlytics and Fabric here.
If you updated to Crashlytics 3.3.1 and Fabric 1.5.1, then those frameworks support Bitcode enabled app. Release notes here.
Go to Build Settings(target's), find the
'Enable Bitcode' key under 'Build options'
Set it's value to NO.
REASON: iOS9 has this option from Xcode 7, By default it is set as YES(I guess). Since, third party frameworks like Crashlytics doesn't updated for bitcode enabled mode. So, set it NO.
To add to the other solutions:
Fabric was not recognizing that my project had an outdated Crashlytics version. It listed my "Installed" version as 3.3.4 when infact it was v3.0.x.
I clicked "Install" on Crashlytics and was prompted to rebuild project. But the project rebuild was failing due to the Bitcode being enabled and my Crashlytics.framework version being outdated.
I disabled Bitcode, and successfully built, at which point Fabric updated my Crashlytics. THereafter, I was able to turn Bitcode back on and continue to build successfully with Crashlytics v3.3.4
I solved this problem this way:
Build settings -> Build Options -> Enable Bit = NO
Build app
Fabric notifies that I have to update Crashlytics framework, so I have built app to update framework
Build settings -> Build Options -> Enable Bit = YES
And everything works fine now.
I am directly linking PLCrashReporter in my iOS app without using any external tool and now when I try to compile it on Xcode 7 I get link error:
ld:
'.../CrashReporter.framework/CrashReporter(libCrashReporter-iphoneos.a-armv7-master.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 armv7
Where do I get the updated framework or the sources to compile them with bitcode enabled and get rid of the error without disabling bitcode for the full project?
I ended up addressing this by building PLCrashReporter 1.2.1 from source. This version is the minimum that has had Xcode 7 and iOS9 fixes merged.
The source is obtained from here: PLCrashReporter 1.2.1
Unzip the downloaded 1.2.1 source into a folder.
Pull the Xcode project inside that folder up within Xcode and add the following to the Custom Compiler Settings "Other C Flags" section of the project build settings: -fembed-bitcode
Next add the following to the Custom Compiler Settings "Other Warning Flags" section of the project build settings: -Wno-error=unused-command-line-argument
Then close the project from the Xcode GUI. The custom settings are necessary because we are going to build from the command line using xcodebuild to avoid the PLCR deprecation errors, and when doing so the default is only -fembed-bitcode-marker when building a framework this way. We are overriding the default behavior, and need to suppress the hard stop warning this causes.
Lastly, from a terminal window prompt within the folder where the zip file of the source including the xcode project file is located run the following:
xcodebuild -configuration Release -target 'Disk Image'
This will run the build and leave the framework in ./build/Release/PLCrashReporter-1.2.1/iOS Framework
Now, these steps will produce a bitcode enabled framework, but third party crash reporting is incompatible with bitcode (when the App Store recompiles you have no way to get the symbol file from that on the fly build).
There is 2 options.
1. Download PLCrashReporter sources and compile it whit bitcode enabled, and use that in your project.
2. Disable bitcode for your target
Go to your target's Build Settings tab, search for Enable Bitcode set value to NO.
This worked for me, in order to include Rollbar framework in my project:
Within my workspace, I first select my project from the Project Navigator -> my project's target -> Build Settings -> Enable Bitcode = NO
Then I select the PODS from the Project Navigator -> Rollbar Target -> Enable Bitcode = NO
Experienced same issue. I built the crash reporter framework from source using
https://www.plcrashreporter.org/code
Open it in Xcode
Select the 'CrashReporter' target with the red bullseye.
Build it
Then search in ~/Library/Developer/Xcode/DerivedData/CrashReporter-xxxxxxx to get the .framework bundle
Unfortunately the issue presented itself again. Also when I try to compile again I get:
ld: warning: object file
(/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(cf.o))
was built for newer OSX version (10.6) than being linked (10.5) ld:
warning: object file
(/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a(arclite.o))
was built for newer OSX version (10.6) than being linked (10.5)
Moreover if I set enable bit code at the project level I get an immediate error:
target 'CrashReporter-MacOSX-Static' has bitcode enabled (ENABLE_BITCODE = YES), but it is not supported for the 'macosx' platform
What should I do to produce the framework with bitcode enabled?
I have an iOS application in Swift with CocoaPods using the UrbanAirship iOS SDK via Pods as follows:
pod 'UrbanAirship-iOS-SDK'
We can verify the version installed in the Podfile.lock file:
- UrbanAirship-iOS-SDK (6.2.0):
- UrbanAirship-iOS-SDK/Core (= 6.2.0)
- UrbanAirship-iOS-SDK/Core (6.2.0)
The application builds, runs and archives properly on Xcode 6.4. In addition, it also builds and runs properly on Xcode 7 beta 6. However, when archiving in Xcode 7, I get the following error:
ld: '.../Pods/UrbanAirship-iOS-SDK/Airship/libUAirship-6.2.0.a(UAWalletAction.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 armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have updated the project build settings to disable bitcode by setting ENABLE_BITCODE to NO, both at the project and target(s) levels, as indicated on this SO answer, but the error persists.
Any help would be appreciated. Thanks for your time.
Yesterday I updated to the latest XCode7 (pre-release) and wasn't able to archive the project I was working on :( ... After struggling to build the UA SDK & other libraries myself, I simply set Enable Bitcode to NO and everything worked as it did in XCode6! :)
Update:
In addition to the project and targets in the project, Bitcode also should be disabled (by setting Enable Bitcode to No) in the CocoaPod framework targets affected (UrbanAirship-iOS-SDK in this case).
You can safely turn off Enabled Bitcode to NO if your app is not built for Watch OS.
I would also suggest using Xcode 6 to submit builds as most of the libraries won't be adding support for bitcode at least until the official Xcode 7 comes out.
Libraries with bitcode support cannot be run on Xcode 6, hence the delay in adoption.
To enable bitcode you have to build the library with Xcode 7. Xcode 7 GM was released today, so it is now possible for us to release an update to the UA SDK with bitcode enabled. Until the update, you can build the SDK from source by following https://github.com/urbanairship/ios-library.
Update:
We released 2 builds of 6.2.2, one with bitcode and one without. https://bintray.com/urbanairship/iOS/urbanairship-sdk/6.2.2/view