App Signing on OSX Yosemite - How To

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • convergeteam
    New Member
    • Jan 2007
    • 18
    • 3.6.x

    App Signing on OSX Yosemite - How To

    I faced the same issue as tons of others here with being unable to sign the 1.8 version of the app using the vBulletin Sign tool on OSX Yosemite.

    There is however a workaround. It requires a bit of patience (I kid, you need a TON of patience), and some basic common sense. I would like to warn you though to do this at your own risk. I have only found a way to get past the pesky code signing error. This might not work for you...

    You will need
    1. A new codesigning tool. Fret not, I found one that works.
    2. An entitlements.plist file. (sample given below, you'll just need your 10char Apple Unique Prefix followed by the App ID)
    3. The .mobileprovision file (the same distribution provisioning profile you used with the vBulletin Signing tool)
    4. Loads of coffee..

    Let's start..

    Step 1 - The Codesigning tool

    https://github.com/maciekish/iReSign - Since the vBulletin tool won't sign it, we'll use something similar. But be aware, you cannot use the app provided in the zip (right side of page - download zip).
    1. You will need to extract it somewhere,
    2. open the "iReSign-Master" folder,
    3. open "iResSign.xcodeproj" in XCode (mine's XCode 6 thanks to Yosemite)
    4. Once opened, click "Command + R" or go to Product Menu and hit "Run"..


    Now you should see an app similar to the vBulletin Signing tool.. Now keep this open and let's move on to step 2.

    Step 2 - The Entitlements.plist file

    This is a sample of an entitlements.plist file
    Code:
    <?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>QWERTYUIOP.com.internetbrands.39cd38038903</string>
        <key>get-task-allow</key>
        <true/>
        <key>keychain-access-groups</key>
        <array>
            <string>QWERTYUIOP.com.internetbrands.39cd38038903</string>
        </array>
    
    </dict>
    
    </plist>
    There are two things you need to replace in the above example..

    QWERTYUIOP - with - Your App's prefix. Found here - https://developer.apple.com/account/...dleList.action

    com.internetbrands.39cd38038903 - with - Your App ID - Also found here - https://developer.apple.com/account/...dleList.action

    Once you've replaced those, save this file as "entitlements.plist" somewhere.


    Step 3 - Finger Crossing time
    • Go to the iReSign App that we'd run using XCode and browse for the .ipa file. This would be from the latest 1.8.0 zip that you got from the vBulletin Area.
    • Next, Choose the Provisioning Certificate file (the one ending with .mobileprovision) that you used with the vBulletin app.
    • Next, choose the path to the "entitlements.plist" you generated from Step 2
    • Ignore the "change ID" option
    • Choose the "Distribution Certificate" from the dropdown. (vBulletin Devs, why can't the vBulletin Signing tool have the same dropdown, instead of having to copy paste certificate names?)
    • Hit ReSign

    You should now have a resigned .ipa file in the same directory (if all goes well)..

    I have successfully signed and uploaded my ipa for review on the Apple Store using this method. This doesn't mean Apple will jump for joy and approve my app, but hey, at least I'm not stuck on not being able to sign the app..

    Hopefully it works for a few more people, and hope the vBulletin devs take notice and fix the code signing tool using the app I provided as guidance (Commit #23 does the trick guys)..


    Let me know if you need any clarification on any of the steps mentioned above. And before you say it, you're most welcome.


    Attached Files
    Last edited by convergeteam; Tue 21 Oct '14, 6:34am.
  • Wayne Luke
    vBulletin Technical Support Lead
    • Aug 2000
    • 73981

    #2
    Thanks for this. I've forwarded this thread to the Mobile Project Managers. I am hoping to get this officially resolved.
    Translations provided by Google.

    Wayne Luke
    The Rabid Badger - a vBulletin Cloud demonstration site.
    vBulletin 5 API

    Comment

    • rinkrat
      Senior Member
      • Jan 2002
      • 201

      #3
      I did this process and got the same "resource envelope is obsolete" error as the VB resign app

      Comment

      • convergeteam
        New Member
        • Jan 2007
        • 18
        • 3.6.x

        #4
        Originally posted by rinkrat
        I did this process and got the same "resource envelope is obsolete" error as the VB resign app
        Did you run the app through XCode? If you run the already compiled app in the zip, you'll get the same error. You need to open "iResSign.xcodeproj" in XCode and then run the app (Command + R) or Product => Run

        Comment


        • rinkrat
          rinkrat commented
          Editing a comment
          OMG! It worked!! Thank you so much!!
      • futureye
        Member
        • Jan 2004
        • 70
        • 4.0.0

        #5
        worked

        Comment

        • rinkrat
          Senior Member
          • Jan 2002
          • 201

          #6
          Yes!!!! Worked!

          Comment

          • convergeteam
            New Member
            • Jan 2007
            • 18
            • 3.6.x

            #7
            Originally posted by rinkrat
            Yes!!!! Worked!
            Originally posted by futureye
            worked
            Glad to hear it did.. Now the wait for Apple to review...

            Comment

            • rinkrat
              Senior Member
              • Jan 2002
              • 201

              #8
              "Dear developer,
              We have discovered one or more issues with your recent delivery for "LetsGoKings Mobile". To process your delivery, the following issues must be corrected:
              Missing or invalid signature - The bundle 'com.internetbrands.cba340301139' at bundle path 'Payload/cba340301139.app' is not signed using an Apple submission certificate.
              Once these issues have been corrected, you can then redeliver the corrected binary.
              Regards,
              The App Store team"

              Comment


              • Wayne Luke
                Wayne Luke commented
                Editing a comment
                Your certificates and keys are properly installed in your Apple Keychain?

              • convergeteam
                convergeteam commented
                Editing a comment
                Make sure the dropdown in the signing app is using the right certificate. If you have more than one, ensure to use the distribution certificate.
            • convergeteam
              New Member
              • Jan 2007
              • 18
              • 3.6.x

              #9
              My app just got approved on the App Store.. I can't believe it's LIVE!!!

              I almost fell off the chair when I saw the notification.. Time to enjoy some bubbly now..


              Last edited by convergeteam; Tue 28 Oct '14, 6:28pm. Reason: Added screenshot..

              Comment

              • SteveLV702
                Senior Member
                • Aug 2009
                • 1466

                #10
                instructions not working for me.

                Click image for larger version

Name:	Screenshot 2014-10-29 09.17.54.png
Views:	80
Size:	269.3 KB
ID:	4187402
                Last edited by SteveLV702; Wed 29 Oct '14, 8:18am.
                ------------------------------------------
                Steve
                DM Mobile Lite (iTunes)(Android)(Blackberry)
                CN Mobile Lite (iTunes)(Android)(Blackberry)
                TheFaFClan Mobile Lite (iTunes)(Android)(Blackberry)
                Audi Spirit Mobile Lite (iTunes)(Android)(Blackberry)

                Comment


                • convergeteam
                  convergeteam commented
                  Editing a comment
                  That last error tells us that you're using a different App Identifier. Do re-check the identifier and use the proper one in entitlements.plist.

                  Also make sure to use the proper distribution profile from the dropdown on the iReSign app. As for the missing icons, make sure you check memberr area in vBulletin, and see if you have those two icon sizes mentioned. You might need to re-compile the app via the vBulletin members area, download it and then try..

                • rinkrat
                  rinkrat commented
                  Editing a comment
                  Go to itunesconnect and make sure you have the icon files there under the current version that is awaiting upload.
              • rinkrat
                Senior Member
                • Jan 2002
                • 201

                #11
                I resigned again and tried uploading but got an error saying "Redundant Binary Upload". How can I overwrite the one they have or find a way to upload? Thanks for all of the help, I seem to be gettin errors every step of the way but slowly making my way.

                Update: I changed the version number to 1.8.0.1 and it was uploaded ok. I can't see it in the build part of itunesconnect but it did make it.
                Last edited by rinkrat; Thu 30 Oct '14, 12:28pm.

                Comment


                • convergeteam
                  convergeteam commented
                  Editing a comment
                  Do you have the same version that was rejected earlier? See iTunes Connect if the version already exists (1.8.0), and if it does, reject that binary, and you should then see "Read to submit binary" option on the page.
              • convergeteam
                New Member
                • Jan 2007
                • 18
                • 3.6.x

                #12
                Originally posted by rinkrat
                I resigned again and tried uploading but got an error saying "Redundant Binary Upload". How can I overwrite the one they have or find a way to upload? Thanks for all of the help, I seem to be gettin errors every step of the way but slowly making my way.

                Update: I changed the version number to 1.8.0.1 and it was uploaded ok. I can't see it in the build part of itunesconnect but it did make it.
                Do you have the same version that was rejected earlier? See iTunes Connect if the version already exists (1.8.0), and if it does, reject that binary, and you should then see "Read to submit binary" option on the page.

                Comment

                • SteveLV702
                  Senior Member
                  • Aug 2009
                  • 1466

                  #13
                  Has issue been resolved yet can we submit apps in Yosemite yet?
                  ------------------------------------------
                  Steve
                  DM Mobile Lite (iTunes)(Android)(Blackberry)
                  CN Mobile Lite (iTunes)(Android)(Blackberry)
                  TheFaFClan Mobile Lite (iTunes)(Android)(Blackberry)
                  Audi Spirit Mobile Lite (iTunes)(Android)(Blackberry)

                  Comment

                  • Zachery
                    Former vBulletin Support
                    • Jul 2002
                    • 59097

                    #14
                    As far as I know, it has.

                    Comment

                    widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
                    Working...