Archive in xcode 6 is producing a pkg, not ipa - ios

Recently updated to Xcode 6 and now whenever I archive a project, I get a .pkg instead of an .ipa. I've set the other target in my project (cocoapods) to skip install but that didn't do the trick. The deployment target is iOS, not mac (it's an iphone/ipad app that previously archived .ipas fine).
Am I missing a new setting somewhere (i.e. default archive iOS apps to .ipa) or is there a gotcha with ad hoc distribution on Xcode 6 I'm not aware of?

Add LSRequiresIPhoneOS YES to your Info.plist
The key can be found as Application requires iPhone environment

I couldn't find a direct way to do this in the Xcode 6 GM (or betas), but found a couple solutions that have worked:
Archive in Xcode 6 and export in Xcode 5. This worked for me while I was using the betas, but after installing the GM, the Xcode.app binary overwrote my Xcode 5 version (This could be easily reinstalled). #Anan answered that here.
Grab the .app file from your .xarchive and package your own .ipa by creating a Payload directory, copying the .app into it, zipping it, and renaming the extension to .ipa.
I tried using the TestFlight desktop app and dragged the archive into it after creating an account. This seemed to go through the motions of packaging the .ipa and uploading it to the TestFlight servers. I wasn't able to find a trace of the .ipa on my local machine. This probably works, just not sure where to grab the .ipa. You would have to generate the .plist on your own or use an old one.
Regardless, this seems like a bug and these workarounds are annoying to have to do for something that used to take 5 seconds to complete.
Steve

Related

Archive distribution problem for watch extension app

We've been developing and testing a Watchkit Extension app (iOS 12.1 and WatchOS 5.1) for the past few months and successfully testing it on a simulator and local, connected devices (iPhoneX + Watch 4) using xCode 10.1.
This past week we built an archive for posting to App Store Connect. We got stuck in the Archive Organizer after archiving for release. The "Validate Content" button was disabled, the Version is blank, the Identifier is blank, and the Type is "Generic Xcode Archive". Unfortunately, all we can do is export the .app files from the Archive Organizer; we can't push the archive to App Store Connect.
We made sure the build scheme was set to Release and we archived to a Generic iOS and WatchOS device. We also set Skip Install for the three targets (iOS app, Watch app, Watch extension) to No as we assumed none of those are static libraries. We even tried every permutation of Skip Install settings. We looked at the issue in the following link and we have no Header steps in the Build Phases of any targets:
https://developer.apple.com/library/archive/technotes/tn2215/_index.html#//apple_ref/doc/uid/DTS40011221-CH1-PROJ
We have two frameworks we included in the project using carthage. We thought maybe these were causing issues, but we rolled back to a branch before we added them and still have the same problem.
We made sure the build in the Scheme is set to a single target and cleared out the Derived Data folder. Still no dice.
I’m not 100% sure from your question, but are you trying to push an archive of the watch app to the App Store?
If so, that’s not how you submit the app. The Watch app is embedded in the “regular” iOS app, and to distribute it you need to archive and submit that app as usual.
If I’ve misunderstood, feel free to ignore this!
I had the exact same problem. When I changed Skip install on the watch app and watch app extension to YES, it suddenly worked. No idea why.

Xcode ipa output has bug while in xcode build doesn't

When I build my app on my iPhone in Xcode there's no problem at all but when I get IPA output(ad-hoc) it seems one of my buttons which I used an third-party library (ANLongTapButton) for that doesn't work well and it crashes.
While I was getting IPA output I made sure that library is added.
what's wrong?!!

ERROR ITMS-90167: "No .app bundles found in the package" [duplicate]

Before I start writing about the error, I'm running on macOS Sierra and using Xcode 7.3.1.
So I'm creating an Archive from my App, I validate the App and it passes validation, but when uploading to App Store, I get the error "ERROR ITMS - 90167 No. app bundles found in the package".
I've checked all my documentation and I have everything.
I have all my provisioning profiles.
I have Release as "iOS Distribution".
This error just started appearing after I installed macOS Sierra.
Anyone has an idea of why I'm getting this error?
After chatting with folks at WWDC in both the Xcode lab and the App Store lab, they were able to dig up information that this is a known issue in the current Sierra seed that is fixed in the next release. You can either revert, or wait. Not the most satisfying answer, I admit.
Problem:
Issue with the current macOS Sierra build.
Workaround
Build with Xcode 7.3.1 then upload using Xcode 8 [Beta]. (Thanks to #JollyRoger)
Currently, this workaround ONLY works for TestFlight and NOT for App Store submissions.
No need for fix [UPDATE]
So it seems that this bug has lasted for the whole beta period and it might not be worth for Apple to fix it anymore as the final version of iOS 10.0 is releasing in a few days and the final macOS Sierra is releasing a few days after that.
If you are still getting this issue with the final build of macOS Sierra, make sure you are using Xcode 8.x and not anything earlier than that.
Possible errors:
ERROR ITMS-90635
ERROR ITMS-90635: "Invalid Mach-O Format. The Mach-O in bundle
"....framework" isn’t consistent with the Mach-O in the main bundle.
The main bundle Mach-O contains armv7(machine code) and arm64(machine
code), while the nested bundle Mach-O contains armv7(bitcode) and
arm64(bitcode). Verify that all of the targets for a platform have a
consistent value for the ENABLE_BITCODE build setting."
Fix: Uncheck the Include Bitcode option before uploading.
INFO ITMS-90111
INFO ITMS-90111: "Beta Toolchain. This app has been built using beta toolchains. Apps built with beta toolchains are acceptable for TestFlight submission. Note that you will not be able to submit these builds for sale on the App Store."
Note: This will allow you to upload the build and use it for TestFlight but when trying to submit to the store you will be faced with this error message:
New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, OS X, and tvOS SDK. Don't submit apps built with beta software including beta OS X builds.
If you are uploading from Xcode7(less than Xcode8) and macOS Sierra(V10.12), So this issue "ERROR ITMS-90167: "No .app bundles found in the package"" will come and will not allow to upload build to AppStore.
So use "Application Loader V3.6" or "Xcode8" to upload the build.
Try This, it worked like a charm for me,
We also facing same issues at time of updated macOS Sierra.
At time of upload build by using Xcode7.3.1 we get an error message
"ERROR ITMS-90167:"No.app bundles found in the package"
To Solve Error And Upload IPA file On App Store Follow Below Steps
We export build by using Xcode7.3.1.
-For upload build we use Application Loader V3.6 of Xcode8.
Xcode -> Open Developer Tools -> Application Loader
Follow Below Steps
1) Open Application Loader
2) Choose Build(IPA)
3)Uploading IPA file To app store
4)Successfully Submit Build(IPA)To App store
Your App will uploaded on Appstore,
Hope this is help for some one.
I would first like to thank #xemacobra for his solution, it worked for me until I needed to submit an application for Review.
If you need to submit an application for the App Store, and the build says You may not submit builds using beta software... here is the solution:
The problem is Xcode is sending the build information along with the version of you Mac OS. To fix that, you just need to change your Mac OS build to an older, acceptable, version.
Restart your Mac and hold Command + R on boot up
Open Terminal
Run csrutil disable
Restart your Mac.
In Finder, go to /System/Library/CoreServices/SystemVersion.plist
Open the file so that you may edit the SystemVersion.plist
Find <key>ProductBuildVersion</key> and locate the string attached to this key. For example, mine was 16A254g.
Change this string to a version of Mac OS that is currently supported for public release. At the time of this solution this one will fine: 15G31
Restart Xcode. Re-Archive your application. Re-Submit the application.
I did not try submitting the application through Xcode 7.3.1, but I do know this still works if you submit the .ipa through Xcode 8 beta 3.
Once you have submitted your build, revert the SystemVersion.plist to the original string, and repeat steps 1-4 replacing csrutil disable with csrutil enable.
I have also experienced the same. This is the simple way to solve your problem. Archive your app using Xcode 7.3.1 and export the ipa file of your app into a directory by selecting the option Save for iOS App Store deployment.
After that open Xcode 8.0 and open Application Loader from Xcode -> Developer Tools. Sign in to your team, and upload the ipa file using Xcode 8.0.
I have uploaded two apps to iTunesConnect, it will work for sure.
I was having this issue with Xcode 8 GM and trying to submit an app for release though Application Loader.
You have to use the version of Application Loader that comes with Xcode 8, which should be 3.6
I still have Xcode 7 installed, and was using Application Loader 3.5
Update
My apps submit okay now and go into processing, then soon after disappear completely. I think this might be a separate issue though.
Update 2
You still can't use Sierra to submit your apps. At least not until they release the GM.
Update 3
This issue is still occurring with this particular project. All other new ones (sticker apps) that I have created since public launch have been submitted to iTunes Connect with no issues.
I worked on this project during the betas, so it's possible something has been corrupted along the way and is causing issues. Might require starting a new project in Xcode 8.
There's a thread on the developer forums addressing this issue. https://forums.developer.apple.com/thread/62703
Solution
Turns out the fix for us was to add the "NSCameraUsageDescription" key
to the info.plist with a description of what the camera does in the
app.
Not sure if that solution will help in all cases though.
I submit an app built using LibGDX and had the same issue after upgrading to Sierra. I solved it by:
Upgrading Xcode (8.x), as explained above
Use the latest version of appLoader (3.6). To do that, use the AppLoader available within Xcode. I was using a standalone version of the appLoader: that's incorrect. Open Xcode and go to Xcode->Open Developer Tool->Application Loader
Unable to process application at this time due to the following error: No .app bundles found in the package. This issues appear when your pc's space is less. So clear you trash or some useless document from you pc. Then let's try again! It's work for me!
I recently upgraded to macOS Sierra and also received this error message. After uploading through the application loader failed.I downloaded Xcode 8 (kept my 7.3.1 copy). Closed Xcode 7.3.1. Opened Xcode 8-> Organizer-> proceeded to validate and upload my build. It worked. Hope this helps someone in a similar situation.
Maybe it's about your disk space check your disk space.
Try open App Loader from Xcode8.
Xcode > Open Developer Tools > Application Loader
Then you can upload app to TestFlight without the error.
These are all fabulous answers above... follow Nicholas's 9 step process above and also Tobeiosdev if you don't have write access to the SystemVersion.plist file.
However be very careful about how you read the step by step guide. DO NOT do as I did and restart your device after editing that plist file, as you will render most applications on your mac useless, including Terminal & TextEdit (which are required to edit it back). Reopen terminal inside Sierra (or the beta OS you are running) not inside the command line.
I unfortunately found out the hard way and then could not edit the plist file again in the command line. So I then had to reboot several times before finding the solution which was to go into single user mode (Command-S on restart), all of which scared me senseless that I had ruined the build of my mac. Eventually got everything running again but was somewhat delayed too by having to reinstall Xcode 8... leading to a sleepless night as my first ever submission to the AppStore.
All in all, the above is a perfect solution that works all around, IF you follow the directions correctly. Lesson learnt!
I accidentally opened an old version of the Application Loader Version 3.5 (921) and got the error ITMS-90167 no app bundles found. Be sure you open the Application Loader over the menu of Xcode (Xcode->Open Developer Tool). Version 3.6 (1020) works like a charm! :)
I solved this problem as follows, find your archive in the Organizer, and then:
Show in finder
Show package contents
In the „Wasabi.xcarchive“ file, find the
„Products“-„Applications“-„Wasabi.app“(Wasabi is your app’s name),
„Show package contents“ again
Finally, you can see there has a file named“Info.plist“, open it
Edit the value with a key named „BuildMachineOSBuild“, I just change
it to „15F34″(it’s „El Capitan 10.11.5“ ’s version)
According to #Fan Zhang answer follow these steps and you can upload this archive use Xcode or Application Loader, whatever you want!
When you archived your app, find your archive in the Organizer, and then:
-->"Show in finder";
-->"Show package contents";
-->In the "xx.xcarchive" file, find the "Products"->"Applications"->"xx.app"(xx is your app's name), "Show package contents" again;
-->Finally, you can see there has a file named"Info.plist", open it;
Edit the value with a key named "BuildMachineOSBuild", I just change it to "15F34"(it's "EI Capitan 10.11.5" 's version);
With me, my application writing by Swift 2.2. And must use Xcode 7.3.1 to archive and upload to Apple testflight but got the same error(I run on macOS Sierra-10.12). The follow solution fix it for me, hope another who face the same problem can find somethings helpful:
1> Use Xcode 7.3.1 to archive
2> Export to file .ipa
3> Quit Xcode 7.3.1 then open Xcode 8, and then open Application Loader, use Application Loader to upload file .ipa to itunes connect.
In case this helps, I had the same error code "ERROR ITMS - 90167 No. app bundles found in the package" using mac OS 10.14.4 with Xcode 10.2.
(As a note, I was able to successfully submit builds some weeks ago with the same configuration, but this seems to be something in the iTunes Connect side)
Had to update to mac os 10.14.6 and Xcode 10.3 to successfully submit my build.
I faced the same problem .
what worked for me was ->
go to target-> signing & capabilities -> signing certificate -> I had to revoke one certificate. Always revoke the Certificate by the name of admin's iMac .
It is created by default while making your certification and profiles.
**Picture is attached for the reference.
PS:- always make sure the bundle id is same on App store connect and Xcode before archiving.
The privacy settings are changed for iOS 10, more on this could be read here
I had previous described issues, which had to be solved as described, but after successful upload application wasn't visible on iTunes connect.
I had to add Privacy - Bluetooth Peripheral Usage Description key in a plist in order to solve the last one.
Other missing keys will make the same problem.
I was getting this error with Xcode 7.2.1 and Application Loader 3.4 on macOS 10.12.1.
But for some reason, it worked if I used the command-line "altool" to do the upload instead:
'/Applications/Xcode-7.2.1.app/Contents/Applications/Application Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool' \
--upload-app -f your-app.ipa \
-u your-apple-id -p your-apple-id-password \
--output-format xml
I had to provide missing application name in order to fix this problem.
Go inside your Appstore and download the new version of Transporter.
this worked for me

Xcode 7 try to archive an ios app with library

When I try to archive my project which include a library I get only generic archive type instead of IOS type.
I manage the scheme so my library would be in my main project container, I changed the skip install in the library to "YES".(in the main project set to NO but tried also to YES).
Why this keep happening?
Maybe this will work?
Go to Xcode preferences and make sure to download all provisional profiles. Quit Xcode & restart your computer then try deleting (backup if you want) your library - developer - Xcode - Archives folder and DerivedData folder. Archive
Try this if the above doesn't work:
Xcode 7 GM created generic archive instead of iOS app archive

Unable to archive updated iOS PhoneGap app

I recently upgraded my PhoneGap app from 2.4.0 to 3.4.0. To do this I had to create a new project using NodeJS, then copy all the www files and resources into the new project. I added a new ios platform. It compiles and runs in xcode 5.1. The simulator works too.
Now I want to submit this to the app store as an update to my previous version. The problem is the "Product > Archive" menu in xcode is disabled.
Has anybody who can give me some direction been through this process? Or direct me to where I can get some help?
======
UPDATE: I found that I the target device must be set to iOS Device in order to archive a project. Now Archive is enabled. I run archive, but no archive is listed in the Organizer.
Still looking for help.
Make sure you connect your device first. You cannot archive your project without a device.
This turns out to be a simple oddity with Xcode. If you have a simulator selected you cannot archive. Choose iOS Device and then you can archive, with or without an actual physical device connected.

Resources