How to find the apps installed in iPhone - iphone

I am developing an application in which I need to find the apps which are already installed in iPhone device such as Skype, facebook. I need to check it. Please give me code snippet if possible otherwise a link to get the solution.
If this is possible, then how to disable the app also?

You can't check for any application, but you can actually check for applications which officialy shared their url scheme.
You can find the biggest database of those url schemes here. Now, how to use? All that we'll need is UIApplication. First, we need check if the iOS can open specific url:
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:#"fb://profile"]];
If this method returns yes then the user has the facebook application installed. To open the following application you need to call:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:#"fb://profile"]];
Which will open your Facebook profile on the Facebook application.
Alas, there is no possibility of disabling any other application on the iOS, since each and every third party software is being sandboxed.

Tapbots does something similar but only with their own apps. They probably keep track of device UDIDs on a server of theirs by communicating with the server using each app, so they are able to show which of their apps are installed on a given device.
As mentioned, this only works for apps you make though, as you'll be the one programming such functionality into your apps. You cannot check the existence of apps made by others.
There are also no public APIs that allow you to disable other apps. And besides, as the others say, apps are all sandboxed to themselves.
By the way... if you're trying to disable those apps because they compete with yours... forget it. The legal implications that can and will follow are not pretty.

I don't think it's possible, as a result of being sandboxed into your own application's environment.
And I'm referring to applications in general, not applications made by you (as BoltClock mentioned), since you're referring to the facebook and skype apps, which I imagine aren't yours.

I question your reasons for doing this, especially disabling other apps. Apps are sandboxed into their own environment. Anything that breaks this would not be accepted into the App Store.

Related

Is there a way to access iphone's browser history and app history

I dont know whether iam asking a right question..,kindly give your valuable advice.
I want to know:
Is it possible to access iPhone's browser history in our code?
Is there any way to access app histories (means; which apps i opened recently & what time.)
waiting for your valuable reply.. Thanks.
App History can be accessed via a few methods. There are ways using Private APIs, but if you are aiming of the App Store that is probably not a good idea.
Here is a UIDevice category to get the Processes currently running on your phone using Public APIs. You have to figure out which app matches which process name, but I have found that it is usually pretty straightforward (e.g. Facebook is Facebook).
For your Both Questions.. No as Apps are sandboxed in ios.
How to access iPhone Safari History in an App?
Getting safari history from phone
How to access Safari history from iPhone App using Private Frameworks
We can find the history.plist in /var/mobile/Media/Safari/ and this we can read in jailbreaken iPhone. And You dont have a way to access app histories either.
There is a History.plist located at /private/var/mobile/Library/Safari for the jailbroken device only.
The history is stored in a property list outside of your applications sandbox and you cannot access it.

Loading remote application would it lead to App Store rejection?

I have an application using JQtouch and would like it to be on the App Store.
Will my application get rejected from the App Store if all the functionality is done remotely (loading in UIWebView) and I provide no offline functionality?
Thanks.
From the Apple App Approval Guidelines:
12.3: Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected.
Basically if your app does not add anything to the experience of viewing the website, then you may get rejected.
I have had apps approved in the app store that were just a web view pointed on a JQTouch application. However, I loaded the .html from a local file included in the app. I believe the no "web clippings" clause of section 12.3 in the App Approval guidelines is only meant for clippings of full web sites. Embedding a mobile web application in a local app will likely get accepted.
I don't think this should be a problem. Apple reviewers are probably the most fickle people on the planet, but I can think of several apps that are UIWebView based, and which provide little or no offline functionality.

How to open other application from our application+ iphone

I have seen similar posts but couldn't find any answer..
Kindly advise whether its possible or not?
Are you talking about 3rd party applications or the inbuilt applications of the iPhone?
If you are talking about 3rd party application then forget it.. As told by #KingOfBliss apple restricts it.
And if you want to open inbuilt applications like camera, photo, contacts,safari web then you can do it.
You can get sample code for implementing all these from here...
Hope it helps...
hAPPY iCODING...
Applications can register a custom URL format, and then other applications can call that URL to trigger that application, pass it data, etc. Some of Apple's built-ins have URL formats that they've published, and some 3rd party apps have (and advertise) them too. If you're building more than one app, you can obviously customize your URL scheme to have your apps talk to each other more or less freely.
Apple restrict you to open 3rd party application, but you can open some application like safari,contacts,etc.,

