rxz99 / analytics-issues

Automatically exported from code.google.com/p/analytics-issues
0 stars 0 forks source link

Bitcode will be dropped with Xcode 7 #671

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
---------------------------------------------------------------------------
NOTE: This issue tracking system is for Google Analytics developer products
only.
If you are not a developer/programmer visit:
http://www.google.com/analytics/support.html
---------------------------------------------------------------------------
Name of affected component: Mobile Tracking

Name of related library and version, if applicable (e.g. Android, iOS,
Snippets, etc.): iOS

Issue summary:
Provide a brief summary of the issue you're experiencing.

Steps to reproduce issue:
1.  Use Xcode 7.  In your project ENABLE_BITCODE is on by default.
2.  Build an app using the Google Analytics iOS library.
3.

Expected output:
What do you expect to see after performing the above steps?
No warnings

Actual results:
What do you actually see after performing the above steps?
These warnings (This will be an error in the future.):

ld: warning: -weak_framework is treated as -framework when used with 
-bitcode_bundle (Xcode setting ENABLE_BITCODE=YES). Weak linking may still 
happen based on availability mark-up in headers
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAI.o)' was built without 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. Note: This 
will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIDictionaryBuilder.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIFields.o)' was built without 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. Note: This 
will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIUncaughtExceptionHandler.o)' was built 
without 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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIBatchingDispatcher.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIDataStore.o)' was built without 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. Note: 
This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIDefaultLogger.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIEcommerceFields.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIStringUtil.o)' was built without 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. Note: 
This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAITrackerImpl.o)' was built without 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. Note: 
This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIURLConnection.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIUsageTracker.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAICampaign.o)' was built without 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. Note: 
This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAICoreDataUtil.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIExceptionParser.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIHitUtil.o)' was built without 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. Note: This 
will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIReachabilityChecker.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIRequestBuilder.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAITrackerModel.o)' was built without 
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. Note: This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIUtil.o)' was built without 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. Note: This 
will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAIHitFormat.o)' was built without 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. Note: 
This will be an error in the future.
ld: warning: URGENT: all bitcode will be dropped because 
'.../libGoogleAnalyticsServices.a(GAICompressionUtil.o)' was built without 
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. Note: This will be an error in the future.

Notes:
Provide any additional information which might be useful here. Feel free to
attach screenshots or sample code which demonstrates the issue being
described.

Original issue reported on code.google.com by ellucian...@gmail.com on 18 Jun 2015 at 3:12

GoogleCodeExporter commented 8 years ago
It's clear that Google is not really interested in improving/updating this 
library. Since version 3.0.8 at least it's been giving me problems in apps 
submission because it contained "unsupported or illegal" instructions. I had 
already switched to other analytics libraries out there, and I would definitely 
suggest you to do the same.

Original comment by cont...@digitalleaves.com on 30 Sep 2015 at 4:27

