Detecting iPhone app version update? - iphone

I'd like to determine when new versions of my app are available on the Appstore and display some form of notification to the user when this happens - perhaps a UIAlertView or similar - and wondered whether anybody knew of any pre-designed frameworks for doing this? I found the StoreKit provided by iPhone SDK but it seems to only return application names, not version numbers, so is of no use to me.
Any help greatly appreciated.
Thanks!

I don't think that there is a prefabricated framework for that kind of issue.
At least I couldn't find one when i was dealing with that topic.
What I did was fairly easy (provided that you have access to any kind of webserver where you're able to upload files)
I simply created a text file with two things in it.
1) the version number of the most up to date version available
2) a text that is being displayed to the user (in case his version is out of date)
on startup (actually I do it on every 3th startup and not more than once per day) i download the txt file, read the first line, extract the version, compare it to the current version of the app that is running on the users divice. if the version is out of date i then read the second line out of the text file and display it in an UIAlertView.
I hope I could help
*sam

You could create your own out-of-band data based on RSS, like the Sparkle framework based on Mac. You'd need to maintain that feed yourself of course - any time an update is accepted, you would publish a new article to the feed.

Little late to help original question, but figured might still be useful.
iVersion is an SDK which queries App Store API directly from app.
HockeyKit, Krooshal, CleverStork offer SDK and web service which monitor App Store.

Related

How to localize App Store meta data for Phonegap app on iPhone

i'm currently wondering how to add more localizations to my PhoneGap App on the App Store. So it is already deployed, and in App Store it shows under Languages, right under the Icon "English, Spanish" but I never changed any configs or so to acheive this. I found in my xCode-project /App_NAME/Resources a en.lproj and es.lproj folder with Localisation.strings.
The standard way I found so far would be to do this.
But for some Reason those folder I create never appear in xCode. What am I doing wrong, and why can't I add more of these ominous XX.lproj-folders?
I'm totally stuck.
I can do javascript localisations for the app itsself but without this app-store languages I can't get my meta-data translated...
Any experience highly appreciated!
the best way is to do it from javascript since you're using PhoneGap.
retrieve the device/userAgent language (or locale, or simply ask the user for a preferred language) and then edit the content accordingly.
If you want to localize app store meta data, your app, or your marketing content there are tools out there now to speed the process such as TraductoPro, which also has built-in human translation ordering services. It even automates or 'macronizes' your code, making the xcode strings localizable. It's a Mac app, simple to use.

Automatic Update of IPhone App

I am new to iPhone automatic updatability feature where user can change their contents whenever they want and iPhone app should pick them so that one need not to resubmit the application into Apple store. I know that I will need to deal with the database here a lot but if someone could through their idea on the solution design, implementation, and things to be taken care then that would be really helpful to me.
Thanks.
"content" here really means data. Apps can load data over the net to their hearts' content, but they can't load new code. Now, certain data might cause the existing code in the app to do one thing or another, so the app's behavior can be influenced by the data it uses. Don't play too close to the line, though -- if your data is really some form of scripting language that directly drives the behavior of the app, that will likely be deemed unacceptable.
As far as loading the content goes, there are a number of options available. The most common is probably using NSURLConnection asynchronously to load data from a web server. What the app does with the data after that is up to the app designer, and I don't think there's one objectively correct answer to that sort of question.
Apple not only allows this, but presented a session on this data driven app design technique at WWDC 2010, which is available as a video from iTunes to enrolled iOS developers.
Of course, the downloaded "content" can't include executable code, but it can include JavaScript and HTML5 to be run inside UIWebViews, as well as images, sounds, text, databases, etc., which can all be stored for offline use.
This violates apples SDK Agreement and will likely get your app removed from the app store if caught.
It should be mentioned that web apps offer the ultimate in automatic content updates. You can change the content, structure, and features of a web app without ever having to submit your app to Apple or anyone else. Deploying the app is as simple as copying a set of files to your server, and users get the updated version immediately, even if they're currently using the app. Web apps aren't a perfect solution in every case, but their capabilites are compelling if your app is dynamic.

Info about opened URLs and called numbers on iOS thru private APIs?

