iPhone distribution Over the Air - iphone

In order to distribute my iPhone for test purposes on a couple of device Over the Air, I have created an AdHic distribution profile and followed the explanation I found in this blog (sorry it's in French but the screenshot are quite detailled):
http://www.media-business.biz/content/iphone-cr%C3%A9ez-votre-propre-appstore
I install the position profile on the device from my web site but when it comes to the application I have an error message saying it's impossible to download the app.
Is this a known problem ?
Thanks a lot for your help.
Regards,
Luc
ps: just adding a last minute question... is there a place I could see some error logs ?? :(

Here's another explanation in English. This distribution method only works with devices running iOS 4.x

Make sure that:
The IPA file name matches exactly the name of the server (case sensitive).
The bundle version number is identical in the IPA file and your plist file, and that you update it every time you make a new IPA (or the phone will think it's already installed and not update)
You are using an itms-services:// link to point to the plist file, and the plist file has the correct URL to your IPA file.
When you go into Organizer and press the "Share" button, you select exactly the distribution profile you intend to use (sometimes I think it can select the wrong one with automatic).

I had this exact same issue, and it was because I hadn't installed an AdHoc mobileprovision file and was building against my Dev mobileprovision. Check that first.

I finally found testflightapp.com, that is really great !

I also think testflightapp.com is the most convinient way to do this, as long as the beta testers you'll contact accept to sign up there. The great additional value is that if you install their SDK in your app, you'll be able to monitor the activity of your beta-testers (for instance you can define waypoints with definite names).
However, if:
You already konw the UDIDs of your beta testers
You just want them to be able to click on a link from your server to start installing the app,
You don't need "in app" follow-up and just request feedback from your testers,
Then I strongly recommend this tutorial:

Related

Submitting Codenameone Build To AppStore

I have completed alpha testing my app using the CN1 'Send IOS Debug Build' and QR-coding it onto my iphone. So i'm ready to load it onto the AppStore, but i don't have a Mac (but i do have the ITunes developer account and the apps certificates generated).
Its just confirmation on the next steps.
The good people at Coursera produced a number of excellent tutorials, of which this one describes the steps i need to perform:
https://www.coursera.org/learn/codapps/lecture/F1B6x/video-how-to-distribute-your-app-on-apples-app-store-you-need-a-mac. I have failed in finding a CN1 badged tutorial on this (closest is the certificates generation).
But time and technology move on, so i wanted to check this was still accurate - do i still need to:
Install Application Loader from Itunes Connect onto a Mac? Is there a non-Mac approach? If not then i will use the http://www.macinthecloud service.
Take the. ipa and artwork file from the CN1 build server and apply that to the mac, and then follow the rest of the steps in that tutorial?
Please don't shoot me down for such a basic question. Once i get through this first app i'll be cooking. Thanks in advance.
Yes, a Mac is needed, but MacInCloud works fine. As you said, you use application loader to upload your .ipa file. That's all you need the Mac for, so uploading artwork and everything can be done through iTunes Connect from your PC. The icon that will show up on the phone screen is bundled into the app, and I think the artwork with the build may not be the right size, so you might have to generate an icon for the store listing and of course the screenshots.

Why do I get "could not be added to your itunes library because it is not a valid app" error when trying to install Ad-Hoc build?

I've recently upgraded my Mac to Lion, and also Xcode 4.
In Build Settings, I've set "Code Signing" for "Release" to be "iPhone Distribution" which matches our Ad-Hoc provisioning file (which we've used in the past, on Snow Leopard/Xcode 3).
I have deleted the old Entitlements file (as it's apparently no longer used by Xcode 4).
In the Scheme section, I've set Archive to use the Release build.
I'm building with Product > Archive.
I'm saving the file by going into the Organiser and clicking Share, then making sure the same Ad-Hoc provisioning is selected.
I'm sending the resulting IPA file to my boss, who has previously installed this app. When he tries to install it, he gets the message "[appname] could not be added to your itunes library because it is not a valid app".
I've been trying every combination of settings I can think, but we just cannot get this to work. I can find this error only twice in Google - once from someone with a jailbroken phone and another posted in comments of an article, someone having the same issue, but there are no responses.
Any help would be really appreciated.
Edit: Same thing happens trying to drag the IPA into iTunes on the Mac that created it! :(
Edit2: Just taken another (almost identical) project and tried a build without "Modernizing" the project, or selected any of the new options in Xcode (icons, launch images, orientation etc.), and this build works. I'm going to work through each of the things I did with the original app with this one, testing at each step. Hopefully should be able to isolate which step is breaking the compiled app!
(also posted to Apple Dev Forums)
I believe I've tracked this down... It seemed to be happening really intermittently, so it's taken some time (I'd reproduce it, roll back the change, confirm it worked, then re-apply the change, for it to then work again!).
However, after much cleaning/restart/etc., I believe it's related to the "Build" version in the target settings (there are now two version fields, "Version" and "Build"). It seems that if "Build" is blank, then this error occurs.
Unfortunately, changing this value doesn't seem to rebuild properly, so sometimes if you change it, then Archive, you still get the previous value. Manually cleaning before Archiving seems to work around this.
The value gets written into the plist file as CFBundleVersion.
Recently I suffered a problem with an Ad-Hoc installation using TestFlight service, the message in the log didn't help too much:
Jul 25 12:52:39 MyiPad installd[477] <Error>: 0x10059c000 init_pack_state: Archive we've been requested to install is 0 bytes. That can't be a valid ipa.
After many tests, I found this question and the problem was the same, the Build field was empty (this answer save my day :-) )
So, if anyone else has this problem on TestFlight, I hope my answer allows to find this page easier ;-)
I also faced the same issue. After doing some research found below answers as:
App Version and Build version should not blank.
Don't put special characters in my app bundle name.
And also there was no issues with my provisioning profiles.
After debugging found that there was name mismatch in my scheme name and info.plist file name. In my project, I have 3 schemes like a,b,c and only one a-info.plist file. I was creating IPA for different scheme like 'b'.
In your scenario, if you have created multiple schemes then check your Info.plist name. That should have to be same as your scheme name (for which you are creating an IPA).
Example. The scheme name is 'myScheme' then your Info.plist file name as 'myScheme-Info.plist'.
Hope this will help you.
I got the same message ("not a valid app"). In my case, I was FTPing the built app to a web server then I would be able to OTA provision it. I was not swapping to binary mode before I was putting the file, so the .ipa file got corrupted on the way. Took me most of the evening to figure that stupid mistake out...
ok.. do one thing.. Open info.plist.. Go to bundle identifier and change bundle identifier name. It needs to be unique.. something like "com.yourcompany.projectname" and create and try to install the ipa.. It should work
I came across this question while researching a similar problem so I'll answer here even though the cases are not identical, because others will search for the same error message.
I had an ad-hoc app that everyone in the development team could install fine, except one person, who got the error from iTunes:
X is not a valid app
He had been able to install earlier versions of this app. Rebuilding the app, changing the version number and changing the build number had no effect, he still could not install but others could.
I fixed it by creating a brand new Xcode project, either copying the files or copying and pasting the content of the files from the old project to the new one, and rebuilding the app and signing it in exactly the same way as the old project. It worked.
I had a similar issue while trying to create an .ipa for adHoc distribution for one of the Old project (built a year ago by ex-developer). After a lot of research in google and following the above solutions it didn't worked out for me somereason.
Later after following this link - here. By replacing the .plist file with the existing working projects (obviously - the relevant icons/bundle display name/identifier) and renaming with the current .plist name. It worked for me.
I literally spent about 3-4 hours to fix this issue. Hope it helps some one.
environment was native - iOS app.
add......
"Application requires iPhone environment" in your info.plist or if added give it value "YES".
Check "Build" and "Version" in general are not empty....
hope this will work
Importing the project contents in to a new Project solved the issue for me.
For me, we were trying to do an enterprise build of a very old app, from iOS 5.
After confirming profiles and everything else was fine, debug builds work correctly, I noticed the general consensus was around issues with the info.plist file.
I compared the info.plist with another app and sure enough,
Application requires iPhone environment = NO
Basically this key needs to always be set to YES for iOS apps regardless whether its for iPhone, iTouch or iPad...
It may not be limited to that key for everyone but make sure the info.plist looks similar to working apps.
Bundle version
Bundle versions string, short
should always be present!
right.. but I guess it is clashing with earlier bundle identifier( this happens because you have upgraded the Xcode). Did you try and change the existing bundle identifier name and install ? I had identical problem and wasted 3-4 days.. I changed existing bundle identifier name and it worked.. Also you may want to check Bundle name and Bundle version are present in info.plist

Windows 7 iTunes does not accept the adhoc ipa file

I am in beta testing stage for an application.
Some of my beta testers use Windows 7 and run iTunes within.
Some of them are just fine but a few observe some rather strange behavior.
That is: Neither the *.ipa nor the *.mobileprivision file can be dragged and dropped into the Apps section of the Mediathek within iTunes. (Doing so the icon indicates that the object cannot be dropped within iTunes)
We tried File/Add to Mediathek ... and that does not work either. No error message but the app does not show up and when adding the mobileprovision file for a second and third time no message comes up that asks whether to overwite the existing mobileprovision file.
I tried google and the search within stackoverflow but did not find anything that matches my problem.
Any suggestion is highly appreciated!
Probably not a direct answer to your question - but a workaround:
Have you tried http://testflightapp.com? Lets you send beta builds to your testers over the air without them having to go through iTunes. And it's free.
No affiliation - just a satisfied user.
Agree with Abizem. Testflight is a good, painless way of sending out builds. If you absolutely have to use the mobileprovision and .app route, just copy the mobileprovision file and do a sync. Check if that is getting added to the device (the UDID in the mobileprovision might be incorrect)
Note: the .app file will appear as a folder on a Windows system. The entire folder needs to be dragged in this case.
If all of your testers use iOS 4 you can drop the two files on your file server and let them open the website from there iOS device. It is really simple and they don't even need a PC for testing:
http://buzzworks.de/blog/announcing-developer-framework-hockey

Unable to sign iPhone app with distribution certificate

I have struggled every step of the way with the process of submitting to the appstore. I am now at the point where it asked if I wanted to use the distibution certificate I have in Xcode.
I selected yes and I get an error as below. What is the problem with this? please help. I have stuggled more to setup this process than to develop my app.
The iPhone “**********” doesn’t have the provisioning profile with which the application was signed.
Click “Install and Run” to install the provisioning profile “#######” on “**********” and continue running “$$$$$$$.app”.
If I click install and run it just says it cannot install blah blah
Open Organizer in Xcode (Window > Organizer).
Does your iPhone's name appear there? If not, is your phone plugged in :)? Also, some people have had this issue when installing multiple versions of XCode - if your phone also doesn't show up in iTunes, reinstall iTunes to address this.
If it does show up, click on it. Look at the provisioning profiles. What do you see there? Do you see one that matches your app?
Make sure your build configurations are correct for the following:
Distribution (which i think you've got)
Device (for whichever device you're building for)
There are very detailed and clear instructions provided. Start all over at #1, and follow them through carefully one by one. Check each step several times to make sure you've done it right.

Whats the best workflow for adding a new device to an adhoc provision?

So we all need to deploy our applications to real iPhones for testing purposes. I'm sure you much like me have found a group of sucke^H^H^H^H^H testers to help you out with this process. Whenever you want to send a build out to a new person this requires adding the new device id to your ad hoc provision. This part is fairly painless. The trouble starts when trying to get Xcode to use the new provision file.
Whats the best way to get Xcode to pickup and use the new provision first time? Ideally I would like to do this without changing the .xcodeproj file.
I've done this as follows, with good success:
Send out call for beta testers.
Respond to each with "in order to beta test, I need your UDID. You can send it to my by following these instructions..."
Folks incapable of sending UDID are told "thank you for your time, but beta is no longer taking applications."
If too many people can't figure it out, review your instructions.
After several days, make a batch provision file with all the people in beta.
I name the devices after the person's email address, i.e., mikeATexampleDOTcom.
I name the provision after the beta program, i.e., Neko-beta-1.
Build the app, provision & deliver (with non-technical installation instructions!)
For stragglers, you can either build another provision, or add them to the existing one, or tell them "beta's full."
Then...
After a few days, send email asking how its going, if they have any difficulties, etc.
~3 days before end of Beta, email saying "beta is coming to a close, please be sure to return your questionaires."
After close of beta, be sure to thank everyone, even those who did not reply.
How to automatically build an IPA file from XCode: http://www.idotcom.us/2009/05/how-to-build-a-ipa-file-from-xcode/
Step-by-step explanation of how to build an IPA file to send out via ad-hoc. You do have to change your XCode project but this way you create a separate target so it doesn't affect your main project.
What I do now is create a new provisioning profile if the devices change. Even if you modify an existing one, it is essentially a new profile with a different ID, but a new name. Then testers' iPhone fill up with provisioning profiles with the same name :)
Yes, it means changing your Xcode project file each time, but in my experience it's more reliable.
If you do keep the same name, beware of Xcode's cache of provisioning profiles, which can create a mess with builds. Your best bet is to remove of all the provisioning profiles from the Organizer window, as well as deleting the files in ~/Library/MobileDevice/Provisioning Profiles. Then restart Xcode and reimport the provision profile.
I haven't been able to do this without changing the .xcodeproj file, but that's probably because I've had terrible luck getting things to work without going through the whole "build clean, deselect the provisioning profile, reselect the provisioning profile" process.