Google Analytics libAdIdAccess.a does not contain bitcode - google-analytics

Xcode 7 beta 3 just installed some "additional components" (now Version 7.0 beta 3 (7A152u)), and now I'm getting a compiler error:
ld: '/<abbreviated>/Vendor/Analytics/GoogleAnalytics/libAdIdAccess.a(TAGActualAdIdAccess.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)
This Google Code post is the only mention I've found for GA and bitcode.
It would be nice if I could disable it for this library only rather than disable bitcode entirely. Is that possible?
This answer provides a work around for bitcode being enabled by default, and this may ultimately be a dupe of that more generic question.

Update:
Good news everyone!
Google Analytics now supports Bitcode with their 3.14 release. You can grab it from their download sources, however its not listed on Cocoapods yet.
Google Analytics SDK Download
Change Log
Original:
Google needs to compile their analytics SDK into a bitcode library. However, from previous experience with Google updating their libraries to 64-bit it took over half a year iirc.
My advice is if you're not supporting watchOS we can just wait it out, got to
Build Settings
Enable Bitcode
Set to No
If you are supporting watchOS, use a different analytics tool for now.
Extra info:
There's developers talking about it on a google forum here:
https://groups.google.com/forum/#!topic/ga-mobile-app-analytics/d6ML4BKBBeY
Facebook and Fabric.io (Crashlytics, TwitterKit) have already updated to use bitcode, so it technically shouldn't be too difficult for Google to follow suit. I believe this type of holdback to be politics. The ones who have the most to lose are our users.

Welcome back to 2013, as #david-wong mentioned, it took a year for Google to support arm64. Whenever Apple announces a change or requirement to the toolchain, it takes the Google ios SDK team years to update their static lib. Just to set your expectations, they just recently acknowledge that bitcode support is a "high priority" issue, even though app slicing/bitcode was announced on June 8th, 2015. If you're using GA in your main target, GA will prevent you from using the extremely valuable benefit of architecture slicing.
Disabling bitcode isn't a workaround, it's just disabling bitcode support. Hopefully someone managing GA sees this, and decides to makes ios a first class citizen.

Google have just updated the Google Analytics and Google Tag Manager SDKs (version 3.14) to support Bitcode, so you can update the libraries and compile your app using "Enable Bitcode - Yes" flag.
Download page
Direct link

Upgrade your GoogleAnalytics sdk using pod.
Open terminal
Go to your project directory
pod init
Open the pod file created in your project directory
Write the following lines
platform :ios, '10.0'
target “GoogleAnalyticsTestApp” do
pod 'GoogleAnalytics'
pod 'GoogleIDFASupport'
end
This will resolve the error. From the following links you can add Google's Api:
1.http://cocoapods.org/pods/GoogleAnalytics
2.http://developers.google.com/ios/guides/cocoapods

If you are using cocoapods, you can add this at the end of the Podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
This will recurse through all the pods and mark the ENABLE_BITCODE off. Naturally, you will not be able to compile for the watch / apple tv (as they require it on some versions).

Related

Firepad and CodeMirror 6

I couldn't find this information on either Firepad documentation or CodeMirror. I have read CodeMirror is npm bundle based. Is Firepad compatible with CodeMirror 6 ?
Is Firepad compatible with CodeMirror 6 ?
Probably not. At the time of writing, Firepad is running on 5.52.2 (see package.json) and isn't actively developed anymore (see README.md):
This repository is no longer under active development. No new features will be added and issues are not actively triaged. Pull Requests which fix bugs are welcome and will be reviewed on a best-effort basis.
Since Codemirror 6 seems a complete rewrite with a new architecture, I don't think anymore will bother to port it over at the moment.
The original project is no longer mantainer, but I got it working and published the result as the npm package #lucafabbian/firebase. Far from perfect, but runs without major issues.
Check my demo here:
https://github.com/lucafabbian/codemirror6-firepad-demo

Crashlytics could not find the resource file generated by Google Services

