Direct someone to the OTA updates - iphone

Basically I am trying to put a button in my app which will warn the user if they are running an iOS version with known issues. When pressed it directs them to the OTA updates part of settings. Is this possible?
I have the code do detect if the user is using an old iOS version, however, I'm not quite sure how to switch to the settings. Does anybody have any code I can use? Much appreciated.

I think you can create a special prefs link. Check out this tutorial: No jailbreak necessary: How to quickly access iOS settings on your iPad, iPhone or iPod
prefs:root=General&path=SOFTWARE_UPDATE_LINK

Related

Restrict my iOS device to a particular app

I'm searching a way to restrict my iOS device to a particular app.
I have found a good way to disable my iPad Home button functionality through Kiosk Mode for iOS
So is it possible to restrict my iOS device to a particular app without jail-breaking?
Will App-Store reject my application if I done this?
Phew... Finally I found.Guided Access is a new feature in iOS 6 that will do the functionality .It's a built-in feature.
Guided Access is activated for a particular app, iOS device will automatically launch that app every time.
You can power off the device by holding down the "Power + Home" button.
If you’d like to learn how to use Guided Access in iOS 6, You can see more details here
That is a huge security violation as far as the App Store would be concerned. For an enterprise applications its possible you could find a way. But for a public App Store download this is not only next to impossible its also a guaranteed rejection.
So is it possible automatically launch my app every time after iPad booted without jail-breaking?
No. Jailbreaking only will allow you to mess with the default behavior of the system such as Launch Items
Will Apple-Store reject my application if I implement the behavior?
If you somehow find a way to circumvent the issue, (i.e. exploit a security breach) then your app will be rejected.
App review guidelines, section 2.4, 2.5

Viewing application in simulator

I need to show my app to customer but without sending sources codes to him.
He does not own any iDevice at the moment, but only a Xcode installed on his host with iPhone simulator.
So my question is there a "normal/official" way I can pass him the application binary so he can test it on his simulator ? Probably using xcode archiving ?
PLEASE NOTE : I know what is ad-hoc distribution, please do not suggest this, he does not own a device.
NO. You cannot give him the ipa to launch it in simulator. Only the source code. (If he is smart enough to launch it, I think you guess how confused will the client be when you try to explain him stuff around the provisioning profiles and certificates and keys to pair them) ....
I see your problem - however, if this is just about a small tour through the app and not a long time testing, might I suggest another way around this:
Why not using a screensharing app like TeamViewer, which has a version that works without installation and is quite hassle free. And then let him play with the App running on your computer?
Sorry for not having an answer on the question, but that would be an alternative route to take.
Very simple solution:
Set up a contract with penalty fee if he copy's the code or distributes the code that'll settle you for life.
If he doens't own a device, you could also loan him one with the app installed. Just do an iphone without a sim card or an ipod
Creating an ipa file and run on the simulator is not possible. We can run the simulator using Xcode only. (means by sharing the code). If you are not interested, ask him to buy device.

How to determine, whether an iphone app (previous/next version) is existed in our device or not?

I Have an app with 2 versions.... iPaint1 (FreeVersion) & iPaint2(Paid Version)
iPaint 2 has extra features along with the features of iPaint1..
if user have iPaint1 & also if he installed Paint2.
Now we need to display An alert when user launch/uses paint2. Alert will be pop up as
"You already have all features of paint1 in this 2nd version, Delete Paint1 to free space"
only if iPain1 is existed in our device, otherwise no need of alert How is it possible.
(I guess we may achieve this this using AppStore ID & Bundle Identifier but not sure and don't know the process)
Thanks in advance
But It is works on simulator but not in iPod
Answer :
Finally i Got solution in #MDT 's answer. thank u #MDT and others as well.
Thank you for your quick response.. This link is useful for this question.
Is it possible to get information about all apps installed on iPhone?
and in
http://www.iphonedevsdk.com/forum/iphone-sdk-development/22289-possible-retrieve-these-information.html#post101753
But It is works on simulator but not in iPod any advice pls.
Without jailbreaking, there is no way for an app to directly get a
list of all installed apps on an iOS device.
http://www.quora.com/An-iOS-App-how-to-find-all-other-application-on-the-iPhone
Your best alternative may to be use of custom URL schemes. With these you can implement a link in your free app that opens the paid one if it is installed.
You should use custom URL scheme. Provide some custom URL to free App. Now on the starting of paid App, check if it can responds to the custom URL of your free App. If it can, there exists a free version on the device and display the message to remove it.

How to automatically update an iPhone app from within the app itself?

This link shows a video where an app upgrade is "forced" from within the app itself:
http://buzzworks.de/blog/update-ios-beta-apps-from-within-the-app
The App Store is not called in and it's said to work only for AdHoc
apps.
Anyone knows how is this possible?
edit: please give a look to the video before answering. AdHoc apps are signed by the developer and they do not come from the App Store. This sort of forced update is useful when doing beta testing and in enterprise applications.
I've found that it's all explained here:
http://developer.apple.com/iphone/library/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
The developer should create an .ipa with the app and a manifest in plist format with the URL to the .ipa and a few other things.
The app can optionally implement its own way to find if an update is available and open
the URL to the manifest.
I didn't it's really possible because the app has to somehow sign itself. The best I can think of right now is that the app is not signed?
You can always force people to go to the app store when a new version is out. Simply make the app connect to a webservice first. Other solutions are not accepted by Apple, or will quite simply not work because of other issues (signing is one of many).
You could also design your app in such a way that forced updates are never a requirement. You can load your user interfaces from the web (Apple has presented some valuable information about that during the previous WWDC), your data can come from the web, and if there is any other correction to do just ensure your app is backwards compatible.
That's how the app store works. And it never requires a 'forced update' ... Well, almost never ;-)

iPhone, app release, change device requirements

I have released an app in the appstore months ago.
It was first made only for iPhone (because I wanted to do so), now I would like to release it also for the iPod Touch.
What I have to do to make the iphone app available to ipod touch too?
When I update the app (new version tested on the ipod) I cannot change the value of the dropdown labeled "Device Requirements"
I don't want to make another app with the same content and same code just to change that value!
Many thanks
I would contact Apple Developer Support and tell them you would like the change. In many cases, they can override things like this.
This is weird. Anyway, besides contacting the support, bear in mind that you also need to modify your -info.plist file adding the "Required device capabilities" (UIRequiredDeviceCapabilities) key.
Basically, you define here what kind of hardware your application uses, such as wifi, core location, compass, accelerometer etc. This is then used to automatically distinguish a device capable of running your app from another which is not.
This is not yet mandatory, but Apple will warn you if you submit an application targeting the iPhone and iPod Touch 2nd generation without a properly configured plist file.
I've come to a solution releasing an update of the app.