views:

3293

answers:

8

I'm attempting to do an ad-hoc distribution of my (first) iPhone App to a small group of volunteer testers. I've looked through Apple's documentation, as well as a number of blog posts, but am still having trouble. I have a couple questions about things that aren't clear (to me, at least):

When creating Development and/or Distribution certificate requests, for Common Name, should I use my name or my company's name? I registered for the iPhone Developer program as a company, and the portal shows this company name, but also my own name as "Agent".

Also, Apple's documentation (the "Publishing Applications for Testing" chapter of the Developer's Guide) contains a diagram showing the Tester Provisioning Profile as containing info about the Tester Device, the Test App ID, and the Development Certificate. When I try to create the Tester (Ad-hoc) Provisioning Profile on the portal, it selects the Distribution Certificate, not the Development Certificate. Is this right? It seems to make sense, but doesn't match the diagram.

Any other advice on ad-hoc provisioning would also be appreciated, particularly how to gather information for troubleshooting. My testers have reported getting an "application was not installed because an unknown error occurred (0xE8008016)" message, which doesn't tell me anything about what I may have done wrong.

Thanks, Andrew

+1  A: 

I used my own name for Common Name, however, I'm not sure this really matters. I did name my dist. provisioning profile with my company name, though.

Ad-Hoc is considered distribution, so the distribution certificate is the correct one.

Did you create an Entitlements.plist file for your ad-hoc?

Are you getting any signing errors when you build your ad-hoc?

Matt Long
Are you registered in the program as a company or individual? At the top of the portal page where it says "Program Portal: XXXX" is the XXXX your name or the company name?No, I haven't created an Entitlements.plist. I've found differing opinions on the blogs about whether to add it. It's not in Apple's current documentation and I haven't found any articles recommending it since 2008.No, I'm not getting any signing errors. My testers can add the App to iTunes without problems as well. The error only pops up when attempting to sync the App from iTunes to the actual device.
AndrewCr
Matt Long
Also, not sure who told you that the Entitlements.plist instructions weren't in the current docs. Take a look at this: http://matthew-long.com/download/adhoc.png. Its in the Distribution | Prepare App tab in the Program Portal. Look for the "Building your Application with Xcode for Distribution" link.
Matt Long
+1  A: 

Does the ad-hoc build you created install properly for you? That's the easiest way to gather information-try it yourself, following the directions you're giving your users.

I had problems with Windows users not being able to install my app because Windows couldn't properly decode the compressed folder I created on my Mac. I eventually resorted to a Run Script build phase in XCode that created a .ipa file which worked properly for drag-and-drop for Windows and Mac iTunes.

