Question

I have an *.ipa file that signed with AdHoc distribution profile. Also I have Xcode, app store profile, but have no source code of this app. Is there any way to resign my app for app store (I know, I can resign using, f.e. iResign, I did it, but with Enterprice builds) and submit it to AppStore?

Was it helpful?

Solution

Try creating a xcarchive bundle, and import it to Xcode.

A xcarchive is a folder with specific folders and files (Apple call that a bundle).

The folder structure of xcarchive:

MyApp.xcarchive

MyApp.xcarchive (folder)
|
|-- dSYMs (folder, optional)
|   |
|   |-- MyApp.app.dSYM (the dSYM file for your app)
|
|-- Info.plist (metadata file)
|
|-- Products (folder)
    |
    |-- Applications (folder)
        |
        |-- MyApp.app (the app itself)

How to do it

Assume your app is called "MyApp".

  1. First. rename your .ipa file to .zip, and unzip it. You will find your app in the unarchived "Payload" folder.

    MyApp.ipa

  2. Then, create a folder, called "MyApp"

  3. Create "Info.plist" file in the "MyApp" folder, with the following content: (replace the values accordingly)

    <?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>ApplicationProperties</key>
        <dict>
            <key>ApplicationPath</key>
            <string>Applications/MyApp.app</string>
            <key>CFBundleIdentifier</key>
            <string>com.yourcompany.MyApp</string>
            <key>CFBundleShortVersionString</key>
            <string>1.0</string>
            <key>CFBundleVersion</key>
            <string>1.0</string>
            <key>SigningIdentity</key>
            <string>iPhone Developer: Your Name (ABCDEFGHI)</string>
        </dict>
        <key>ArchiveVersion</key>
        <integer>2</integer>
        <key>CreationDate</key>
        <date>2013-07-09T12:13:08Z</date>
        <key>Name</key>
        <string>MyApp</string>
        <key>SchemeName</key>
        <string>MyApp</string>
    </dict>
    </plist>
    
  4. Create "Products" folder in the "MyApp" folder.

  5. Create "Applications" folder in the "Products" folder.

  6. Copy your app (that you found in the Payload folder in step 1) to the "Products" folder.

  7. Now rename the "MyApp" folder to "MyApp.xcarchive", and you will find that its icon will change.

  8. Finally, double click on the "MyApp.xcarchive", and it should be imported into Xcode.

  9. In Xcode Organizer, submit the app to App Store as usual.

Hope this helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top