I have an iPhone app that I created by copying an xCode project to another location and then renaming the project, executable, product etc. Lets say the original and the copy are app A and app B. If I install A to my phone with an ad hoc provisioning file, it installs and runs fine. The same is true for B. But if I first install A and then try to install B, it tells me B is already installed. Also, if I right click on B in iTunes and look at the .ipa file that is created, it is sometimes the same one that is created for A. So these two apps share something in common but I cant figure out what it is. Any ideas?
The iPhone identifies apps by the Bundle Identifier (also called the App ID) in the apps Info.plist. You can change this in Xcode in your Target Property Settings.
Related
I found a way to make a ipa file:
Add necessary profiles and adjust build settings.
Set device as target to run the application.
Build the product.
Go to Products->yourAppName.app. Right click and show in finder.
Drag & drop to itunes profile and binary file.(drag it to Apps)
Select app in iTunes and right click to show in Finder. And there you can get the .ipa file.
But, the devices which are not in the development team can not install it?
Or, did I miss some configuration steps?
Do we have a way to solve this?
No this is NOT possible. The only way to install an app on a device without using the app store is with the ad-hoc method provided by apple, some info about this is found here. For the ad-hoc method you will always need the UDID of the device you want the app to be installed on.
There are a couple of alternatives
You will need an "Enterprise Certificate" for your business. This allows you to install on any device. However Apple does not issue them lightly but if you are working for BigCorp LTD you might be able to get one.
Or use TestFlight at www.testflightapp.com to distribute your build. Im not sure if thats predicated by you having a Enterprise cert in the first place. Check them out.
You can also build the IPA the official way. Just create an ad-hoc provisioning profile, tell Xcode to use it for the Release build and choose Product → Archive. When the Organizer pops up with the app archive, choose Distribute and Save for Enterprise or Ad-Hoc Deployment. Then choose your identity and voila, you get the IPA.
But in either case the provisioning profile has to contain a list of all devices the app is supposed to run on, AFAIK there’s no official way around that.
I used to build .ipa package by the same method with you. But this kind of ipa WITHOUT provisioning profile in package, so it could be run only in iOS devices which has been jailbreak.
what are the consequences of itunes app name being different then xcode project name?
Will my app not be accepted into the store if they are dfferent?
fyi I already created an app called X on itunes connect and linked it to an xcode project named Y. so is it possible to rename my project in xcode as also X and create a new app on itunes named x and then connect them?
Many apps have up to 6 different names. (project, target, product(file name), bundle ID suffix, bundle display (under icon) name, app store name, advertising name, etc.). You can configure these names all individually (I usually do). No problem as far as Apple is concerned, unless some of them are misleading or a trademark violation or something.
It doesn't matter at all. Apple doesn't see your xcode project, just the binary you submit. As long as the binary settings, like the code signing identity are correct, you could name it anything. Also, I don't recommend renaming your project. If you do it manually, you will break the project. And if you use xcode's built in way, you get a kind of weird result (from my experience).
It doesn't matter at all. Project name and even bundle name can be anything. The only thing matter is your bundle id matches app id in the iTunes Connect.
I have created an iPad app which I want to send to another branch of my company. I have .app file which I want to send to him.
Does this colleague have to do anything special other than drop this file into iTunes and install on the device?
Does he need to have a Mac with Xcode any everything or how do I got about this? I won't have physical address to his device.
EDIT: This is just a once off thing. I only want to demo something to him.
This article looks really good as far as basic setup goes - http://www.iphonedevsdk.com/forum/iphone-sdk-development/35818-unofficial-ad-hoc-distribution-guide.html
After that, you just need to send out the .app and the .mobileprovision. Both the files need to be dragged into iTunes. Check if Sync apps is enabled and that your app is selected. Hit sync and it should work.
You don't need Xcode or a Mac to install an ad-hoc-provisioned app. All your users need is iTunes.
You need to have your users send you their UUIDs, which you then need to register in Apple's provisioning portal. Download the updated profile and be sure to link to it when building your app for distribution.
I have heard of people having trouble installing .app files. The safest option is to chose "build and archive" from the build menu. This will create an ipa file that can be installed through iTunes. If you open the Xcode organizer after building and archiving, you can select your new ipa and save it to file, or send it by e-mail straight from Xcode.
You will need to belong to iOS Developer Enterprise Program.
I'm trying to make a ad-hoc beta distribution of my app, but get this error whenever I try and import it into iTunes:
'A provisioning profile named "embedded.mobileprovision" already exists on this computer. Do you want to replace it?'
If I click Replace, the profile named embedded.mobileprovision appears in the iTunes profiles folder, but the app doesn't appear in iTunes.
The app builds with no errors, and I have already imported my ad-hoc distribution provisioning profile into iTunes.
Has anyone else had this problem, or know how to solve it? I'm using iTunes 9.2, Xcode 3.2.3 and iPhone SDK 4.0
Thanks.
I had this problem as well, and got around it by selecting "Application Requires iPhone Environment" in the info.plist. (also known as "LSRequiresIPhoneOS" for raw key value)
I have solved this problem.
Even though, as I explained in one of my comments, I was not able to select "Application Requires iPhone Environment" when editing Info.plist, if I make a new project in Xcode this option does appear.
After finding this I copied the Info.plist file from the new project into the project I'm currently working on. I then deleted the original one, and renamed the new one as appropriate.
After updating some of the other settings to match my project (e.g. the Bundle identifier), and building the project, I could then import the app into iTunes.
I would like to send someone the Xcode simulator version - not the device version - of my iPad app. I have located the .app file in the Finder. Do I just zip it up and send it off or is it more complicated than that?
Thanks,
Doug
UPDATE
Chrisbtoo got the answer on this one however he left of some critical bits for those of you trying this at home:
Path to Xcode simulator (the simulator can be run standalone.):
/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app
Path to app that appears in the home screen of the simulator:
/Users/turner/Library/Application Support/iPhone Simulator/3.2/Applications/{GUID}
It is instructive to watch what happens in the app simulator directory as you build for simulation, delete apps from the simulator desktop and generally use the simulator as an actual device.
Bottom line: This is a viable approach for sharing apps in a "simulated" ad hoc manner without the mind numbing, soul sucking process of true ad hoc app sharing.
Cheers,
Doug
Assuming the other person already has the simulator installed, you can just zip up the stuff under ~/Library/Application Support/iPhone Simulator/3.2/Applications/{GUID} (includes both the .app and any data directories needed) and send it to them - they'll need to unzip it under that same directory. What I've done in the past was to rename the {GUID} part to a more friendly name - the sim will still pick it up.
If they don't already have the simulator, they will need to sign up for a free iphone dev account and download Xcode, etc.
We just put up a little tool that will help you with this. It manages both what you need on the dev side and also the tester.
Here it is
http://blog.placeit.net/ios-app-packager/
It basically creates a little zip that you can pass to the tester and it'll install the app in the right directory and also open it up for the user with the right device selected.
I would think you want to send the entire project folder to the other person- presumably you are expecting them to open it in their XCode- and presumably they have the sdk for the app.
You have to distribute via AdHoc or App Store for beta testing.
Become a developer and then look into how to do this.
You need to have a provisioning profile, and then select the UDID's for the device you want to beta test to.
Go to the iPhone Provisioning Portal
and here is a document with more detail