GoogleCodeExporter commented 8 years ago
As slicing currently isn't working 
(https://developer.apple.com/news/?id=092415a&1443125762), why don't you 
disable bitcode for now and submit a new version of your apps later when Google 
has fixed analtycs?

Original comment by fno...@gmail.com on 30 Sep 2015 at 6:18

GoogleCodeExporter commented 8 years ago
Turning off bitcode for watch is not an option. It has to be enabled

Original comment by b...@brethansenfamily.com on 30 Sep 2015 at 6:39

GoogleCodeExporter commented 8 years ago
The closed source status of this project mixed with blatant disregard for 
modernization is very alarming. Regardless of the current status of app 
slicing, bitcode support is a matter of changing a single boolean before 
building. Both 64bit support and now bitcode took months and months of 
strongarming and threats from the community for them to finally cut a release. 
Apple gave us all half a year (even longer for arm64 support) to make these 
changes, and google can't even rebuild a static library with a single build 
setting change. 

Does anyone on the ios SDK team actually build ios apps? Maybe you can ask an 
intern to ENABLE_BITCODE=YES, and cut a new release? There is absolutely no 
reason we should be blocked on something like this right now. Are internal 
teams like inbox not using the GA client? Do they have access to internal 
source? I'm surprised other internal ios projects within google have not taken 
this issue into their own hands.  

Original comment by RRomanc...@gmail.com on 1 Oct 2015 at 7:47

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
This did not update the entirety of the Google SDK, and specifically, Google 
Analytics under which this project is filed.

Installing Google 1.1.0 (was 1.0.7)
Using GoogleAnalytics (3.13.0)

> '/Pods/GoogleUtilities/Libraries/libGTM_NSData+zlib.a(GTMNSData+zlib.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

Original comment by ataran...@gmail.com on 1 Oct 2015 at 8:26

GoogleCodeExporter commented 8 years ago
Hey guys (GA team),

I'm a completely new user to this library and I just wanted to let you know, 
due to the overwhelming warning here in this thread from responsible (+awesome) 
developers, I am steering clear of Google's entire iOS (Swift/Obj-C) offerings.

We are choosing not to use Cloud Messaging, Sign In, and the whole rest of it 
due to this issue. High priority does not even begin to cover it. RRoman above 
is correct - it's one simple build flag change and we're done with you over it.

-a potential customer

Original comment by s...@momentum.io on 1 Oct 2015 at 11:24

GoogleCodeExporter commented 8 years ago

Original comment by mcoh...@google.com on 2 Oct 2015 at 12:56

GoogleCodeExporter commented 8 years ago
What are you doing, GA Team???

Original comment by ltg...@gmail.com on 2 Oct 2015 at 8:41

GoogleCodeExporter commented 8 years ago
Google PLS  (╯°□°)╯︵ ┻━┻

Original comment by miroslav...@rohlik.cz on 2 Oct 2015 at 8:43

GoogleCodeExporter commented 8 years ago
Google A Guys, as said by many, it is just a matter of recompiling with the 
flag set correctly, PLEASE take 5 minutes to do this. 

Original comment by a...@wapolabs.com on 2 Oct 2015 at 12:23

GoogleCodeExporter commented 8 years ago
Just to help the Google guys along, the Open Source community recently got 
CardIO's spec to work with Bitcode. If the GA guys are struggling they could 
follow the thread here https://github.com/card-io/card.io-iOS-SDK/issues/119 
and see how CardIO managed to resolve this.

Original comment by danielhg...@gmail.com on 2 Oct 2015 at 1:58

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Pretty disappointed at the utter lack of care in fixing this. It should have 
been done months ago. Given it's still outstanding, there should be an engineer 
working on this right now until it is released.

Original comment by jamesebi...@gmail.com on 2 Oct 2015 at 2:19

GoogleCodeExporter commented 8 years ago
Maybe Google are moving out of the iOS mobile analytics game?  Or maybe their 
coder is taking a sabbatical away from coding....

Maybe the title of this issue needs changing to highlight that BITCODE is 
preventing Google Analytics being deployed to iOS app that support Apple Watch?

Original comment by Jason.Br...@googlemail.com on 2 Oct 2015 at 2:55

GoogleCodeExporter commented 8 years ago
I tried their new pod 'Google/Analytics' thing too. It has the same bitcode 
problem with some utility it depends on. 

Original comment by a...@wapolabs.com on 2 Oct 2015 at 3:00

GoogleCodeExporter commented 8 years ago
Please fix this issue!!! I am also developing a watchos2 app!!

Original comment by wie...@routing4you.com on 5 Oct 2015 at 7:49

GoogleCodeExporter commented 8 years ago
Is there any updates on this issue? I'm getting the same error as #57 :
> '/Pods/GoogleUtilities/Libraries/libGTM_NSData+zlib.a(GTMNSData+zlib.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

Original comment by ke...@pinch.eu on 5 Oct 2015 at 3:55

GoogleCodeExporter commented 8 years ago
"App Slicing Now Available" (https://developer.apple.com/news/)

Come on Google we're waiting.... Or do we have to wait until you 'copy' slicing 
into Android?

Original comment by ed...@cybionic-systems.com on 6 Oct 2015 at 5:52

GoogleCodeExporter commented 8 years ago
This is holding up my watchos2 app release. 

Original comment by twal...@gmail.com on 6 Oct 2015 at 11:02

GoogleCodeExporter commented 8 years ago
To submit watchOS 2 apps and still have GA in the project, all you have to do 
is enable bitcode for the watch app and watch extension targets, and disable 
bitcode for the iOS app target.

Original comment by mtu...@gmail.com on 6 Oct 2015 at 10:56

GoogleCodeExporter commented 8 years ago
Out of all the companies' analytics I could have chosen to integrate into my 
game, I would have guessed that Google would have been the least likely to not 
keep theirs functional. Is it abandoned for iOS? If it is, or if there is no 
plan to update it, just let us know so that we can rid ourselves of it. Please 
give us some idea what is up...

Original comment by wjur...@gigabitgames.com on 7 Oct 2015 at 2:46

GoogleCodeExporter commented 8 years ago
Google team, 
we all have application running their routines. We have responsibilities to all 
our customers, like you have with your (we Developer). 

Put themselves in our place and respond. 

What would you say to a customer standing with his application stop the day?

What would you say? 

Please we need a forecast to move on to our customers.

Original comment by mrom...@gmail.com on 7 Oct 2015 at 3:10

GoogleCodeExporter commented 8 years ago
For those people that were experiencing this issue in conjunction with Xcode 
7's code signing bug (caused by bitcode disabled in the parent, enabled in the 
child), I'm happy to report that after working through the Xcode issue via a 
radar, last night Apple instructed me to test against Xcode 7.1 beta 3, and 
that issue is resolved for me. I'd still like Google analytics to support bit 
code, but I am finally able to distribute via enterprise distribution profiles 
again.

Original comment by bran...@acorns.com on 7 Oct 2015 at 5:06

GoogleCodeExporter commented 8 years ago
I test with Xocde 7.1 beta 3, but not work with me.
Waiting Google Team.

Original comment by mrom...@gmail.com on 9 Oct 2015 at 2:36

GoogleCodeExporter commented 8 years ago
We thank everyone for their patience as we are actively working to get the new 
SDK released as soon as possible. As work around it is possible to build and 
deploy projects that have the current Google Analytics SDK with bitcode 
disabled for iOS targets and with watchOS targets with bitcode enabled.

There is an example on stackoverflow on how to disable bitcode.
http://stackoverflow.com/questions/30848208/new-warnings-in-ios9

There there are also reports that the related xcode distribution profile 
signing issue for applications with this configuration is resolved with Xcode 
7.1 beta 3:
https://forums.developer.apple.com/thread/9734

Original comment by mcoh...@google.com on 10 Oct 2015 at 2:20

GoogleCodeExporter commented 8 years ago
@mcoh

Thank you for the heads up. :)

