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
I go http://developers.box.com/onecloud/ to download the Android SDK. I got box-box-android-sdk-5482811 Is this the latest version?
Because when I open up the OneCloudAppToAppSample, even the R. variable is not well defined. And I cannot run the sample code.
Where can I find more help or documentation on using Box with Android SDK?
The SDK is being improved quite frequently, so our advice would be to always use the latest version on the "master" branch. We consider the master branch to be our stable release. In your case, 5482811 should work fine.
Regarding your issues with the sample app, I don't seem to have any problems compiling it off of a fresh download. I can think of one thing you might be running into:
The sample app was configured to point to target "Google APIs:15". It's possible you don't have this installed (through the Android SDK manager). We actually should not have configured this build target, since the project doesn't use the Google APIs, and we'll fix that in our next release.
In the meantime, could you try this (assuming you're using Eclipse):
Right-click on the OneCloudAppToAppSample project and go to Properties.
Go to the Android section on the left, and change the build target to Android 4.0.3 - 15 (not the Google APIs version).
Project -> Clean -> Clean all projects.
What would be the logic of updating mechanism for AIR application with captive runtime?
Application should be distributed for Windows and Mac.
I got stuck here:
Note that this does not necessarily mean that you need to implement your own auto-update mechanism. If you use a commercial tool to create your installer, it may include auto-update mechanisms that you can leverage. On the other hand, if you do need to write your own update mechanism, you should find the URLStream, File, and NativeProcess APIs handy in implementation.
after reading it at: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.html
Is it something like (for Windows, after app is installed with some .exe or .msi installer):
upon starting app, check for new version
if there is new version, download it
overwrite existing app files and AIR runtime files
It should be forced update, before starting app.
How to overwrite running app? Or to make another app (updater) for replacing files, and after that start main app with NativeProcess?
For Windows I use the Native Application Updater
http://code.google.com/p/nativeapplicationupdater/
and WinRAR SFX archive (.exe) to auto update my captive runtime apps.
Native Application Updater will check the version, download your new exe, close your app and run that new exe.
In the SFX options:
I use absolute path, something like: %USERPROFILE%\AppData\Local\com\thenewkid\appname\
Under "Modes" you can select "Hide All" in Silent Mode. Under "Setup" you get it to run your application.exe after extraction.
You can keep the update size low by removing the Adobe AIR folder until a new version of the SDK becomes available (i.e. just had to push a larger update out recently for 3.3)
For MAC I use Installer. It isn't as silent as the Windows Updater as the user will have to click through a couple installer prompts but it allows you to put it in their home directory so administrative privileged aren't required which is what I find the most useful aspect of captive runtime.
Basically, you should have your app point to some XML file on your server which will contain things like newest version number, path to new files on server etc.
You can use a separate app to do the restart but keep in mind that since you are using Captive Runtime this will mean another 40-60MB just for the updater (unless you use some non-recommended hacks).
It would probably be better to just prompt the user to restart after you download the update.
The trick is not to overwrite the EXE but instead to overwrite the SWF (and any other files that need updating). From what I can tell, the EXE is simply a pointer to the XML manifest and the SWF.
You should not be updating AIR runtimes file every time - only for critical updates (since they are large files).
For the restarting of AIR in captive runtime this works for me on Mac (have not checked for Windows yet) (Note: UpdateAutoTest was the name of my app):
var appLauncher:File;
appLauncher = new File(File.applicationDirectory.nativePath).parent.parent.resolvePath("Contents").resolvePath("MacOS").resolvePath("AutoUpdateTest");
var npInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo;
npInfo.executable = appLauncher;
var _args:Vector.<String> = new Vector.<String>;
//_args.push("-a");
//_args.push();
npInfo.arguments = _args;
var np:NativeProcess = new NativeProcess;
np.addEventListener(NativeProcessExitEvent.EXIT, npExitHandler);
np.start(npInfo);
exit();
There is no need to overwrite. Have the user download your new package and launch it. AIR will know that package is already installed as a previous version and will prompt the user if he wants to update.
So the workflow is : check if there is a newer package, alert the user there is one, have him download and launch it. Air will manage the updating.
How to install the new version of apk file from a web server automatically instead of manual install(Downloading the apk and clicking the same).Upon starting the application , it should query for the higher versions available in web server and based on that the new version should be installed in the device.The updation may be either with user confirmation or background process.
You cannot auto-install any apk without the user's permission. You can at best, download the apk file, and then prompt the user to let him know that you want this application to be installed.
So, if the web app has the necessary APIs, you could write some code to query and get the latest versions available, and then finally download and prompt the user.
There is an intent to launch this confirmation activity.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File("link to downloaded file")),"application/vnd.android.package-archive");
startActivity(intent);
I have downloaded the javafx 2 samples and want to run in from its HMTL. For example there is one javafx application called BrickBreaker. For the specific sample the following files exist : BrickBreaker.jar, BrickBreaker.jnlp and BrickBreaker.html
When double clicking on jar or jnlp the application runs as expected but when i click on the html the application does not run. Instead i get the message "View the conectes of the page. Please install javaFX"
Why is that happening ? ( i have the javafx installed as the application runs when choosing the jar and jnlp files). My guess is that the html should be called from within the context of a webserver meaning that i should deploy my application first to a server and call the url from my explorer. For example if using glassfish i should call the url http://localhost:8080/Brickbraker
The problem is that i don't know how to deploy the javafx application in the server.
i tried to copy paste all the above three files in the autodeploy folder but it didnt worked...
Could you please help me?
Thanks in advance
EDIT: some more info - I have installed JDK 7 and JavaFX SDK 2.0.2
No, JavaFX is client technology, you don't need Glassfish to run it. JavaFX should run in browser the same way as Java plugins do.
If you can't run an application directly from html file it means your browser doesn't recognize you have runtime installed.
There can be next reasons for that:
JavaFX runtime is actually not installed (check in Windows Control Panel)
pure java plugin is not installed (you can check on java.com)
javafx runtime is 32bit and you are using 64bit browser (or vice versa)
you are using not supported browser (e.g. Safari)
you are using not supported system (at this moment, January 2012, only Windows supports runtime)