开发者

iOS Ad Hoc Distribution: Signer not valid error [duplicate]

开发者 https://www.devze.com 2023-03-12 19:25 出处:网络
This question already has answers here: Closed 11 years ago. Possible Duplicate: Signer not valid error I am trying to deploy my app via ad hoc distribution and I keep getting this error,
This question already has answers here: Closed 11 years ago.

Possible Duplicate:

Signer not valid error

I am trying to deploy my app via ad hoc distribution and I keep getting this error, no matter how closely I follow the documentation/other answers on SO.

Here is my process:

  • Create the Ad hoc distribution profile in the Prov. Portal.

  • Download the profile. Click and drag it to the XCode icon on the dock. It shows up i开发者_如何学编程n the Organizer

  • Create The Entitlements.plist file (below, auto generated by XCode, except for the get-task-allow property that I added myself):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
                           "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>application-identifier</key>
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
        </array>
    </dict>
    </plist>
    
  • Go to Target AND Project settings, and set the code signing Entitlements property (I have tried with both a full path and a relative path)

  • Set the Code Signing entity and Any iOS to the Distribution profile

  • Build. Check the build log. The embedded.mobileprovision file is there and the code is signed correctly with the Distribution profile.

  • Go to the build folder, click and drag the .app file to the iTunes icon

  • View .app contents and see the Entitlements.plist is there and correct (as above)

  • Click and drag .mobileprovision file to iTunes (now getting a "Do you want to replace?" dialog...it shows up in the ~/Library/MobileDevice/Provisioning Profiles folder)

  • Quit XCode

  • Connect iPhone

  • Sync

  • "Signer not valid" error.

I am following instructions to a T on both the Apple developer site and here on Stack Overflow, and still nothing. I am hoping I am just tired and missing something, so I put up my entire process for you guys to pick apart.

**Note: I am able to add the app through iTunes if the provisioning profile is already on the device (i.e. added through XCode). But it seems that iTunes will not add the provisioning profile to the device. This won't do for an ad hoc distro where not everyone has XCode...or even a Mac. There must be a way to install the provisioning profile via iTunes.

Another note: My coworker (on whose phone I'm trying to install this app) claims that he did not need to install a provisioning profile for another ad hoc distributed app that he got recently. He recieved a .zip file, which he just dragged into iTunes and it worked. Is that possible? I would like to make a build work like that, so end users (for the testing phase) won't have to deal with installing a provisioning profile.**

Thanks in Advance, Esa


fyi, my entitlements.plist is just :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>get-task-allow</key>
  <false/>
</dict>
</plist>

And I have not this issue...

But I had this in the past, because of a missing Entitlements file If I remember well. This is a pain to solve... I've lost hours because of this one time, with an annoyed client... Good luck! :)

As a last chance I would say try to cleanup ALL certificates/provisionning files (directly in keychain) and retry whole step list of User Program Guide, even regenerating cecrtificates. Also beware of wildcards apps identifiers...


This is what I did and I'm using it without any problem.

  • Create a new App ID with a new generated prefix and just a * for suffix. It will save you the trouble of changing the bundle identifier of any application you want to distribute.

  • Create a new distribution profile with Ad Hoc method. Select the App ID you just created and don't forget to pick devices.

  • Wait for your provisioning profile to go active and download it. You need this and your .ipa to distribute your application. (I don't get why are you trying to distribute your .app. You can't. You can distribute your .ipa). Double click on it to install it to your xcode.

  • Launch xcode and go to target settings. Choose the distributing profile you just installed.

  • Choose iOS Device from active scheme and go to menu: Product > Archive.

  • If all went ok, Organizer will pop up with Archives. Select your application and click Share. Make sure .ipa is selected with the correct provisioning profile. It will save it tou your disk.

  • Mail the saved .ipa and provisioning profile to anyone you want to share the application with.

On user side, they just need to drag the profile and the .ipa to the itunes, and then sync there devices.

Good luck.

0

精彩评论

暂无评论...
验证码 换一张
取 消