Original comment by scarn...@gmail.com on 10 Oct 2015 at 5:35

GoogleCodeExporter commented 8 years ago
Thanks for the heads up.

Original comment by da...@imaggle.com on 11 Oct 2015 at 5:25

GoogleCodeExporter commented 8 years ago
!As work around it is possible to build and deploy projects that have the 
current Google Analytics SDK with bitcode disabled for iOS targets and with 
watchOS targets with bitcode enabled."

You can't, if you have another framework with bitcode enabled, for example 
google maps sdk ;-)
How long does it take to set a flag, rebuild and publish?

Original comment by jwolff....@googlemail.com on 13 Oct 2015 at 8:35

GoogleCodeExporter commented 8 years ago
Hello jwolf,
Thank you for writing in.

Integrating with one library that has bitcode doesn't make it a requirement for 
your entire application. As far as I am aware the Google Maps SDK has not yet 
enabled bitcode: 
https://code.google.com/p/gmaps-api-issues/issues/detail?id=8219

Also, I will update this thread with any news about upcoming release.

Original comment by mcoh...@google.com on 13 Oct 2015 at 11:03

GoogleCodeExporter commented 8 years ago
@mcoh: The problem is, that bitcode enabled frameworks are not delivered as a 
fat library, including all the architectures you need. And you are right, 
Google Maps is not bitcode enabled yet. I looked at the demo project, which was 
bitcode enabled because this is the XCode 7 dafault setting.

Thank you for updating :-)

Original comment by jwolff....@googlemail.com on 14 Oct 2015 at 1:51

GoogleCodeExporter commented 8 years ago
@mcoh: Thanks for updating.

Original comment by srf.tobi...@gmail.com on 14 Oct 2015 at 11:19

GoogleCodeExporter commented 8 years ago
Is there any known workaround to release iOS app with bit code enabled that is 
using Google Analytics?

With the latest cocoa pod for Google/Analytics (1.1.1) we are getting Xcode 
linker error when building for iOS Device:

...GoogleUtilities/Libraries/libGTM_NSData+zlib.a(GTMNSData+zlib.o)' does not 
contain bitcode.
You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)...

