Possible to generate an iPhone application automatically from another iPhone application? - iphone

As title; is there any function that can achieve this?

Officially, no. Official apps must be compiled and signed on an OS X machine.
In practice, sort of - if you don't mind jailbreaking. For jailbroken phones, gcc and signing tools are available that run on the iPhone. So on jailbroken phones you could have an application that generated new applications. Apple wouldn't let you sell such an app in the App Store, though.

Theoretically maybe, practically no. If you want to sell it in the App store double no.

I would take a look at this link which quotes the SDK in saying:
3.3.2. [..] No interpreted code may be downloaded and used in an Application
except for code that is interpreted
and run by Apple’s Published APIs and
built-in interpreter(s).
and
3.3.3 Without Apple’s prior written approval, an Application may not
provide, unlock or enable additional
features or functionality through
distribution mechanisms other than the
App Store.
between those two restrictions I think it would be practically impossible to dynamically create any kind of application on the fly (with the possible exception of the pure JavaScript/HTML app concept mentioned in the article).

If your iPhone is jailbroken, install "CallMe" from Cydia.
That does exactly what you want: It generates small applications with the icon of a contact, and if you launch one of those small apps, that'll launch the phone app and call the phone number of the contact.

Related

Auto-updated iOS application for enterprise distribution

Is it possible to make an iOS application for enterprise distribution that updates itself transparently? Saying 'updates' I mean completely updating its logic.
A possible usage of this approach is a self-service kiosk (iPad) that is maintained remotelly.
It's not possible to update application binaries directly, but I see some possibilities:
Application that have a single UIWebView and the logic is implemented in HTML5. But we can't use most of hardware specific features that can be used in native applications.
Some multi-platform framework (possibly HTML5-based) that allows to use native application features and that is compiled or interpreted dynamically.
Jailbreak?
What are really working approaches of these?
Consider getting a mobile device management service. Those are pricey.
OR:
First, enable over-the-air distribution. It will take $300/year enterprise agreement with Apple. Set up a website with the app's IPA archive and descriptive PLIST.
Then code a call-home HTTP request on app startup. You may pull/parse the same PLIST that describes the latest version; it has a bundle version in it. Compare that to the version of the currently running bundle.
When a new version is detected, the app shuts down, opens the browser on the download page. In a softer manner, just notifies the user that an upgrade is available.
I've never tried linking directly to the app's download package, but give it a try. In a perfect world, Safari would open up and ask "Do you want do download MyApp?" right away. In a not so perfect world, the user would have to click a link and then agree to download.
I think what you are looking for these days is the "Apple Deployment Program".
You volume purchase iPads which get sent to people, but that you can manage remotely - which also means management including remote updates of applications.
The only thing I'm not sure of is if you can launch an app remotely, so that you could update and re-launch an application.
Here's a guide to enrolling devices for remote management:
https://www.apple.com/business/docs/DEP_Guide.pdf
An old but good summary of the program:
http://www.speirs.org/blog/2014/2/27/understanding-apples-new-deployment-programs
Also watch the WWDC video on Managing Apple Devices for the Enterprise:
https://developer.apple.com/videos/wwdc/2015/?id=301

iOS Application in Cydia and AppStore

I have an app in Cydia and I want to make the same application but LITE version and put it in AppStore. My question is will Apple reject my app if the check it some how. Actuality my app work with web services so I have real worked domain. And I want to use the same domain or to make another second lite-like domain of the original one...
Thank's in advance..
No, the yxflash team does a similar thing, they have a version of their application in Cydia (because, when they released it, the code was using private APIs), and they have another version (actually 3) in the AppStore called yxplayer. So from what I see there, you should be fine, apple doesn't seem to check those things.
This is an explicit violation of the iOS developer agreement; your presence in the App Store will depend on being obscure enough that Apple doesn't notice what you're doing and nobody tells them. That's not how I would want to do business, but to each their own?
7.3 No Other Distribution Authorized Under this Agreement
Except for the distribution of freely available Licensed Applications and the distribution of Applications for use on Registered Devices as set forth in Sections 7.1 and 7.2 above, no other distribution of programs or applications developed using the Apple Software is authorized or permitted hereunder. In the absence of a separate agreement with Apple, You agree not to distribute Your Application to third parties via other distribution methods or to enable or permit others to do so.
Just submit the app, you will be fine.
Apple simply can't prove that YOU also submit the same app to Cydia.
That is, you can claim that your dog/cat/fish/wife/kid used the code to submit to Cydia during your sleep

Side loading iPhone apps to device without certificate