Will a Safari-based app for iPhone be accepted to the iTunes store?

I'm about to begin development of an iPhone app. The app itself is fairly basic, and I want a speedy turnaround time.
I'm a web developer myself, specialising in traditional web technologies such as PHP/MySQL; I have no experience in Objective-C.
My plan was to create a very basic iPhone app that is just a Safari service that passes some basic variables to a URL. That URL is the app built in PHP and housed on my servers, this way I can create the app very quickly without needing to outsource anything.
My question is whether apps of this nature would be accepted into the iTunes store, or would they be out-right rejected? Anyone's experiences or comments are very welcome.
Thanks
It could go either way, but mind bullet 12.3 from the App Store Review Guidelines:
12.3 Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected
In my opinion, a simple UIWebView wrapper around your web site comes close to the definition of a simple web clipping. Your approval may very well hinge on your luck in drawing a sympathetic reviewer.
It really depends upon your application...These kinds of application have been approved in the past but again I am saying that it depends on many factors.
Try to test your app in every possible manner and also keep in mind the memory issues.
Best of luck!!!
Should be fine - its called a web app and there is software out there that will do just this for you.
All you need to do is to make a UIWebView and put your web app into it.
Also look at http://jqtouch.com. That gives you some idea of what you can do web-side. :)
http://www.netbiscuits.com/559
Native Hybrid Apps
Native apps can interface more deeply
with the mobile handset modules and
sensors to create an even richer
mobile user experience. Netbiscuits
provides pre-build native apps
frameworks for all major mobile
operating systems to be easily
customized for the needs of
enterprises.
Get "2in1" by combining the power of
mobile websites and native apps by
wrapping mobile websites into hybrid
apps and list them easily in all major
app stores of providers like Apple,
Nokia, Google or Samsung to open a new
mobile distribution channel. The
benefits of this approach are fast
time to market, minimized development
and maintenance efforts and maximum
mobile cross-platform technology
coverage.
Yes, it will be accepted as long as you stick with HTML, CSS, JS and Obj-C on the client side. You still need to wrap it in an iPhone app. In my experience, the best way to this is to use http://www.phonegap.com/ or a similar framework.
You'll have the option of deploying you app through iTunes or as a regular web app (you users will be able to create a link to your web app right on their springboards)
It SHOULD be accepted, granted you test test test and make it look just like a native application. Also you'll have to make sure that your server is never down, or if the application can't reach it just display an error message. You also have to keep in mind that there are a lot of iPod Touch users, and they don't have access to the internet all the time. Which means that chances are you'll get a BUNCH of 1 star reviews

Is it OK , from a product perspective, to write an iPhone app completely in WebView?

This just saves time.
Since I already have a web applciation.
I can just stick it inside a webview.
The question is: Does it turn off many users? How many users will be disgusted that the entire iPhone app is written in WebView?
I think it's pretty safe to say that most iPhone users are expecting apps to use the power of the iPhone, not just be a portal to a mobile website.
Think about facebook mobile compared to iPhone facebook app. If you're an iPhone user, I'm assuming you'd much rather use the app than a mobile version of the site (or mobile version of the site contained in a WebView in a an app).
That being said, depending on your app, if the mobile version of your app is highly usable, it could be okay...
Just my thoughts...
John Gruber on Daring Fireball just wrote about this today.
From a usability perspective, native apps usually feel better. They may also be more responsive and handle large amounts of data more gracefully. I have a few so-called "apps" on my devices which are just glorified Web apps, and they don't necessarily scream quality.
If you've already done your app, then just ship it. But keep your mind open to feedback from your users.
The answer is almost certainly "no". People care far more about the usability and experience of interacting with your application than what API-supplied widget you use to render it.
I read Apple has begun removing apps that are like this. Well technically, they remove apps they think could be easily implemented as a webapp instead. Yours obviously qualifies ;)
Source: http://techcrunch.com/2010/03/07/apple-cookie-cutter-apps/
EDIT: Apple seems to not mind, according to the Human Interface Guidelines:
If you have a webpage or web application, you might choose to use a web view to implement a simple iPhone application that provides a wrapper for it.
Of course, Apple has a tendency to contradict themselves. ;)
Apple human interface guidelines says this isn't even allowed. I forget where it comes from, but somewhere in the guideline it says apps that are only web views are not allowed. I'm about 95% sure I've seen this. Can anyone confirm?