Original comment by pzabe...@gmail.com on 18 Oct 2015 at 8:42

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Is there any particular reason why it takes so log to fix these issue. It 
should be:
 just open it and rebuild with new Xcode. Why does it took 4 month
"issue openend - Jun 18, 2015"

Original comment by kostian...@rocketfarm.no on 21 Oct 2015 at 11:27

GoogleCodeExporter commented 8 years ago
@mcoh Can you give us a little more insight into this delay? It doesn't make 
much sense to most developers. My guess is that you guys are following an 
internal process that makes it difficult to release patches? Do you commit 
directly into master, which might explain this delay?  Did a major point 
release get caught in a merge process that is now making a simple rebuild take 
months? 

I understand why arm64 may have been a lot more involved because of very real 
migration issues, but the bitcode delay is still very alarming. Are you facing 
issues with Apple's toolchain? Is there some edge case, specific to how this 
library was implemented, that is making you jump through hoops? 

Any information would be great. 

Original comment by RRomanc...@gmail.com on 21 Oct 2015 at 8:00

GoogleCodeExporter commented 8 years ago
Hi Roman,
There are a number reasons for the delay, but largely it is because the 
underlying build infrastructure needed to be updated to support Xcode 7 while 
still maintaining support for legacy versions. And that change required a whole 
chain of dependencies to be fixed. There are also stringent quality assurance 
and testing procedures that ensure all the libraries will work once released. 
The team responsible for cutting the final release has assured me that a 
release is coming soon.
Matt

Original comment by mcoh...@google.com on 21 Oct 2015 at 11:54

GoogleCodeExporter commented 8 years ago
Thank you!

Will Larche
Chief Product Officer, Lead iOS Engineer
Miner Labs, Inc. 

Download Miner on the App Store <http://apple.co/1J3wy2O>

Original comment by w...@minerapp.com on 22 Oct 2015 at 12:25

GoogleCodeExporter commented 8 years ago
Got it, 
Thanks Matt!  God speed QA team :P 

Original comment by RRomanc...@gmail.com on 22 Oct 2015 at 12:34

GoogleCodeExporter commented 8 years ago
How can I prevent from someone tracking my accounts or moving ads that I never 
got into? I don't know much about computers but I do know someone is using my 
email, facebook,twitter &etc.

Original comment by rgakittie@gmail.com on 22 Oct 2015 at 9:23

GoogleCodeExporter commented 8 years ago
Good news everyone, we have just released v3.14 with bitcode support:

https://developers.google.com/analytics/devguides/collection/ios/changelog

https://developers.google.com/analytics/devguides/collection/ios/v3/sdk-download

Original comment by mcoh...@google.com on 23 Oct 2015 at 6:47

GoogleCodeExporter commented 8 years ago

Original comment by mcoh...@google.com on 23 Oct 2015 at 6:49

GoogleCodeExporter commented 8 years ago
Yaaay! Hit that close button, and head to the bar! 

Original comment by RRomanc...@gmail.com on 23 Oct 2015 at 6:49

GoogleCodeExporter commented 8 years ago
Hi Matt!

Now that this has been solved for 4 whole minutes, can you please also update 
the Cocoapods trunk repo for this as well? :)

It looks like (as of ~noon Pacific time on Friday, October 23rd) the Google 
Analytics repo is still using version `3.1.13`.

https://cocoapods.org/pods/Google
https://cocoapods.org/pods/GoogleAnalytics

THANKS!

-sean

Original comment by tobler...@gmail.com on 23 Oct 2015 at 6:55

GoogleCodeExporter commented 8 years ago
A note about the cocoapods: "GoogleAnalytics" will be updated soon with this 
latest release, and if you are using that directly you should be able to enable 
bitcode. But if you are using the "Google" pod, the top level library does not 
yet have bitcode enabled. But it is being worked on now as well.

Original comment by mcoh...@google.com on 23 Oct 2015 at 7:07

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
How soon is "soon"?

Original comment by james.bi...@cuvva.co on 26 Oct 2015 at 8:55

GoogleCodeExporter commented 8 years ago
Yeah, we need cocoapods!

Original comment by rusya....@gmail.com on 27 Oct 2015 at 3:06

GoogleCodeExporter commented 8 years ago
Still waiting :(

Original comment by palka.pa...@gmail.com on 28 Oct 2015 at 7:48