Using any of the iPhone's private APIs, is it possible to access the call log on the iPhone without jailbreaking it? Is the same somehow possible for opened URLs in Safari and launched apps (which app was launched when and active for what amount of time)?
I know I can't submit it to the AppStore and I don't want to either.
Based on Erica Sadun's DumpFrameworks Perl script I have already created a ruby gem that dumps the header files of iOS's private framework classes. Maybe that's helpful in finding the answer: http://rubygems.org/gems/private-dumper
I'm primarily interested in how to do this (or even just part of this) without jailbreaking but I'm also interested in a jailbreak-based solution.
Thanks!
Johannes
I haven't played with this recently so I'm not sure that these "hacks" will still work but Nicolas Seriot had come out last year with a series of examples that show how much access a developer can have in an iPhone app. He released a project called "SpyPhone" that shows these examples, one of which, I believe, does what you're asking for.
Here are slides from a talk he did on it: http://www.scribd.com/doc/23739469/iPhone-Privacy-from-Nicolas-Seriot
Hope this helps!

Some questions about the App Store review guidelines?

I've made some iphone webapps before, using jQTouch and iUI but now i want to try out making a native Apps for iPhone. As i first step i thought of trying to port one of my webapps using Phonegap. So far it works well, but i'm a little concerned about some things in the Apple Review Guidelines and wanted to see if anyone have prior experience and could answer som questions.
2.5 Apps that use non-public APIs will be rejected
2.6 Apps that read or write data outside its designated container area will be rejected
I'm not really sure what this means. I don't think they concern me but if anyone could give me som more info about it it would be nice.
2.7 Apps that download code in any way or form will be rejected
This one is more tricky. Do they consider HTML code? What my app does is to load content into DIV-tags using jQuery.load()-function, that means much of the work in the app is performed on my server. Will it be "safer" if i generate JSON or XML of the data and process it with JavaScript inside the app instead of loading the formated HTML-code?
2.12 Apps that are not very useful or do not provide any lasting entertainment value may be rejected
This one together with the quote:
If your App looks like it was cobbled together in a few days, or you're trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don't want their quality Apps to be surrounded by amateur hour.
Made me wonder what they consider a useful app and what lasting entertainment means. This is my first app and i dont aim for a broad audience, this is mostly a way to get to know the XCode, iPhone-development and the App Store review process before. However, the App will be really useful for me and a bunch of my friends.
2.6 Don't specifically try to access files outside your app's Bundle or Documents directory and you should be fine.
2.7 Somewhere, it explicitly says you can download and use HTML/CSS/Javascript as long as you are running it inside an iOS UIWebView container. But don't try to download, say, Lua source code at runtime and interpret it.
2.12 Don't waste the App store reviewer's time if you are just trying to "get to know" the app development or store distribution process. Read about it instead. Submit something only if you think there are people (not just your Mom) who will really want to download your app and not delete it after trying it out. Maybe at least a dozen to hundred someones. If not, distribute some Ad Hoc deployments to your buddys instead.

iPhone app that access the Core Location framework over web

I was wondering if I could access the iPhones Core Location framework over a website?
My goal is to build a webapp/website that the iPhone would browse to, then upload its current GPS location. This would be a simple site primary for friends/family so we could locate each other. I can have them manually enter lng/lat but its not the easiest thing to find. If the iPhone could display or upload this automatically it would be great.
I don't own a Mac yet (waiting for the new Mac Book Pro) but would like something a little more automatic right now. Once I have the mac I could download the SDK and build a better version later. For now a webapp version would be great if possible. Thanks.
Why not simply use W3C GeoLocation API available in mobile Safari? This will work on ipod touch as well (suburb precision).
It's literally 10 lines of code and the javascript will work without change on Firefox 3.5. Far easier than scrape some third party website.
http://www.instamapper.com/iphone
iPhone App store
While this may not directly answer your question, there are quite a few iPhone apps that already do this kind of thing with GPS. Instamapper is the first one I pulled up from the app store, but I'm sure you could find something to fit your needs.
I'm pretty sure you can't do what you want directly.
The best idea I can come up with is to "reuse" an iPhone app that records location and makes it accessible on the web. Take Twitter for example. If I'm not mistaken, Tapulous' app Twinkle will grab your location and post it to your Twitter.com user profile. Here's an example of what that looks like:
From your webapp, you could then scrape the user page for each person whose location you're interested in. It's a pain in the butt, but like I said, this is the best I could come up with.
Again, if you don't want to mess with Twitter, there may be other apps out there that do this as well, but I don't personally know of any. Good luck.
We built a really thin iphone client app that simply calls a predefined .js file on our site. Works like a charm.
See arisgames.org for the project.