iPhone - packaging multiple app in a single app - iphone

I would like to package multiple app in a single app. So donwloading one app and install that in an iPhone will install 3/4 apps. Something like java midlet suits having multiple Midlets in a single jar file.
Is it possible by using multiple target or bundle, aggregate target etc.?

No. Don't do this for a few reasons:
I think it's a bad idea. [More on this below.]
It cannot be done. Multiple apps cannot be installed as a result of one application being downloaded.
Some apps act like bundles of apps, but what they really are is a bunch of mini-apps built into a larger one. I highly discourage this sort of bundling. There are a lot of apps out there that say, “51 Tools All-In-One, Only $1.99!”, but these are incredibly trashy and are bought by unsuspecting noobs with no taste. Don't contribute to that.

If you want multiple apps that can share data, keychain info etc there are ways to do that but leave them as separate app. It makes for a much cleaner user experience.

That doesn't make any sense on the iPhone.
You should look at In App Purchases instead.

Related

How do I combine the best of two Apps into one?

I have two similar iPhone and Android Apps (2 each) in the near future we will be combining/merging the best of these two Apps into one App. The App does have a user login that would need to be combined, but a common data file, so authentication should not be an issue. How do I deploy the combined App via the App Store and Google Market for users of the existing Apps? How can I phase the old out and let users know about the new merged App? I thought we could build the MOTHER App and deploy it as a version release in the App Store and Market, but can I deploy the same App version for two separate Apps? For the sake of an example, think of it as Bank of America merging their Apps with CitiBank under a single brand (CitiMobile is now BofA Mobile)
Thanks in advance your your valuable insight.
Merging two apps into one is actually quite simple in android do to the loosely coupled nature of the system. However, you may also consider remaining two apps that can talk to one another with a central content provider and broadcast intents, effectively using your own API.
If one app is the way to go, I would recommend making the super app and deploying it on the market, and deploy a "version" of the two original apps that informs the user what is going on and then points them to the Android Market for the super app.
The other way to do it is to deploy two copies of the super app one replacing each sub app, but that is way more hassle in the long run.
As far as iPhone goes, I can not speak to that.

Is it possible to embed one iPhone app into another?

Is it possible to incorporate one iPhone app into another in order to redistribute it?
We're going to publish few apps owned by other developers and need to create some pre-rolls with our branding and some other similar features. The original developer could build the app for us, but won't provide us with a source code.
Sorry if the question sounds stupid, we haven't very big experience in the field, just need to clarify some things
Thank you!
No you can't. You are only allowed to execute your own app, you can't embed an other app in your bundle.
It is not possible to embed an app into another app, or better, you could do that, but Apple would reject it and anyway you would not be able to launch it on a non jailbroken device.
More to the point of your specific case, if you have only the binaries you could try and modify the resource files (i.e., .nib and .strings files) to modify the UI to some extent. Of course, you would then need to regenerate the signature for the app (and hope that everything works ok).
It's just a thought, but maybe you could include the other developers apps as static libraries. The advantages would be that the other devs wouldn't have to surrender their sources, you wouldn't face any code signing and bundle id related issues and including static libraries is perfectly safe.
The only disadvantage would be that the devs would still need to deliver the content seperately and they need to learn how to build a static library. An entry point for each app / each library to call it would also be needed, maybe even a small interface to allow the container app to learn about the individual apps status, to cancel them etc.
As I said, this is just an idea, there may be issues with that approach that I do fail to see right now. But maybe others can comment on this...
You might want to check out this link to learn a bit about building static objective c libraries.
Check apples Custom URL scheme, it might find useful for you. Just help=> http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

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.

Private iPhone apps?

I am interested in writing apps that connect to the intranet or an extranet. In other words, I would like to make private apps for my clients, but I don't want everybody able to access it and be able to download it. Do you know if there is a way to distribute enterprise apps only to a certain people? Does Android do the same thing?
The iPhone Enterprise Developer Program is targeting exactly this scenario. It allows building and distributing apps outside of the AppStore. It does cost $299 instead of $99, however; and it's available for companies with 500+ employees and Dun&Bradstreet number only. If you are small shop working for big clients, you might want to talk with them enorolling in that program so you can develop the app for them.
Update: As #lifeIsGood commented, it looks like Apple has lifted the 500+ employees requirement. At least it's not mentioned anywhere on the Enterprise Developer Program or the Choose an iOS Developer Program comparison page.
They have also added a Custom B2B Apps distribution mechanism, which seems to target the exact scenario the OP asked about.
The answer is.... sort of. You can create ad hoc distribution, but you are limited to 100 total devices in your list. So, 100 customers. Or, you can sign up for an enterprise license, but to do so your company must have 500 employees (there may be other restrictions there too).
[edit]
One suggestion might be to create your application as SaaS - and charge for the connection/data store
[/edit]
I've been looking into this too. I don't think there's a good way to do this with objective-c, but I do believe this can be done well with HTML5.
I'm reading this book http://building-iphone-apps.labs.oreilly.com/
The iPhone supports the web databases, offline apps, and with the webkit part you get icons so your app can look like a real iphone app and be distributed from a web site.
I don't know much about Android...
For Android, all you do is download the apk file to the phone. Then you go into Settings > Development and allow Non-market installs.

Is it possible to mass update multiple iPhone applications?

I'm not all that familiar with Apple's iPhone development system, but I'm trying to figure out if theres a way for developers who create custom iPhone apps to update their apps on a mass scale. For example, would a company who publishes hundreds of apps have to resubmit every app they've made manually if they find a minor bug that affects all their apps (assuming they have used a template)? Or is it possible to somehow use or build a custom program that can make this process easier, by automatically generating or updating apps? I don't believe Apple has an API or anything, but it just seems like it would be a nightmare for these developers to fix bugs, and thought maybe I was missing something.
Thanks in advance for your help!
Apple provides no way to automate this. In theory you could write a program to simulate a browser to login and upload new binaries for you, but I'm not sure Apple would like that very much, and it would be a lot of work.
In addition, one might argue that if the apps are similar enough to warrant this automation, it should probably be one app instead of many. But that may be an over generalization without knowing your use case.
There's the Application Loader
http://itunesconnect.apple.com/apploader/ApplicationLoader_1.2.dmg
(requires login)
It doesn't do bulk uploads, but it does provide a maybe more accessible interface.
Isn't there that separate application that you can use to talk to iTunesConnect? (Though I still don't think it's possible to do mass updates.)