I am asking this question mainly to know if what I want to do is possible. I don't think there is an app that does it and I've been meaning to learn objective C, but it may not be possible.
I want an app that serves as the ONLY way (at least, the only easy way) to launch another app. So in an ideal world, you have MyApp, which lists app A, B, and C. A B and C are not visible on the normal browser, but can be launched from within my app.
Possible? Not?
Not possible. And its most likely that such a functionality will never make it into the official SDK.
What you're trying to do isn't really possible. It isn't possible (with the official development kit) to create iOS applications that don't appear on the home screen.
It is possible to launch other applications, though -- one common approach is to set them as URL handlers for private URL schemes. This can be used to pass information between applications. (However, trying to use this as access control won't work, because Apple will likely reject an application which can only be opened "correctly" by another app.)
Depends on your definition of App.
You can just have a master app which creates the illusion of being an app launcher by "opening" subroutines. Imagine like the old facebook iphone app for example
NO
Well... This has been done for years on the Cydia store with some custom menus but we wont get into that here...
Using the official SDK I think there are protocols to allow you to open an another application but pressing the home button for example will always go back to the default screen. I think ever if you were able to get it working, there is no chance it would be accepted into the App Store on grounds of it not doing anything the phone already does.
By all means look up jailbreaking and using the custom tool chain but you won't be able to sell this through Apple unfortunatley.
Related
I would like to hand my application to another developer to assymilate in his iOS app.
The goal is to have, in his app, a shortcut that opens my app directly - not just a link to the appstore.
The problem is my app has to remain compiled, since I don't want to hand over my source-code.
Is this situation, of one compiled iOS app, encapsulated insind another iOS app, even possible?
Thanks in advance.
Your application can register a custom URL handler that will launch it whenever any application will follow that URL. It can be triggered from Safari but it can also be triggered from any other application.
Here's how you enable that feature in your app and handle incomming passed parameters etc.
All code in an app bundle has to be staticly linked, so you would have to rewrite and compile your app as a linkable shared library.
What you're looking to do really isn't possible. Each app has it's own code structure and can't be embedded into another app (MainWindow.xib for example). Each app is also signed by the developers private key, so that's an obstacle there. You can't just hand him a binary of your app.
What you could do is potentially take your .XIBs and view controllers and give them to him to implement. This is easiest if there's no model that also has to be migrated over. Then he can present your views to take advantage of the logic built into your view controllers.
It's not a trivial amount of work and of questionable value. If you're not willing to share source code then none of the above is really going to work for you.
My advice would be as people above have mentioned and use a URL scheme in his app that refers to yours. Yes, your app would need to be installed, but then there's a clear and unambiguous separation between his work and yours...
Our client wants us to make a container app, but I am not exactly sure what he means by this. I have to extend the functionality of his existing app but he does not wish to share his code with me.. so he says I should make a container app... I know it something similar to making in app purchases but can any one elaborate ?
Note: you should definitely clarify this with your client instead of this community.
I guess your client wants to have an App-in-App structure that you find in various iOS applications in the AppStore. E.g. the three20 framework offers a launcher that is similar to the Springboard of the iPhone/iPad/iPod where you can put multiple apps (which aren't necessarily independent apps).
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.
anytutorial to use good reader application in iphone sdk?
can I use Good reader application in my Iphone APplication?
To launch another application you have to find out if they have published a protocol to use and then 'open' that URL. See example, but not sure if GoodReader has published a protocol or how to find out if they have. You could always contact the developer directly.
You can't access another applications Sandbox or start another application via code, otherwise Apple will reject the app. I stand corrected to the answer about URL schemes to launch another app. You learn something new everyday.
You [can also] build the PDF functionality into your own app (i.e. use a UIWebView to do that for you).
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?