I am trying to use Google Analytics with a MonoTouch application (iPhone). It works great on the simulator but crashes on startup on an actual iPhone.
This is apparently due to a bug in the XCode linker than doesn't allow libraries with Thumb and non-Thumb instruction sets to be linked together.
http://monotouch.net/Documentation/Troubleshoot
From what I can see, MonoTouch is compiled with non Thumb. The Google Analytics lib is compiled with Thumb.
Has anyone figured out a workaround for this?
Clarification - We are using GA to track the page & event views of our own app. We are not writing an app to query the GA API.
Hello i've done some work with the Analytics API
http://dl.dropbox.com/u/2058130/Analytics.zip
here you are the DLLs i used, this are already monotouch precompiled DLL's you need to import to your project the 3 of them in order to use it
here is the documentation of the dll
http://code.google.com/apis/analytics/docs/gdata/gdataLibraries.html
Hope this helps
Alex
There is no workaround at this time, you should "star" this issue to let Google know its important for you:
http://code.google.com/p/gdata-issues/issues/detail?id=1705
As of version 1.1, the Google Analytics SDK provides a nothumb version of the library.
Related
Is there any iOS library which detects various user stats within the app like time spent on a view, number of times app was activated etc.? Any suggestions will be most welcome.
Thanks.
There is an open source project on github:
https://github.com/Countly/countly-sdk-ios
There are many stats SDKs based on web server.
Maybe you can use the google analytics sdk here
or localytics sdk here
I don't know of any native library, there are allot of simple API's to do this. You could however, if you wanted to do it yourself, use some of app delegates methods to log statistics to a plist. But that isn't really the best option. Honestly, Google Analytics on a blank UIWebView page would be an effective and easy solution.
You can use the Flurry analytics sdk here to detects various user stats
**www.flurry.com**
I ve Downloaded Facebook API fro IOS 5....But its showing some errors regrading the memory release...Since apple has introduced autorelease in IOS 5....
I referred this and tried blocking ARC for certain files ,bt it doesn't work for me...
Is there any other methods to stop ARC in IOS 5?
How to overcome this?
Any one plz provide me the link for downloading the Facebook API for IOS 5...
If you use official SDK, you should compile it as a static library, not with your code, and then link your app with that library. You could see how it is done in SDK examples, and also here is some information about building process. Hope it will help.
Here is the link with working Source Code:
http://www.apress.com/9781430235422
Download complete source code from "Source Code/Downloads"
I'm using the mosync library for develop iPhone applications. It generates the Xcode project ,
now I need to compile it to make it run on a iphone. So for that I need a mac.
do anybody know somewhere online to find online compiler which do that with a web based interface?
--thanks in advance--
Its really a difficult ask, since apples terms of use on certificates stop people from doing this.
But I got a paid solution for the same problem you mentioned which provides Xcode on Macintosh with latest updates. It just cost about 10$-20$ per month. Initially, you will get the trial offer too. If you like it, then you can subscribe it.
But friends beware of those who provides hacintosh version.
You can refer to following link-
http://www.xcodeclub.com/
http://virtualmacosx.com/
If you want to compile C or C++ right on iPhone/iPad you can try CppCode ios app
I am currently building an iOS application with flash CS5 and I would need some help with a couple of the features:
Is it possible to add in-app purchases? If yes, how does that work?
Is it possible to add iAd advertising to the app? If so, how? If not, is there any good alternative that works with flash?
How can I save data from within the app so it will be there eaten if the user restarts the app and even the device (like for a headboard and such)?
Any help is highly appreciated!!! :D
If it were a few months ago. Then answer would be an unequivocal no. However, presently, the answer is "perhaps" (or if you are an optimist, "probably"). With the release of Air 3.0, it now supports Native Extensions. These extensions are native code that have a wrapper API around them so that they can be compiled in with and called from an Air application.
In fact, I decided to look around real quick while researching for this answer and found a repo where it looks like somebody has implemented in-app purchases via a ANE. But I haven't tested this extension personally, but it may be a good starting point to see how it is implemented.
The reason you wont find too much information about ANE's yet is because they were only recently supported in the Air 3.0 update that happened last month. They are currently unsupported in Flash CS5 (or 5.5) or Flash Builder 4.5. They are supported in Flash Builder 4.6, which is currently in a closed beta. But you might be able to sneak in still, and it should be released soon.
The biggest "drawback" is that these extensions need to be developed in the native format for the device you are targeting. So that means, if you want to make an iOS extension, then you are writing it in Objective-C and xcode on a mac.
Pretty much the same answer as before. It should be possible with a ANE. But I haven't found any examples of anybody doing it yet.
It is very simple to save data/state to the device. You'll want to look into the SharedObject.getLocal() method if you want to the LSO. Or you can just use low-level File writing. Check out File.applicationStorageDirectory. For sensitive information that should be encrypted into into the EncryptedLocalStore class, which I believe is supported on iOS but not on Android.
All of these should provide a good way for you to persist data between application sessions.
With AIR 3 you can now use native extensions to call into the native platform code to achieve the functionality not provided by AIR Actionscript APIs. To answer your questions.
in app purchase. I have a sample at http://code.google.com/p/in-app-purchase-air-ios
iAd. I have a sample at http://code.google.com/p/iad-air-ios/
As others have already answered use local shared objects.
Three questions for iPhone developers using Google Analytics within their apps for tracking use of their apps:
Will using Google Analytics cause us to be in breach of the terms and conditions of the Apple SDK 4 for developers?
If the answer to #1 is YES, then what are we -- as iPhone developers -- allowed to use to track usage of our apps?
Has anyone who is using the iPhone SDK 4 built their apps that included the Google Analytics library and found it not to work? I'm being told by my developer that it doesn't work when you build with a Base SDK set to iPhone Device 4.0 and and an iPhone OS Deployment Target set to iPhone OS 3.0.
Thanks in advance!
Answers to your questions:
Yes, with the current API and data collection it looks like it is not compliant with the terms of the SDK. I am using both Flurry and Google in my apps because they offer different feature sets that I need. While Flurry has been very vocal that they are working with Apple to resolve the terms of the SDK, Google hasn't said a peep. So, I'm nervous about using Google but not Flurry, because I think Flurry will change their data gathering if Apple presses hard enough. In any event, I have made sure that I can rip out either analytics service quickly if Apple rejects my app.
My understanding is that it's fine to collect your own device data, as long as you don't report it to others. You especially don't want to share any data that would hint at new devices. That's what got Flurry in trouble. Just remember that you are under NDA with Apple, so anything not publicly announced is between you and Apple. There are also rules about what you do with Device IDs, so make sure you understand those as well.
I am using Google analytics on iOS 4, with deployment target set to 3.0. While I no longer have a device to test against 3.0, it is deployed on the AppStore and seems to be working. (No crash reports)
Louie, I encourage you to take a look at Localytics, our app analytics service. Our service is real-time, we don't sell data to third parties and we release the source code to our libraries.
We also have an updated library that works better with the multitasking or fast-user switching in iOS 4: http://www.localytics.com/blog/
Check out www.flurry.com - they have an awesome service!
They allow you to add "events" so you know not only how many times the apps been downloaded, opened, removed... but you know what buttons and areas they are navigating to once the app is open.
If your app uses core location, you can even see where the users are on a map. Very cool!
Good luck my friend!