Xamarin ios archive crash after signed - ios

I have a iOS project, which link a binding library and correctly works without issues.
But when I send xarchive to my customer (so xarchive is signed from him), his app crashes at launch
It seem I miss something during the xarchive build?
Using an external library maybe I have to check additional options in xamarin studio build tab?
UPDATE:
pluggin iPad and launching Xcode devices windows, error is:
Runtime error: The assembly mscorlib.dll was not found or could not be
loaded
Searching I found this:
https://developer.xamarin.com/guides/ios/troubleshooting/questions/error-mscorlib-not-found/
This issue occurs when the hidden .monotouch-32 and .monotouch-64
folders are missing from the .xcarchive for signing / IPA creation,
triggering the runtime error.
How can I fix it?

I confirm issue was related to https://developer.xamarin.com/guides/ios/troubleshooting/questions/error-mscorlib-not-found/
My archive was uploaded to my owncloud company. Owncloud client doesn't upload hidden files/folders (as .monotouch-32 and .monotouch-64), so xarchive received by customer was different and smaller and did not contain all references.
I hope this help other people will have this issue.

Related

This bundle is invalid - The Info.plist file for PersonalizedAdConsent.framework is missing or could not be read

The title error is what gets emailed after uploading the ipa via the application loader and below is the error that occurs in debug mode:
ERROR: "The framework
APPNAME.app/Frameworks/PersonalizedAdConsent.framework does not
contain a binary named PersonalizedAdConsent"
I've been getting this error in debug mode when trying to build the project. However, when I build it in Ad-Hoc mode, it builds fine and uploads on the application loader without any issues but then I get the following mail
"This bundle is invalid - The Info.plist file for
PersonalizedAdConsent.framework is missing or could not be read."
I've looked in the Info.plist file as well as .csproj file for this reference and I cannot find it anywhere.
Also searched online, can't find much about the PersonalizedAdConsent.
Any ideas?
So it seems like the issue was because of the following packages:
Xamarin.Google.iOS.MobileAds
&
Xamarin.Firebase.Ads
As far as I can tell, the app needs permissions to request consent to display ads or personalized ads (not too sure exactly) and it build correctly after removing these packages.
These were in a build that I've done on Windows for a different app which did not actually use them but VS for MAC gave me the issues and it turned out to be these packages that were causing it.
Hope it helps!

ITMS-90167: "No .app bundles found in the package" app store upload with xcode 9

yesterday I wanted to deploy some bugfixes for my app with Xcode 8.3, and ran while uploading into the error ITMS-90167: "No .app bundles found in the package".
This error is also shown already when trying to validate.
I did not change any code signing or mobile prov. files. Everything worked a month before.
I tested my code with ios 11 device support copied over from xcode-beta.
I read through all stackoverflow questions like this one, but I am not using Xcode 7 nor the application loader.
So I updated to Xcode 9.0, fixed some stuff due to the changes for swift 3.2, cleaned derived data etc., and tried again but still the same error.
Inside the ipa I can see the folder Payload/appname.app with its contents.
I am trying to deploy with fastlane, but also tried with Xcode, same results.
I have double checked code signing and recreated mobile provisioning profiles, revoked expired certificates and deleted duplicate/expired certs and keys in my keychain.
Xcode shows the profiles as eligible.
I also tried Automatically manage signing.
But nothing helped.
What does this strange error message really mean? And how can one debug/resolve this?
For me, the cause was a lack of space on my internal hard drive.
As far as I can gather, you need to have the same amount of space free that the unarchived xCode project takes up in order for the .ipa to be verified and uploaded to iTunes Connect - and that's through either xCode or ApplicationLoader.
After moving as much as possible over to a USB drive, the .ipa uploaded without issue.
I finally resolved the issue (after 2 days hard work),
it seems that it was a problem with a framework which I copied (with all sources) completely into my app-project and within this framework there was a info.plist (of that framework) which seems to confuse the validation step of the itsm transporter. Although the app was built and worked in simulator and on the device correctly.
The error message
ITMS-90167: "No .app bundles found in the package"
is very misleading - because there was an .app directory in the ipa and I first thought about signing issues. On the internet I didn’t find anything helpful with this error.
After I build the framework as separate project and included it correctly as a framework the validation was successful and I was able to upload my app.
If anyone knows more about this itms transporter and where to find some more documentation about possible errors, please leave a comment...

iOS - App not getting uploaded to Apple server

