Fabric automatically upload missing dSYMs - crashlytics

http://prntscr.com/b388sf
I constantly have this problem after iOS9 and am bored of it. I am using latest Xcode/Fabric/Swift with bitcode enabled. I have to go manually download dSYM from itunesconnect and upload it to fabric to make it work.
What am I doing wrong, how can I make it work automatically like its intended?

Mike from Fabric here.
Using Bitcode will definitely make this problem happen more often, but there's a couple of ways handling it. You can automatically download the dSYMs using Fastlane.tools by running fastlane refresh_dsyms which will download the dSYMs from iTunesConnect and then upload them to Fabric. Reference for Fastlane's refresh_dsyms is here: https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps
In practice, create a fastlane called: refresh_dsyms, with the following:
lane :refresh_dsyms do
download_dsyms # Download dSYM files from iTC
upload_symbols_to_crashlytics # Upload them to Crashlytics
clean_build_artifacts # Delete the local dSYM files
end
Which will download the dSYMs from iTunesConnect and upload them to Fabric.
Alternatively, you can run the Fabric upload_symbols script, but you would need to have manually download the dSYMs from iTunesConnect - this would only handle the upload. The command would be: find <directory-to-search-for-dsyms> -name "*.dSYM" | xargs -I \{\} /path/to/upload-symbols -a <api-key> -p <platform> \{\}
Reference for upload_symbols is here: https://docs.fabric.io/ios/crashlytics/missing-dsyms.html#upload-symbols-script and
For the reason why this is happening, Apple is recompiling your app when Bitcode is enabled, so the dSYM is only generated on Apple's servers which prevents Fabric from uploading them automatically.

Related

Is there a way to download dSYM via the AppstoreConnect API?

When ipa files are built with bitcode, App Store Connect re-generate dSYM.
Is there any way to download the dSYM files via App Store Connect API?
( I know fastlane can download the dSYM files. )
As of version 1.6 you can.
Each build will have a field called dSYMUrl located within the build bundles attributes.
For the fastlane inclined, support has also been added for this.
It seems that nothing can be done about it yet. Message in forum and discussion in fastlane. Generally, "Fastlane is using the old iTunes Connect API to get dSYMs and stuff because the new API does not support it. This old API is obviously not compatible with the ASC API key."

How to codesign and enable the hardened runtime for a 3rd-party CLI on Xcode?

My project needs the Ghostscript to do lots of tasks, so I have added the gs CLI tool into my project resource. However when I tried to notarize the project application, Xcode shows me this:
I assume that might because the ghostscript portable CLI is a 3rd-party program from the internet and which doesn't have a codesign, also it has not been enabled the hardened runtime. On the latest MacOS Mojave I have to notarize applications to avoid the gatekeeper shows warnings during the user opens the DMG file. But it seems the notarizing is hard to pass if the application contains a 3rd-party CLI.
Is there a solution for this?
I found the solution finally. Sign the CLI this way:
codesign --force --options runtime --sign "Developer ID Application: COMPANYNAME" ./CLITool
Then I successfully archived the Application and uploaded to Apple to notarize.
The enable hardened runtime is achieved via --options runtime.
I found this guide to be very helpful with the notarization and code signing process for app distribution outside the mac store.
I had an issue with my app crashing after enabling hardened runtime for it tho. This comment and this other one helped me with my issue at the time.

IOS Application loader shows bundle error

I have already waste 3 days "solving" this problem (actually I have tried everything i could imagine but get nothing).
While binary uploading of my application i get the following error:
ERROR ITMS-9000: "this bundle is invalid. armv7s are required to include armv7 architecture." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage).
Oh I got it, what you only need to do is to disconnect your device (remove the cable connection between your device and system).
Now archive it and validate. You are good to go I believe. :)
Follow These steps while uploading binary:
Make you Project ready to go (Create distribution certificate, appstore provisioning profile with this certificate and application id of the application you are willing to upload, down load both and double click to install them)
Check if every thing is right, like right Icon files default files etc, and in build setting of your application you have selected your appstore provisioning profile to create you build.
Now unplug your device (although debug option should still remain selected to ios device) while archiving your build
After archiving is completed, validate your build (with same account you have created provisioning profile with), and then correct if there's some other errors, or upload the build otherwise.
I got this error, because arch (arm7, arm7s, arm64) + Build Active Arch Only - YES.
I did next:
- disconnect iphone
- exclude arm64-arch
- Set Build Active Arch Only - NO.
Build was successfully uploaded.
The problem to me was very lazy! I just lost the Universal Deployment Target (I had iPhone only for error). Fixed that it worked fine.
I tried removing the cable and re/assigning the provisioning profile(s) etc. In the end I just removed arm64 from the list of valid architectures on the project and target files.
How much does arm64 matter anyway?