Crashlytics could not find the resource file generated by Google Services.You may need to execute the :processGoogleServices Task
i read the solution from this qusetion Crashlytics could not find the resource file generated by Google Services. You may need to execute the :process<Variant>GoogleServices Task
but i didn't succeded to run this command in my unity project
./gradlew :app:processProdReleaseGoogleServices or ./gradlew :app:processDevReleaseGoogleServices
how can i run it?
A tricky bit with the Unity SDK is that because Firebase still supports versions of Unity that predate a total move to gradle (I believe 2019.4 is when Unity switched over entirely, the earliest supported version right now is 2017.4), many Android specific solutions (such as the one you linked) won't function. If you did want to try it, you can select "Export Project" in your build settings -- but I don't think this will help:
It sounds instead like you're missing Plugins/Android/FirebaseApp.androidlib or Plugins/Android/FirebaseCrashlytics.androidlib. These are generated by the Firebase plugins (obviously FirebaseCrashlytics.androidlib is specific to Crashlytics -- you won't see that one otherwise) as part of a processing step to simulate what the Play Services gradle plugin would do in a typical Android application or game.
Some things to try:
Make sure you're on a supported version of Unity (2017.4 or newer -- Firebase does not officially support alphas or betas).
Ensure that you have a valid google-services.json file added and that Crashlytics has been added to your backend (full instructions here to redownload).
Re-add FirebaseCrashlytics and ensure that you leave everything checked.
Ensure that you have the latest Crashlytics plugin (currently 7.1.0). You can download just Crashlytics now from this site, but make sure you don't mix and match versions with other Firebase plugins.
And if none of these work, sometimes small changes in build environments expose unexpected issues. Your best bet will be to file an issue here with everything you've tried.

How to make Rider show API documentation again?

Since reinstalling with Fedora 32, Jetbrains Rider does not show XML documentation for external APIs like all the SDK classes and methods anymore:
As you can see, Rider does not show the method documentation, even though I know it's there and the Rider decompiler does show it too, when Ctrl+Clicking into the Slice method.
The official dotnet-sdk-3.1 package from the Fedora repositories is installed and works as normal.
Is there some setting that I missed and which allows me to fix/enable the documentation?
The issue disappeared after 2 weeks of system upgrades and restarting. No idea what caused this.

Does CEF3 support NaCl?

Has anyone had success in enabling NaCl/PNaCl support in the CEF3 (Chromium Embedded Framework)?
I find that Chrome (34) can run the PNaCl samples on this page fine, but the cefclient distributed at cefbuilds.com (Windows, 1916 branch) does not.
Chrome lists the ppGoogleNaClPluginChrome.dll as a PPAPI (in-process) plugin on chrome://plugins, while the cefclient app doesn't have this plugin listed (Test/Plugins menu option)
I've pulled down the source, and don't see any NaCl depedencies for the libcef target, and also see this issue filed for the CEF project, which make me suspect that this is currently only available for Chromium/Chrome.
--- Update ---
There has been quite a bit of activity on this question recently, I suspect in part due to the bounty, and also because Chrome/Chromium is now actively deprecating NPAPI.
If you would like to encourage the CEF team to prioritize work on adding NaCl/PNaCl support, please vote for the issue here:
http://bitbucket.org/chromiumembedded/cef/issue/705#
From the CEF Forum:
CEF does not include the NaCl pepper (ppapi) plugin which is required to load NaCl applications. So you need to tell CEF where to find the NaCl plugin via the command-line. I'm not sure of the exact command-line, but you can use this as a guide: viewtopic.php?f=10&t=10509
You can get the plugin from an equivalent version of Google Chrome of you can build it from source code. For more information see http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics.
I haven't tested NaCl support in CEF myself so it's possible that other changes may be required.
In 2017 June, CEF3's plan to eventually suport NACL was officially dropped as mentioned in https://bitbucket.org/chromiumembedded/cef/issue/705
This is due to chromium moving to replace NACL by Webassembly.
There's some work in CEF3 in that direction: accordingly to https://bitbucket.org/chromiumembedded/cef/issues/2101/add-webassembly-support there's wasm support in v8 engine and it can be enabled by specific flags.

Is it still possible to edit a document in google docs from alfresco share 4.2?

I have a 4.0.x binary installation of alfresco and have this menu highlighted below:
I have 2 custom installed 4.2.c versions and this option is missing. I have done the following to try and enable it as read from different parts of the web:
1) added the two following lines to both the share and the repo's alfresco-global.properties file
#enable GoogleDocs integration
googledocs.enabled=true
googledocs.googleeditable.enabled=true
2)Modified the share-custom-config.xml file in attempts to enable this and other google docs functionality.
So far this is the only thing missing. I am not sure whether this is a bug or whether I'm overlooking something else.
Yes, Google Docs integration works fine with Alfresco Community Edition 4.2.c. In fact, here is a video that shows you how to get it working:
http://www.youtube.com/watch?v=EbNDEp1KG1g
The video shows that the out-of-the-box installer will not create a working Google Docs integration due to changes on the Google side. So you need to reinstall the AMPs to both the alfresco and share wars as gagravarr mentioned above.
If you are using Google Docs integration in the repository folders (external to a Share site) you will need to install from head because there is a bug. If you are using the integration only within Share sites the latest released version of the integration, downloadable from the 4.2.c file list page, will be fine.

Resources