I have been trying to submit a Swift 3 app to Apple from Xcode 8.2 , App passes through all phases but gets stuck at authentication forever and then ends with an error. But then I export app for Appstore submission and then upload the same using Application Loader, tried with two different accounts but no avail. Have referred to this thread as well This action could not be completed. Try Again (-22421)
Most upvoted answer says apple servers may be misbehaving but I wonder how many days ? Is this something specific to Swift app ? I havent tried submitting any ObjC app recently so not sure, can anyone provide a solution ?
I stopped using Xcode uploader after 2 hours of failed uploading attempts. Then I took Application Loader instead and it told me the exact reason of fails. In my case it was too fat watch extension.
Hope this will help.
It's ongoing issue with Apple App uploader server, since couple of days, so you don't have a way, rather than waiting.
You can try following solutions:
Use Application Loader to upload your app, as Xcode organizer can't upload file (rejects IPA) sometimes, without genuine reason and it's frequently occurring issue, with Xcode Organizer, that apple could not resolve permanently.
Solution for error code: 22421
Apple app upload server is not working properly (not in
connection or lost connection during file upload). Just wait and try
again later (may be after a day).
Fluctuation in your network
connection, during file upload.
You may not have added privacy
statements in your info.plist file.
Cocoa Keys: Here, is list of keys that you should consider to add in your info.plist file, if you have used that service in your application.
Nowadays, you may also face, this error code: 90186 (with app loader)
Outdated application loader can be reason of this error. Use latest Xcode tool and use application loader from Xcode Tool.
Incorrect/invalid provisioning profile, associated with your build. Ensure, your have used correct provisioning profile (A provisioning
profile with Distribution/Production mode is require. A Development mode provisioning profile won't allow your to upload app on store.)
You can find latest Application Loader Tool from latest Xcode Tool: Xcode ▶ Open Developer Tool ▶ Application Loader

Using embedded framework in Xcode 6.1 results in app crashing with mapped file has no team identifier

We created a framework that we use for our iOS projects. In the general tab you can see it as an embedded binary.
In the build phases tab it shows up as an embedded framework:
After archiving the project and installing the ipa file on a device and then launching the app I see the following error in the device console:
[deny-mmap] mapped file has no team identifier and is not a platform binary: /private/var/mobile/Containers/Bundle/Application/CE2542E1-355A-4A45-AC97-08A2330B45E5/Policy Pal.app/Frameworks/MTKit.framework/MTKit
Please help! I haven't seen anybody come across this problem before.
We are seeing this too. According to this blog you need to revoke and re-generate your certificate and mobile provisioning file. We haven't tried it yet, but the symptoms are the same.
EDIT: Our build-meister did this a few weeks ago and it does indeed fix the problem.

Xcode 4.3: Codesign operation failed (Check that the identity you selected is valid)

After installing Xcode 4.3 I can't validate and distribute application using Organizer.
While building, signing and validating in Xcode is OK, the validation in Organizer fails with the message in the title of this question.
First, Xcode 4.3 can download provisioning profiles automatically (there's an option in Organizer), but it downloads only development profiles and ignores distribution profiles as if there are none. OK, I downloaded and installed it manually and it appears in Organizer. Then I set proper Code Signing Identity both for project and for target and use Distribution profile that matches Distribution certificate in my keychain. Then I do Archive (build-sign-verify) and no errors, in the log I see green checkmarks for CodeSign and for Verify steps. Looks good and the archive appears in Organizer.
And that's where all goes wrong, I just select Validate, choose the new version I just prepared in iTunes Connect, choose correct code signing identity, same as was used for Archiving (actually, there are no other choices in my case), it asks for iTunes login/password as usual, and then says
Codesign operation failed
Check that the identity you selected is valid
Ahhh!!! Why!? It had no problems while archiving it, then same code signing doesn't work when trying to submit to AppStore. Well, not even submit, but validate before actually sending it. So this issue is local to my machine. The very same signing and validation that is successful during build, fails in Organizer...
I tried everything, re-installed Xcode, removed/revoked and re-issued all certificates, removed duplicated private and public keys from keychain, put all certificates in one "login" keychain, issued new profiles, installed Application Loader 2.5.1, and so on... still no luck.
Could it be that I have some left-over from previous Xcode installs? Or that I have to update some tools to make Organizer work properly?
Meanwhile, if anyone knows another way to upload binary to AppStore, please share. I couldn't figure out how to do that using Application Loader, when it asks me to choose a bundle to upload, all I have is xcode archive created by Xcode in Archive step. How do I get my hands on iap or whatever file the Application Loader wants from me?
I've discovered that Xcode 4.3.1 has a serious issue validating apps with resources within a directory tree within an application bundle.
Apps can pass validation within the Xcode "Build for Archive" process - it only fails when the validation is run via Organizer.
After spending hours trying to trace down the usual code signing entitlement issues, I eventually noticed the following line in the system console when the export fails:
3/10/12 2:32:48.450 PM [0x0-0x261261].com.apple.dt.Xcode: /Users/chris/Library/Developer/Xcode/Archives/2012-03-10/Coverage 3-10-12 2.32 PM.xcarchive/Products/Applications/Coverage.app/Tiles/T-Mobile-roam/4: Is a directory
I spent a day trying to isolate this bug, and I've finally nailed it.
The code signer in XCode 4.3.1 when validating for the App Store or saving for AdHoc distribution chokes whenever there is a subdirectory in your bundle that has the same name as its parent directory.
For example:
test/test/file.x -- FAIL
test/test2/file.x -- WORKS
This seems to be new in Xcode 4.3.1, and hopefully will be fixed soon.
Notes: This thread seems related: https://devforums.apple.com/message/630800
I was the original poster on the Apple Dev Forums...
https://devforums.apple.com/message/621193
I've also attempted to bring this to the attention of the AddThis developers:
https://www.addthis.com/forum/viewtopic.php?f=19&t=38292
As mentioned in the other posts, the only way I've found to prevent the code signing failure is to remove the ATResources.bundle file from the project.
Of course, this bundle contains many of the necessary images for AddThis, among other things, but the error no longer occurs.
I'm hoping this helps someone else discover the correct way to solve this issue.
The problem is AddThis or explicitly the ATResources.bundle in the AddThis folder.
So you have two options:
The first one is using an older version of Xcode to Archive.
The second one is relocate all the images inside the
ATResources.bundle into a folder, and copy the content of the
Localizable.strings into your own Localizable.strings
Then open the FBDialog.m file and search for "close.png", remove that
line of code and replace it with:
UIImage* closeImage = [UIImage imageNamed:#"close.png"];
Now you're ready to Archive.
Finally consider to file a bug report in https://bugreport.apple.com/
In my case, it was a damaged custom framework.
I have so many subdirectories on my bundle that have the same name as their parents, so I was not able to validate and submit. The only solution I found is to download xcode 4.2.1 from Apple developer center and install it side by side with xcode 4.3.2. Then I used it to validate and submit.
I'm developing on Sencha 2. The key here is to launch the System Console from Apps/Utilities and look at the error log when distributing. That's the easiest way to see the offending directory. In Sencha2 its in the /sdk/src/device/device. Good stuff: Still happening in xcode 4.3.2
Just confirming that the problem was indeed nested folders with the same name in my app.
In my particular case this was the issue:
problem: images/packs/1/1/img.png
solution: images/packs/pack_1/1/img.png
Smooth sailing after that. This happened in Xcode 4.3.3
found the solution, it really works for me. hope this will help you guys.
if the issue is because of Addthis, try following
noted that the inside ATResources.bundle you have a folder named ATResources.
ATResources contains exactly the copy items (ADDTHIS.db,en.lproj,images) which is present in ATResources.bundle. so we can simply delete the ATResources folder from ATResources.bundle.
for deleting,, select the files from ATResources.bundle and right click , show in finder -> and remove ATResources folder.
the major issue is because subdirectory in your bundle that has the same name as its parent directory.
:)
I had same problem in my project (in xcode 4.3.2) and as per all answers I checked for any .png file starting with ._* and also checked folder and its subfolder are different name.
Also checked code signing identity as per requirement, but did not succeed to solve this problem.
After whole days effort finally I got reason for "Packaging operation failed" error in my project.
In my case, I have classed About_us.h and About_us.m and by mistake I import header file like #import "About Us.h" (white space in middle). So when I loaded app on Device it will successfully loaded but when I try to create ipa using archive its give me error and return me Estimated App Store Size just 143 kb.
Finally while I change header like #import "About_Us.h" and try to make ipa I got real size in proper MB.
Hope this will help someone.
I experienced this issue on Xcode 5.0.2 (5A3005) with 2 completely separate folders that happened to be named the same thing.
Most other cases in this thread focus on the parent/sibling relationship, but I think it's any two folders with the same name will cause this failure.
I had same problem as you do, and radven response inspired me:
did you see that ATResources directory contains nothing more than just copy of its parent?
ADDTHIS.db
en.lproj/*
images/*
ATResources/ADDTHIS.db
ATResources/en.lproj/*
ATResources/images/*
As a quick-and-dirty fix I removed the redundant subdirectory. Application builds and seems to work fine, and Xcode is able to sign.
Let me know if I missed any consequence of this fix?
Gee, I spent like an hour on this problem.
I just removed AddThis from my project. Do it and it would work.
restarting xcode made the buttons work for me. they were greyed out before, in case anyone here is having the same problem
Techi50 alluded to this but to be clear - under Xcode 4.3.5 there is a serious bug where code signing will fail if you have subdirectories with the same name as the parent directory. In the Sencha Touch 2 SDK tree, for example, there is
/sdk/src/device/device
argh... hours of trying to code sign with no luck... rename to:
/sdk/src/device/device_epic_fail
(since I don't need those libraries anyway)
and I can code sign.
And one big bug hunt is over. Apple... fix please...
Updating the AddThis SDK from 0.1.7 to 0.1.9 fixed this problem for me (using XCode 4.3.1).
I've determined another cause of this error, which occurred for me in Xcode 4.6.2 (4H1003). I had a subproject building an executable. This executable is a helper tool which is copied into my app's bundle when it builds.
The app has a min deployment target of OS X 10.7 and builds for 64-bit Intel as a result.
The helper tool, however, was set to a deployment target of 10.6, and was building for 32-bit/64-bit Intel.
Changing the helper tool to also build for 10.7 and 64-bit Intel only fixed the error. I can reliably recreate the error by changing the helper tool back to 32-bit/64-bit Intel; this is not a 'erm, zap your PRAM' fix.
As #radven and #tomek-cejner mentioned sometimes some extra directories could cause problems. Maybe if named improperly? for me the offenders were different.
Gruntfile.js, karma-e2e.conf.js, karma.conf.js, and the entire node_modules directory.
see: How to build IPA for distribution with TestFlight with XCode 5?

Resources