问题
I have searched around SO and other places. I have only found older versions of this answer that don't seem to work any more, and tons of other stuff that isn't even relevant in the latest version.
Long story short, we have a developer providing an IPA to us, who doesn't want to join our developer group. I told him to send us an unsigned IPA, but we couldn't get it figured out based on our old process.
Has anyone done this yet, and would you mind sharing your method with the world?
Thanks!
回答1:
I ended up finding a working solution for xcode 8. Here is the step by step
- (Optional) Change build location
Xcode>preferences>locations>derived data>custom>your desktop
- Open Terminal and navigate to the project's folder
- Run manual build:
xcodebuild -workspace (or -project) [workspacename.xcworkspace] -scheme [Schemename] -sdk iphoneos -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
- Open the location from Step 1 (derived data) and navigate to >your app>build>products>Release-iphoneOS
- Copy the .app file into a new subfolder named
Payload
(this folder name is case sensitive and much match verbatim) - Compress
Payload
folder and rename it to app_name-version_number.ipa
Boom. Done.
回答2:
Create Xarchieve file by using Xcode, click product->archive
first right click on xarchieve file-> show in finder
again right click on xarchieve file-> show package contents
Then open folder products->applications, here you get the your application file
Now, Drag and drop this one to itunes store's app directory(find apps drop down
menu at right top corner of itunes store). This will automatically converts
archieve file to ipa file. (Here, you can also do this -> drag and drop .app
file anywhere in itunestore, once it get processed, search it back from search box).
then again right click on it and ->show in finder, this will show your ipa file.
Now you can give this one to any user
回答3:
To run the unsigned build (IPA) on the device: (In case if you don't have apple dev subscription)
1) you need unsigned IPA You can use these steps described above (xcodebuild...) OR you could use "Archive" option and then navigate to Organizer and right-click "Show in Finder" then open Terimnal and invoke:
xcodebuild -exportArchive -exportFormat ipa -archivePath <FILE_NAME>.xcarchive -exportPath ~/Desktop/<FILE_NAME>.ipa
2) you use open source tool iOS APP SIGNER (beware this is opensource but I would recommend to strip off the NimbusKit as it looks very suspicious and its not required to produce a signed IPA just remove the #import and one function call - fix all build errors and you'll get the clean tool)
http://dantheman827.github.io/ios-app-signer/
The idea is that XCode allows users to RUN their own apps on their own devices now without subscription (only with valid apple id) So its somehow fetches the profile based on app bundle ID that's how you can send your IPA to another user and he could re-sign it using some trickery to force XCode to fetch the provisioning profile from the Apple. Check the URL to full instructions how to setup DUMMY project with matching BUNDLE ID to do it
回答4:
Without any provisioning profile i.e. signing you won't be able to run on the device. You can create IPA using payload method just build the project and go project navigator and search for the file project_name.app and select show in finder by right clicking. Then create a folder named PayLoad and then put that app file in it and create zip of that Payload folder and once zip is created rename that zip to your project_name.ipa
回答5:
Steps to create unsigned IPA (Tested on Xcode 9.4.1)
Step 1: Open finder > Go to Folder.. as below screen
and then copy and past the below line:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.*.sdk/SDKSettings.plist
Open iPhoneOS.sdk as showing in below image:
Step 2: Copy the SDKSettings plist in another folder because you can't make changes here:
Step 3: Make change in duplicate
set CODE_SIGNING_REQUIRED to NO
Step 4: Now replace duplicate Plist with original one (Both name must be same). This will also ask admin permission to change.
Warning: Please make sure you have copied the original plist and save somewhere for future reference.
Step 5: Now set code signing identity to as below image:
and now you can create the Archive file
**Step 6:**Right click on this test Archive file and show in finder:
Again right click and click on show package contents
then Products>Applications>and copy the .App file
Step 7:
- Copy the .app file into a new subfolder named Payload (this folder name is case sensitive)
- press Payload folder and rename it to app_name-version_number.ipa
- Example- Test-version_1.1.ipa
And finally you have unsigned IPA file :)
Note: After done with your app changes replace the original plist again or set set CODE_SIGNING_REQUIRED to YES
来源:https://stackoverflow.com/questions/40730051/how-to-build-an-ipa-without-signing-in-xcode-8