Linker error on iOS cocos2d-x hybrid project - cocos2d-x

I have a hybrid Cocos2d-X project for iOS & Android. I can build the iOS project using command line but the Xcode gives me linker error.
Although it builds successfully & clean as well as I am able to export the archive as well from command line. Xcode says 176 errors. That number looks overwhelming though.
Any help, I am sure there is some small thing that is missing from the Xcode lining and is linked using the command line.

Related

ERROR ITMS - 90167 No. app bundles found in the package

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

Build wp8 app using ionic

I am creating a hybrid app using ionic framework.I have successfully created build for android and ios. But when I am creating app for wp8.I got error:
Building project: D:/window/platforms/wp8/window.sln
Configuration : debug
Platform : any cpu
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
D:\window\platforms\wp8\window.csproj(211,5): error MSB4019: The imported projec
t "C:\Program Files (x86)\MSBuild\Microsoft\WindowsPhone\v8.0\Microsoft.WindowsP
hone.v8.0.Overrides.targets" was not found. Confirm that the path in the <Import
> declaration is correct, and that the file exists on disk.
ERROR: Error code 1 for command: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild
with args: D:/window/platforms/wp8/window.sln,/clp:NoSummary;NoItemAndPropertyL
ist;Verbosity=minimal,/nologo,/p:Configuration=debug,/p:Platform=any cpu
Error: cmd: Command failed with exit code 2
Please help
I think WP8 is not supported, only Windows 10. Look here:
"We will not be supporting WP8.
We may support W10 with V1, but we will definitely support W10 with V2."
and
For many, this is probably not the Windows Phone 8 update you were hoping for, but we just couldn’t get Ionic apps to perform well enough on that platform to officially support it. With all the changes and updates in the Windows/Edge ecosystem over the last few months, it made sense to just wait and see how it all played out.
https://forum.ionicframework.com/t/does-ionic-supports-windows-phone-8/29233/22
https://channel9.msdn.com/Blogs/One-Dev-Minute/Ionic-apps-on-Windows-10
http://blog.ionic.io/announcing-ionic-1-2/

Cocos2d-js: “Can’t find right android-platform for project”

I changed to new versions of Android SDK and NDK.
When I execute the command "cocos run -p android" in any cocos project directory, also a newly created one, then it compiles all sources correctly, but stops trying to build an apk, with the message:
Can't find right android-platform for project : "/Applications/MAMP/htdocs/42words/frameworks/runtime-src/proj.android". The android-platform should be equal/larger than 10
The Env-Variables are set to:
ANDROID_SDK_ROOT=/Applications/adt-bundle-mac-x86_64-20140702
NDK_ROOT=/Applications/android-ndk-r10
ANT_ROOT=/usr/local/Cellar/ant/1.9.3/bin
And they are correct. At
/Applications/adt-bundle-mac-x86_64-20140702/sdk/platforms
there is a android-20 folder. If I call cocos with
cocos run -p android --ap 20
Then the message is
The directory "android-20" can't be found in android SDK
What am I missing?
I had the same problem when I replaced my old copy of the Android SDK with the one from the Cocos Store.
Can't find right android-platform for project : "/Users/CurrentUser/ProjectName/frameworks/runtime-src/proj.android". The android-platform should be equal/larger than 16
Easy fix! Run android found at /android-sdk/tools/android and make sure that the Android version (in this case API 16) is downloaded.
here is my android_sdk_root, you lose /sdk?
export ANDROID_SDK_ROOT=/Project/adt-bundle-mac-x86_64-20131030/sdk
if not this reason, you can find this log in tools/cocos-console/plugins/project_compile/build_android.py
def check_android_platform(self, sdk_root, android_platform, proj_path, auto_select):
if you use python ,it's easy to find the reason by log
To me, the problem can be solve by installing the older version of android sdk. Open your android ndk folder and check for the newest version of the NDK. If it is android-21 for example, then you open AndroidSDK Manager, and install AndroidSDK Build tools 21. After that, try again to run your project.
In addition, depend on your target device, you may also want to install an equivalent Android SDK platform.

Using "cocos run" command with cocos2d-js 3.0alpha on sample js-moonwarrior

I just discovered that the new commandline in cocos2d-js (3.0alpha on OS X 10.9.2) is awsome. With two commands you can create a project and then deploy it on web, android, ios and mac. I tried web and android and it worked instantly.
Then I tried to run the sample game js-moonwarriors which comes together with the framework using
cocos run -p android
from within the project directory. But it stops with the error:
Can't find the projects directories in this project.
No idea. What is missing?
Update: cocos2d-js 3.0alpha2 is out and everything is working fine.
I got an answer to that from cocos2d-x forum:
Hi, this functionality is missing in 3.0 alpha, but tomorrow we will release 3.0 alpha2, and the issue have been solved, you can use cocos command to compile and run js-tests and moon warriors.
Apparently alpha 2 has not been released yet, and I cloned their git branch and it's still not fixed. I suspect it's due to the lack of "framework" directory, so I tried:
ln -s ../../frameworks .
ln -s ~/prj/c2x/cocos2d-js/samples/js-tests/project frameworks/runtime-src
Unfortunately instead of showing samples, it simply shows Hello World. I even did
rgrep . 'Hello World'
And pretty sure the string is not there. Weird.

Marmalade: error LNK1181: cannot open input file 'python.lib

I'm trying to build Marmalade project for Windows Phone 8 in Visual Studio Ultimate 2012 but receive following error:
error LNK1181: cannot open input file 'python.lib'
Seems that it happens because of wrong path to project's additional library directories. Currently it's c:\users\*user_name_omitted*\appdata\roaming\marmalade\packages\6.3.0\python_2.6.4\lib\wp8\x86
But in fact there is no wp8 folder. As I understand this foulder should be created automatically...
I have Marmalade evaluation license.
How can i get rid ot this error?
Two suggestions:
I've not got a working version to hand, but the bundled version of python with marmalade is (IIRC) 2.5.x, so the reference to 2.6.4 looks odd. I wonder if when you ran s3eConfig it was running a different version and got confused? More as like it should have downloaded some extra stuff and has not.
It might be worth uninstalling marmalade and then re-installing. There are reports of people not having a full installation following the install.