XCode 4 Archive/IPA Error: "The operation couldn’t be completed. No such file or directory"

I've found various proposed solutions to this problem on this internet, but none of them work for me. Does anyone know why this might be happening?
http://answers.unity3d.com/questions/15294/xcode-build-and-archive-error-no-such-file-or-directory
http://blog.joshschumacher.com/2011/04/06/xcode4-the-operation-couldn%E2%80%99t-be-completed-no-such-file-or-directory/
I've tried archiving with every combination of coding signing vs not using code signing, and I've tried using every combination of provisioning profiles, but I still get the same error every time.
I'm very confused as to why I'd even be getting an error like this when trying to save a file. I'm using XCode 4, my application builds for archive fine. In fact, I can even upload my application to itunesconnect (and it was accepted!). I just can't create an IPA for sharing and beta testing before submission.
Any ideas?
The error message
Right before I get the error
After much frustration, I filed a developer support request with Apple. The technician I spoke with was able to save my archive as an .ipa on her computer -- the exact same archive that I was not able to save on mine, which pointed to a possible bug in my system (and from the sounds of it, many other people's).
She recommended that I uninstall and reinstall XCode and the developer tools, and that worked!
Here were her uninstall instructions:
Make sure that your machine is running the latest Mac OS X (10.6.7) and iTunes.
Run the following command in the Terminal application to uninstall your SKD:
sudo <Xcode>/Library/uninstall-devtools --mode=all (where <Xcode> is the path to the directory that contains your SDK.)
Drag your <Xcode> to the trash and restart your machine
Re-download and install Xcode (4.0.2) from the iOS Dev Center. Make sure that the System Tools, UNIX Development, Essentials packages in the Custom Install pane are selected before installing it.
I have the same issue after my distribution certificate was expired. I add new ones (private key and certificate) and xCode "Share" command starts to produce such error.
The problem resolves as soon as I remove old private key & certificate from Keychain Access.
Hope it helps
Selecting "Don't Re-sign" at Identity solved the same issue for me.
I actually had the same problem, but a different solution (and reason). I had Xcode 3 and Xcode 4 both running at one point. I recently deleted Xcode 3 and moved my Xcode 4 from /Xcode4 to /Developer directory. This caused me to have the same issue you describe.
I moved the directory back to /Xcode4 and now my archives save out correctly.
I also had the same problem but I could resolve the problem in the below way.
My project was on the portable disk (formatted as FAT-32) and the project referred some folders on the same disk as "add folder reference for any added folder". I could build it any configurations however I couldn't just make .ipa file with above alert.
So, I copied the referenced folders on the portable disk to the desktop of the disk installed XCode (MacOS). And adding again the folders into the project. I could make .ipa file.
I installed Xcode 4.0.2 in one directory and then manually moved it to another.
When I moved Xcode back to the first directory everything worked.

How do I package an Adobe Air project in Aptana for the BlackBerry Playbook

I have developed a mostly HTML/CSS/jquery application in Aptana. Does anyone know the steps to take to convert this project to a .BAR file for use with the Blackberry Playbook simulator?
I'm guessing I need to package the project as an .airi file first, then use the Blackberry bbwp tool to compile? Has anyone had any experience with this process?
Thanks so much for any help.
This is a bit late I suspect but you have to download RIM's WebWorks package and follow all the necessary steps on their website. Basically, once you are as far as you are, you zip what you've got with a config.xml file and run their command line tool to turn it into a .bar file. Here's a little secret - a .bar file is actually just a .zip file by another name. If you change a .bar back to a .zip file you can treat it like any other zip file.
After you've done this, run the signing tool, (results and mileage may vary) and then push it out to the device with another command line tool. In the simulator you have to set it to "Development Mode" and get the IP address. You put the IP address into the command line tool and it will put it onto the device. You may have to restart the simulator for it to show up. If you can't get the signing tool to work you should still be able to put it onto the simulator.
Download WebWorks and get started here - http://us.blackberry.com/developers/browserdev/
You will need to sign up for a developer account to download it.