Mark Bessey
Unfortunately, that's where I'm somewhat handicapped. I don't have my own hardware on which to test right now, so I can't follow my own instructions. (Yes, I know this is a substandard way to proceed, but it's the reality of the situation for the present.) That's why I asked about suggestions to gather more information. Does iTunes have an event log or something similar that might provide more details?I've got one tester using a Mac, and she's seeing the same problem as the Windows users.
AndrewCr
+1  A: 

In your entitlements.plist file you have to uncheck the get-task-allow bool to give it a false value. This is only for AdHoc distribution.

I learned this the hard way when I went through a build cycle thinking I had saved and checked in the right entitlements.plist with get-task-allow unchecked.

Batgar
+1  A: 

Well, I seem to have it working -- sorry for the long delay in following up. Here's the best resource on this that I've found: http://www.bigspaceship.com/blog/labs/iphone-101-understanding-distribution-pt-i-of-ii/ although even it doesn't get quite all the details right, and it seem that Apple changes the iPhone Program portal often, so maybe no resource will ever be fully up-to-date. Your mileage may vary.

To answer the questions I posed (and reply to some of the questions raised in other answers): For the Developer Certificate, I used my own name. For the distribution certificate, I used the name of the Company. Yes, the dist.plist bust exist and the get-task-allow property is false.

Finally, one more gotcha: the AppID/Bundle identifier should be all-lowercase.

AndrewCr
thanks for the bigspaceship link, it really helped!
daidai
A: 

I have put apps on the app store but trying my first ad hoc build and it works in the simulator but not on the testers device and I put it on my device and it loads on to the iPhone but when u run the app all you get is a gray screen.Again works fine in simulator but not on iPhone device?

carl Andrews
+1  A: 

I posted a sample packaging script that i use for automating ad hoc distribution builds, maybe this is useful?

http://iphonedev.makerlab.org/2009/12/packaging-script-for-iphone-ad-hoc-distribution-builds/

mr_marc
A: 

Hi I'm having problem with Ad Hoc distribution either. But I got a little different situation. The IPA file successfully generated & installed on testing device. But the app is not working on the device. It crashes. And this is what I got from the log. Thx in advance for the help.

Incident Identifier: C61913C2-0354-4458-A960-5A1DEEB56EE2
CrashReporter Key:   11e3398e15b83576f7a98bd62c6534d0229ffe3c
Hardware Model:      iPod2,1
Process:         BurningArmor [3160]
Path:            /var/mobile/Applications/42BFCEA9-50B7-4000-A9F4-C62D3A60DA4C/BurningArmor.app/BurningArmor
Identifier:      BurningArmor
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-07-12 13:39:21.315 +0700
OS Version:      iPhone OS 4.0 (8A293)
Report Version:  104

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x00000001, 0xe92d0500
Crashed Thread:  0

Thread 0 Crashed:
0   BurningArmor                    0x000cf144 +[CCDirector setDirectorType:] (CCDirector.m:115)
1   BurningArmor                    0x00003234 -[BurningArmorAppDelegate applicationDidFinishLaunching:] (BurningArmorAppDelegate.m:33)
2   UIKit                           0x0001314c -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1192
3   UIKit                           0x001c16cc -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 292
4   UIKit                           0x0007c7b8 -[UIApplication handleEvent:withNewEvent:] + 1784
5   UIKit                           0x0007beb4 -[UIApplication sendEvent:] + 60
6   UIKit                           0x0007b7e8 _UIApplicationHandleEvent + 6704
7   GraphicsServices                0x00004edc PurpleEventCallback + 1024
8   CoreFoundation                  0x000742ac __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 22
9   CoreFoundation                  0x000761d6 __CFRunLoopDoSource1 + 158
10  CoreFoundation                  0x0007718e __CFRunLoopRun + 574
11  CoreFoundation                  0x0001e0bc CFRunLoopRunSpecific + 220
12  CoreFoundation                  0x0001dfca CFRunLoopRunInMode + 54
13  UIKit                           0x00007b18 -[UIApplication _run] + 524
14  UIKit                           0x00005fb8 UIApplicationMain + 964
15  BurningArmor                    0x0000302c main (main.m:13)
16  BurningArmor                    0x00002fec start + 32

Thread 1:
0   libSystem.B.dylib               0x00034e84 kevent + 24
1   libSystem.B.dylib               0x00102a48 _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x00102494 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x00102634 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x0008b53c _pthread_wqthread + 392
5   libSystem.B.dylib               0x00082b6c start_wqthread + 0

Thread 2:
0   libSystem.B.dylib               0x0008c3b4 __workq_kernreturn + 8
1   libSystem.B.dylib               0x0008b718 _pthread_wqthread + 868
2   libSystem.B.dylib               0x00082b6c start_wqthread + 0

Thread 3:
0   libSystem.B.dylib               0x00000ab0 mach_msg_trap + 20
1   libSystem.B.dylib               0x00002f94 mach_msg + 60
2   CoreFoundation                  0x00074b18 __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x000770e0 __CFRunLoopRun + 400
4   CoreFoundation                  0x0001e0bc CFRunLoopRunSpecific + 220
5   CoreFoundation                  0x0001dfca CFRunLoopRunInMode + 54
6   WebCore                         0x0000370c RunWebThread(void*) + 552
7   libSystem.B.dylib               0x0008af80 _pthread_start + 364
8   libSystem.B.dylib               0x0007d014 thread_start + 0

Thread 0 crashed with ARM Thread State:
    r0: 0x0013f980    r1: 0x0011d9fc      r2: 0x00000003      r3: 0x00317f10
    r4: 0x0011d9fc    r5: 0x339f2750      r6: 0x00317f10      r7: 0x2fffe390
    r8: 0x0013f980    r9: 0x00000000     r10: 0x001434dc     r11: 0x0030ae20
    ip: 0x000cf141    sp: 0x2fffe384      lr: 0x0000323c      pc: 0x000cf144
  cpsr: 0x60000030

Binary Images:
    0x1000 -   0x139fff +BurningArmor armv6  <5bd8abe7e4fc300772188d19e465181d> /var/mobile/Applications/42BFCEA9-50B7-4000-A9F4-C62D3A60DA4C/BurningArmor.app/BurningArmor
  0x2e8000 -   0x2e9fff  dns.so armv6  <d94bf29d2f94f4cac8fb25d075252bc2> /usr/lib/info/dns.so
0x2fe00000 - 0x2fe28fff  dyld armv6  <a2a8d67606c76b315fd9e97b0b023784> /usr/lib/dyld
0x30021000 - 0x3007dfff  libGLImage.dylib armv6  <4d09042d6dfd3c953a5c35fc9d765c7c> /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x301c7000 - 0x30364fff  AudioToolbox armv6  <7ba1695e186fe8f284ab7f33fcd85d1d> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x3041e000 - 0x3043cfff  libresolv.9.dylib armv6  <806782dbc2e4e7992c26bf32b4df0674> /usr/lib/libresolv.9.dylib
0x304f4000 - 0x3055afff  libBLAS.dylib armv6  <9222c722e8fa6b004565e9f50fb611c4> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib
0x305a7000 - 0x305b6fff  OpenGLES armv6  <5f718500ced9ed538f6d70a20ca9e7b8> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x305b7000 - 0x305f9fff  CoreLocation armv6  <f851f4f9645c050445185f901c7d1426> /System/Library/Frameworks/CoreLocation.framework/CoreLocation
0x30659000 - 0x30692fff  MobileCoreServices armv6  <d2cb48d8151eeecaac35f425543ed38f> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x306f0000 - 0x30733fff  CoreTelephony armv6  <0a68cba6be455c7c40ab745a02f731c0> /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
0x307b2000 - 0x30810fff  CoreAudio armv6  <667e016db146b7b685c2df973b4eb1f2> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x30811000 - 0x30817fff  MBX2D armv6  <14a44e9271c3e17812a8ae9b690fbee7> /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
0x30836000 - 0x309b9fff  CoreGraphics armv6  <8fb72c9419ad2991e3883433a56474bd> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x30aba000 - 0x30b1cfff  libsqlite3.dylib armv6  <b08f7531c40c875a00655f20104bacf5> /usr/lib/libsqlite3.dylib
0x30b69000 - 0x30b69fff  vecLib armv6  <9675978ea23f63d6a50ba3e86b51ca97> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x30c82000 - 0x30d66fff  QuartzCore armv6  <68467edfafbe46cf156a09f981470c4c> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x30d96000 - 0x30de9fff  libvDSP.dylib armv6  <d97bf1093b1a64413eca6974fb0f5504> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x30e09000 - 0x30e0bfff  libAccessibility.dylib armv6  <f5ef20a0bd9cba04ebc758fe6a23d3b7> /usr/lib/libAccessibility.dylib
0x30e0c000 - 0x30e0dfff  CoreSurface armv6  <0deb7e43538b2322b1393fef1c5a1590> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x30e29000 - 0x30f43fff  libicucore.A.dylib armv6  <32cb97fab65d624434be808e4d7f7fd5> /usr/lib/libicucore.A.dylib
0x3115c000 - 0x31160fff  ApplePushService armv6  <7f70dc415a34acff93861da7eabb7ba4> /System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService
0x31162000 - 0x3152ffff  libLAPACK.dylib armv6  <9ed24071d90c47c237b42c77a5475efe> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib
0x315ae000 - 0x31666fff  ImageIO armv6  <00456ab6f056e5cc09947c1583de18bf> /System/Library/Frameworks/ImageIO.framework/ImageIO
0x3166c000 - 0x31689fff  OpenAL armv6  <980854dbe146d4c7dd673f6d0de36b10> /System/Library/Frameworks/OpenAL.framework/OpenAL
0x3168c000 - 0x3168ffff  CrashReporterSupport armv6  <45ad3a409dd6e9d3e7281b05a3819bc0> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/CrashReporterSupport
0x31759000 - 0x31765fff  SpringBoardServices armv6  <acb852df8b8425700f2642c183362b71> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x31766000 - 0x3176afff  libMobileGestalt.dylib armv6  <0049a3d14c57b4a1ea8d520fab571a92> /usr/lib/libMobileGestalt.dylib
0x3176b000 - 0x3176dfff  IOMobileFramebuffer armv6  <f5356b424bc55d44d4151852098336c9> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x317d5000 - 0x3190efff  libSystem.B.dylib armv6  <eba90ac7da57bb6cf062d3a6e74b852e> /usr/lib/libSystem.B.dylib
0x3193c000 - 0x31a10fff  WebKit armv6  <3cb517d6a799c4722ace6679f2e85a6d> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x31a58000 - 0x31c99fff  ProtocolBuffer armv6  <16f68d9ce4e4e5bc18b35148d68c369a> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/ProtocolBuffer
0x31e3a000 - 0x31e3efff  IOSurface armv6  <604ec9514f70a84f18a4c020b723ec57> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x31e3f000 - 0x31f04fff  Celestial armv6  <d67abb27b59e69b05a98322b340e24d1> /System/Library/PrivateFrameworks/Celestial.framework/Celestial
0x31f3c000 - 0x31f47fff  libbz2.1.0.dylib armv6  <ce0a82849bba4a1285bbccf145c02a35> /usr/lib/libbz2.1.0.dylib
0x31f93000 - 0x31f9dfff  MobileWiFi armv6  <597094bba2fbd7ee1976bd5f38d93f4c> /System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi
0x31f9e000 - 0x31fdefff  ManagedConfiguration armv6  <4c318efb9d60754af1f1ba5eee715880> /System/Library/PrivateFrameworks/ManagedConfiguration.framework/ManagedConfiguration
0x3200b000 - 0x3201cfff  PersistentConnection armv6  <ac2e94cd758efc73f8b4e9c298eac9d1> /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
0x3216a000 - 0x321b9fff  Security armv6  <b36cf795531d1d9e7be364e10d7ed90d> /System/Library/Frameworks/Security.framework/Security
0x32233000 - 0x32285fff  IOKit armv6  <861fd5d810381967e6a4d8c504fddc65> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x3235c000 - 0x33a75fff  UIKit armv6  <6b1e7386ccb9170130465dd66e320a58> /System/Library/Frameworks/UIKit.framework/UIKit
0x33a76000 - 0x33a8afff  libmis.dylib armv6  <d6b74e95f265c651ba519adbd525ab59> /usr/lib/libmis.dylib
0x33c07000 - 0x33c48fff  VideoToolbox armv6  <f599cd31636fd804c2cc820435577f5d> /System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox
0x33c49000 - 0x33c57fff  GraphicsServices armv6  <336ba68fec36155d87dcd5cc93cb69a5> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x34209000 - 0x34239fff  AppSupport armv6  <fe42b18413be339f6f39abcc94c98a66> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x342b2000 - 0x342b9fff  liblockdown.dylib armv6  <e4d8805a067c32759705c7f750ae22d5> /usr/lib/liblockdown.dylib
0x342ba000 - 0x342c0fff  MobileKeyBag armv6  <b416e34658bd7794c3bfecefcec15827> /System/Library/PrivateFrameworks/MobileKeyBag.framework/MobileKeyBag
0x342d7000 - 0x34342fff  libstdc++.6.dylib armv6  <c621f921d71ecad04aa90512945460f5> /usr/lib/libstdc++.6.dylib
0x34448000 - 0x34449fff  DataMigration armv6  <e172aff91163993f5487457a8a7fc481> /System/Library/PrivateFrameworks/DataMigration.framework/DataMigration
0x3445f000 - 0x34555fff  libxml2.2.dylib armv6  <fe03fd73746bb5d1a66283f88af99085> /usr/lib/libxml2.2.dylib
0x34556000 - 0x3455bfff  libGFXShared.dylib armv6  <1fba30d031fdd1d3580a19d0e757f82a> /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x3456e000 - 0x34573fff  AssetsLibraryServices armv6  <82ebe32a298d9a3e2ff42c1fc4ed164b> /System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices
0x345a8000 - 0x345b1fff  AccountSettings armv6  <4933996569c9e94593eece3c59c83b38> /System/Library/PrivateFrameworks/AccountSettings.framework/AccountSettings
0x345db000 - 0x345e3fff  libgcc_s.1.dylib armv6  <480b2ebb3645728b3ddea392718b06f4> /usr/lib/libgcc_s.1.dylib
0x346c4000 - 0x347e5fff  Foundation armv6  <f332f35e00567975fd242ed36417e32e> /System/Library/Frameworks/Foundation.framework/Foundation
0x347e9000 - 0x3498efff  MediaToolbox armv6  <7abebed58aafad2637353798796827d3> /System/Library/PrivateFrameworks/MediaToolbox.framework/MediaToolbox
0x349c6000 - 0x349d8fff  libbsm.0.dylib armv6  <890d82cf86a38274a40c7435941825b0> /usr/lib/libbsm.0.dylib
0x34a2d000 - 0x34a80fff  CoreMedia armv6  <791607fdea84db935ec2983b646fd6ae> /System/Library/Frameworks/CoreMedia.framework/CoreMedia
0x34c47000 - 0x34c89fff  AddressBook armv6  <8cdfdb51dfc5859a49e4e62f6f423458> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x34e5d000 - 0x34f6dfff  CFNetwork armv6  <1f59b619ceea0eaf7ba9ec3729c136d4> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x350c0000 - 0x35105fff  CoreText armv6  <ccd1c0b6e03bff58b013f9ef494f0ef8> /System/Library/Frameworks/CoreText.framework/CoreText
0x3510b000 - 0x3512afff  Bom armv6  <9f17f2fdf0e7efd5740ff1d8637fc0b6> /System/Library/PrivateFrameworks/Bom.framework/Bom
0x35172000 - 0x35191fff  EAP8021X armv6  <d0c2bd846c2334cd5c9e801a9f466ca8> /System/Library/PrivateFrameworks/EAP8021X.framework/EAP8021X
0x35192000 - 0x35195fff  MobileInstallation armv6  <d2dc5be30f11631cc7b90e48cff0f4e7> /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
0x3519b000 - 0x351a7fff  libkxld.dylib armv6  <564dcfd62a1a5430ec02feacf6334825> /usr/lib/system/libkxld.dylib
0x351a8000 - 0x351b6fff  libz.1.dylib armv6  <712df47cb008c407ea7b3615d078cfc6> /usr/lib/libz.1.dylib
0x35237000 - 0x352ddfff  libobjc.A.dylib armv6  <b55da671f23d1580dc031236c03ca977> /usr/lib/libobjc.A.dylib
0x352e0000 - 0x352edfff  MobileBluetooth armv6  <294e5422ae7533dd6c64fb5fef3b86e8> /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x35348000 - 0x353e6fff  ProofReader armv6  <adaf06c1f87b025b35995394f3cf9c2a> /System/Library/PrivateFrameworks/ProofReader.framework/ProofReader
0x35537000 - 0x355bafff  AVFoundation armv6  <b0da4e5026db30b98ead157c5454a5a6> /System/Library/Frameworks/AVFoundation.framework/AVFoundation
0x355bb000 - 0x355bbfff  Accelerate armv6  <19360395982776b4e38e5a28acda450b> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x355bc000 - 0x35719fff  libGLProgrammability.dylib armv6  <e13b0847531b60aebfdb276c1eb5623a> /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x357e8000 - 0x358d1fff  JavaScriptCore armv6  <2c206f26fee7b7a93004b9f4e82b504b> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x35966000 - 0x3615dfff  WebCore armv6  <d2d1696c608f72e1451e7fe640ff840a> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x363a0000 - 0x36477fff  CoreFoundation armv6  <0ae5fe97433e816615033fbe19e5cf6e> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x36478000 - 0x36484fff  CoreVideo armv6  <639962081f133b863b43981e3214c1e9> /System/Library/Frameworks/CoreVideo.framework/CoreVideo
0x36485000 - 0x364c7fff  SystemConfiguration armv6  <9f8575eaec0d1428fe23a40f2f7dd2c5> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x36503000 - 0x36563fff  GMM armv6  <8f383b3fb65b1dd4e9e46d6de455ff29> /System/Library/PrivateFrameworks/GMM.framework/GMM
5upr1
Weird. No one's answering. Plz I need help here.
5upr1
A: 

You can use this amazing software to generate OTA AD-Hocs!

http://github.com/downloads/pcsaito/iOS-BetaBuilder/BetaBuilderDB.zip/

PCSaito