How can I get my app version from app store programmatically - iphone

How can I get my app version number from app store programmatically?
And is it against the HIG that if I show an alert to user that I've released an update? will apple accept if I show an alert for each and every update of my app in appstore.

It's definitely not discouraged, just slightly annoying, especially when creating immersive experiences like games. But anyways, here is a controls specifically made for your specific needs: http://www.cocoacontrols.com/platforms/ios/controls/iversion

Related

iOS: iPAD to Univeral App upgrade quandary

I have two versions of my iOS App - FooBarApp for iPAD and FooBarApp for iPhone each with its own Bundle ID (com.foobar.fooBariPad for the iPAD app and com.foobar.fooBar for the Phone App) Both have the same functionality - searching and buying the same products.
I have created a new version of the iPhone FooBarApp which is now a Universal App and can run on both iPhone and iPAD. However I already have a large user base of users who alreadey have the iPAD apps.
I'd like to retire com.foobar.fooBariPad iPAD App, and ask the users to now download the new Universal App version com.foobar.fooBar. To do this I created a new version of com.foobar.fooBariPad, which is a forced update, and which on startup, prompts users to update to the new version of the app. When they accept the hand-coded update button, it redirects them to the appstore to update the App.
Kludgy I know, but I did this because there is no direct way to update the old iPAD app to the new Universal app (as they have different bundle ids)
Unfortunately Apple Rejected this with the message:
"Design Preamble Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates
must utilize the iOS built-in update mechanism. ... Next Steps Please remove the update
feature from your app. "
In other words they want this to be a forced upgrade.
We are thinking of just removing the previous iPAD App from the Appstore, but it may cause confusion. Would appreciate any smart solution to this problem, which will prompt users to switch from the old iPAD app to the new Universal App with the least friction. Perhaps push notification is the answer? (but if so then how)?
FOLLOWING onnoweb 's answer below, I got this from a friend who saw the way Dunkin Donut's had implemented this. Just in the messaging (not a tech fix)
Maybe it's a matter of terminology in the foobariPad app?
I've done something similar (EOL-ing one app and asking users to switch to the new one) without any complaint from Apple. We did it by showing an alert to the user saying something like "We are ending support for this app. Please use this new app with the same and better functionality." and then a button that took them to the AppStore if they didn't have the new app installed, or if they did then we did an openURL() to the new app after tapping the button.
Maybe it's not clear to Apple that you're redirecting users to a new and different app rather than a newer version of the app the user is in?

Is it possible to modify an iPhone app to make it run full-screen on the iPad?

I have a paid iPhone app, and I'd like to create an updated version that will run as an iPhone app until the user completes an in-app purchase that will have the app use the full screen.
Is there any way to change an app from a small-sized iPhone app to a full-screen iPad app after the app has already been distributed?
Short Answer: No, it's not possible.
Longer Answer:
This would involve dynamically setting the build settings (specifically Targeted Device Family) at runtime. These settings however, are read and compile/build time. The solution is not impossible, would involve rebuilding the app with different settings. This is unlikely to be permitted by Apple anyway
what you can do is check in your app for any payment made and then if the app has been paid load different data.
The easiest way would be to load different xib files for your layout if the user has paid. The user would however need to quit and relaunch the app to have the payment taken into accound. And you would need in your code to programatically decide to load one xib or the other. But it's doable.

Is it valid to submit an iPhone app as Universal without any code changes?

I have a simple iPhone app, mostly table views, map views and other standard stuff. When I change the project settings to make it universal, everything works fine after a few small tweaks. So the iPad version looks just as a big iPhone app.
Definitely, the app will look better if I use some split views, pop-ups and generally rework the UI to look better on the iPad. But I wonder - will Apple review team accept a universal app that is basically just an enlarged version of the iPhone app?
As long as you explain what's changed when you do an update submission (e.g. "now with an iPad-friendly User Interface!"), Apple should accept your update no problem.
What are you afraid of? That Apple would give you a reason for rejection? Just do it, and if you get feedback make the necessary changes. Even if Apple is control freak #1 and a humbling power monster megacorp, I'd be much more worried about it being published and USERS not approving it. :)
iPad users can download and run your iPhone app just the way it is and get the same results either way. From any non-marketing point of view, what would be the advantage to calling it 'Universal' with no changes?
Btw, I've submitted the app without any changes, and it was accepted without any problems.

Iphone Lock Screen

friends, I am new to Iphone development, I am creating a simple analog clock, infact I have already created one ( i am basically an Android Developer - created same as widget for android too), Iphone does not seem to support widgets, but I was wondering if it is possible to create a lock screen app or something (i.e. when screen locks iphone shows a clock) is it possible that my clock replace the iphone one, any ideas , thanks in advance
It is impossible to replace the lock screen of iOS devices with a custom one. iOS apps are not allowed to "lock" the system by any means. Can't avoid the user pressing the home button.
No it is not possible. There is no public API for the lock screen.
Although you may be able to find a way to accomplish your goal in development, it will almost assuredly be rejected by Apple. Here is an excerpt from the App Store Review Guidelines
10.4 Apps that create alternate desktop/home screen environments or simulate multi-app widget experiences will be rejected
It is 100% possible but not approved by Apple. You can develop an app but will never be part of the app store... You can however use it for personal use or share it through a Cydia repo (jailbroken devices). But it is possible.
Not sure with all of you, although i agree a long time ago.. I Just browsing the app store and found an application that can change the way user unlock the iphone after it lock.. Here's the app "Slide your phone"

Programmatically changing the iOS lock-screen

I'm building an app which would have to have the ability to show my own views on the iPhone lock screen. I've seen lots of apps which let you customize the lockscreen and so forth and these were App Store apps so i'm guessing it has to possible.
I just can't figure out what to use in the iOS SDK to even try implementing this.
Oh and P.S: same goes for wallpapers—can we change this from inside our app?
It can be changed programmatically (change to SpringBoard), but it won't make the way to the (official) AppStore. So if you want to build an app that can change something like the lock screen wallpaper or the ring tone which you usually need the Settings app for, you have to publish your application via Cydia, not Apple's store.
For a sample code block, see this answer.