Is there any way to push apps to an iphone through an iPhone explorer or something else, where you can bundle up the ipa and copy it onto an unlocked device (or non unlocked even)?
How can I push an app to my device without putting it on a cydia repo? Are there instructions on how cydia does this, or would this be out of my depth (considering I dont know the intricacies of the iphone).
This is a customized app I have developed, I just need a way to push it to the device without worrying about the approval process, and I want to keep it on the device past the 3 month provisioning profile period.
After spending much time on internet for this question I present the following.
Summary
iOs doesn't allow sideloading of unsigned apps. The only way to
currently do that is jailbreak.
But there is a work around.. You could beat that using
MacBuildServer
The signing process MacBuildServer uses to cleverly skirt this
limitation is to have you use your own certificate, or to simply use
their certificate from the iOS developer enterprise program to sign
the compiled app (again, for testing purposes).
The iOS Developer Enterprise Program was designed to allow companies
to develop in-house apps for use within their organization, without
publishing them on the App Store.
An example of a business that would be part of this program would be
an event coordinating business that uses these in-house iOS apps to
check people in and perform other tasks.
MacBuildServer's demo gives you a three-click process to build any open-source iOS app you can find on GitHub, and sign it with an
enterprise certificate that allows jailbreak-free sideloading
for your own testing purposes.
Disclaimer
The ideas that are presented here are not my own i found this on internet.visit the reference for more details.
Reference
No. If you're working under the iOS Developer Program the only real way to distribute your app is via the app store. Other than that, you're stuck with ad hoc distribution and the time limit that comes with that. However, if you qualify for the iOS Enterprise Program (i.e. you're a business), you can sign up for that program and then distribute your apps in-house without going through the app store.
Without jailbreaking, your options are: app store, ad hoc (with time
limit), and join the Enterprise program
There is one other option. It's possible to create web-app and then add it as a bookmark.
But the obvious downsides are:
It's html. Even with html5 you're not going to get access to the camera etc...
2: It's open to the public (Although it's easy block access with standard security).
However question was asked long ago, but I think now it is possible with XCode 7.

Is there a way to directly download an iOS app (without using the app store)

I would like to have users be directed to a link which will immediately start downloading an app on an iOS device. I know you can register for Enterprise application or do limited ad-hoc distribution, but this is not the case here. The app I would like to link to is already on the app store. I would like to know if users can download the app directly without going through the app store.
Thanks in advance.
As mentioned above, you cannot provide a direct link to the application. There are ways of circumventing the app store, such as ad-hoc distribution and ADC's enterprise program. However, neither of these would provide the convenience you seek as potential users would have to install certificates generated by you before installing your application. Your best option would be to use the app store or possibly a web app.As David V mentioned, you can provide a direct link to your app in the app store!
Good luck,
-Alex
They will need to go through the App Store. You can provide them a link to your app in the App Store though.
In fact, even in jailbroken devices, you need to use a store. Apple seems not to have a auto-installing url scheme implemented.
Would be nice, though.
No. This is not possible on stock OS iOS devices
You can do that if your app is based on Safari (web app) instead of native (iOS).

Is it possible to install third-party apps on an iPhone? If not, how is it controlled?

Can I go around Apple and offer applications to users, or do they force you to go through them? How? Just legally?
Aside from the App Store (and jailbreaking), Apple provides two official routes to install applications on the iPhone.
Enterprise Distribution: designed for internal users of a company
Ad Hoc Distribution: allows your app to be installed on up to 100 iPhones
Source: http://developer.apple.com/iphone/program/distribute.html
For phones that are not jailbroken, distribution rules are enforced by the iPhone's code-signing system. The phone won't run any apps that aren't signed by Apple, and the only way to get an app signed is either to get it into the app store or to use ad-hoc distribution.
Ad-hoc is effective but time consuming for more than a few devices, in that you have to get the unique device ID for each device you want to distribute the app to. You then sign the app for that device and send a copy along with a provision file. Some batching is possible-- you can get up to 100 devices in the same ad-hoc build. But if/when Apple finds out you're doing it, they'll close your iPhone developer account (for violating the rules) and then you won't be able to generate any more provision files.
One developer tried using the ad-hoc approach last year when Apple rejected their app (Podcaster). They claimed to have sold something like 1100-1200 copies before Apple shut them down.
Jailbroken phones don't have this limitation, but it's up to you to determine (a) whether the market is big enough and (b) whether enough of those people will be willing to pay for your app. I don't know the answers-- it could well be "yes" to both-- but don't just assume they're true without investigating enough to make a reasonable prediction.
If you wish to distribute applications to phones with out going through the App Store, you must sign each copy of your application for a specific phone handset. If you need more wide spread distribution, all your client phones must be "jail broken". Once a phone is jail broken, it will accept any application for installation.
You can offer applications through Cydia for jailbroken iPhones / iPods. Cydia uses a system similar to Debian's apt. Basically allows users to add custom "sources" (repositories) and install applications provided by those sources.
Obviously this is not supported or approved by Apple since it circumvents the App store and their App approval process.