Xcode Server bot builds ipa files for all simulators - xcode7

Xcode Server Bot for Archive builds ipa for each the simulator separately, and one common ipa file. Is there a way of preventing it, having only the "compatible with all devices" ipa file?
What i tried so far:
Unclicking Create user-installable product. Result: No ipa file is created.
Enable Bitcode -> set NO For target&project's build settings. Result: Like in screenshot.

It's a bot property.
Edit the bot, under configuration, under export choose "Installable Product"

Related

How to symbolicate crashes in Xcode 7.3?

Can you help me get my crashes symbolicated?
In Xcode 7.3, Window -> Organizer -> Crashes, I have crash reports from my latest TestFlight builds. They were built on this Mac, and all the archives with the corresponding dSYMs are in the Archives tab. The app is divided into a number of frameworks and the main app, and many are a mix of Swift and Objective C. In the crash log I can see the name of the frameworks and app listed correctly, but all the entries for my frameworks and app are in hex. UIKit is symbolicated just fine.
When I look in iTunes Connect, it says "Yes" to "Includes Symbols" and allows me to download the dSYMs. When building, the "Debug Information Format" option was set to "DWARF with dSYM". I tried setting "Strip Debug Symbols During Copy"
and "Strip Linked Product" to "No" to see if that made a difference. It didn't.
I cannot find the symbolicatecrash app on my system, not even in /usr/bin or /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash, but I have an older Xcode 5 where I could grab it. However, it does not resolve the symbols anymore.
I have the same problem in Instruments, if I profile my app, UIKit is symbolicated just fine, but my frameworks and app only show hex.
I know there have been a lot of posts about this, but I have going through them a lot from the 7.3 beta period and until now and have not found a solution
The location of symbolicatecrash has changed in Xcode 7.3:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
After reading this:
https://developer.apple.com/library/content/technotes/tn2151/_index.html
you find out that the App Store is responsible for symbolicating crash reports that come from TestFlight – not Xcode. And it appears the App Store is very unreliable at doing it.
Here's a workaround.
Go to the Archives tab in the "Organizer" window and make sure that for whatever build you need to symbolicate a crash report for, you have clicked the "Download dSYMS..." button over on the right side of the page. This is required if you are uploading in BitCode.
Attach an iOS device so that it appears in the "Devices" window.
Select the device and click "View Device Logs".
Now, go back to the Organizer Window, select the "Crashes" tab and select one of the crashes that did not get symbolicated.
Right-click on it and select "Show in Finder".
Right-click on the revealed .xccrashpoint bundle and select "Show Package Contents".
Drill down into DistributionInfos -> all -> Logs.
Drag any of the .crash files into the left side of the "View Device Logs" pane open in the Devices window.
Wait a second or two for Xcode to symbolicate the crash.
Same here. Having a hard time finding the symbolicatecrash after upgrading to 7.3.
However, you can still use the atos though.
You can find the tutorial here Symbolicate crash in iOS8 with Xcode 6 .1
I do not upload symbols with my application, so the App Store cannot symbolicate for me. I used the following workaround to symbolicate all of the crashlogs that XCode downloads from the store. These instructions are for XCode 8. The paths for the symbolicate crash app will vary from version to version of XCode but the ideas should be the same in each version.
Place your symbols where the symbolicator can find them: Place your symbols (.dsym) file in your Archives directory. You can find this by going to Organizer, context clicking on an archive and choosing "show in finder". Navigate up to the Archives directory (e.g. /Users/USERNAME/Library/Developer/Xcode/Archives) and place your dsym file there. It can be in other locations as well, it's just that I've verified that this one works.
Download the crash logs: In XCode, make sure that you've downloaded the crashlogs for the build you want to symbolicate (Organizer->Crashes, click on your app and then choose the version of your app in the panel to the right of the list of apps).
Locate the crash logs on disk: In the panel that has the App Version and build number, context click on one of the crashes and choose "Show in Finder". Navigate up to the "Crashes Folder" and note this location e.g.: /Users/USERNAME/Library/Developer/Xcode/Products/com.company-name.Your-App/VERSION/Crashes
Setup DEVELOPER_DIR for symbolicatecrash on the command line: Open a terminal window and CD to the crashes directory from step 3 and set the DEVELOPER_DIR like this: cd /Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/
export set DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
(this should be the location of the "Developer" directory inside of your XCode app bundle).
Locate the symbolicatecrash script: symbolicatecrash knows how to find your symbolicate crash logs using the dsym from step 1. Apple moves it around from version to version of xcode. You can find it like this: find /Applications/Xcode.app/ -name symbolicatecrash. In XCode 8, it is in /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
Backup your crashes folder You may want to backup your crashes folder (/Users/USERNAME/Library/Developer/Xcode/Products/com.companyname.Your-App/VERSION/Crashes/)
Symbolicate all of your crashes: Be sure that you are still in the Crashes directory from step 4 and type
for i in `find . -type f -name \*.crash`; do cat $i | /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash --output $i.sym; mv $i.sym $i; done;
This symbolicates each .crash file into an output file and then copies that back over the original, unsymbolicated file.
View Crashes Return to the crashes organizer and view the symbolicated crashes
I tried to copy symbolicatecrash file from xCode 7.2 and pasted it in xCode 7.3 in the following path:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/Current/Resources/
Am using Crasher script to symbolicate the crash reports How to use Crasher
According to the documentation of Xcode 9.0:
The Crashes Organizer symbolicates unsymbolicated logs, if they are
selected, using a local .dSYM indexed by Spotlight. (22550064)
You can check out more on this in Xcode's Documentation.

create installer to make google chrome shortcut of a site

is there a way to create installer to make google chrome shortcut of a site?
I made a web app and instead of trying to get multiple computers to type the url, I created a shortcut of chrome with this command.
--app=example.com/blah/blah
Is there a way that i can create an shortcut with the command and compile it, with an icon?
You don't need to point to Chrome if that is already the default web browser from the machine. All you need to create is an URL shortcut. All MSI authoring tools should be able to do that.
With the free edition of Advanced Installer you can do like this:
if you don't have AI, download and install it
launch the application and create a "Simple" project, like in the first step from this tutorial
then just create a shortcut to URL in the Files and Folders page, using the option "New Shortcut To -> URL... " and set the URL desired in the configuration dialog of the new shortcut.
save and build the project, the MSI will be generated and you can now install it on the desired machines
Download this sample project file to see how it looks if you have problems following the steps above.

Launch libgdx project on HTML 5 based browser platform

I want to launch my Libgdx project on HTML 5 platform but there is Error like
The type com.google.gwt.core.client.EntryPoint cannot be resolved. It is indirectly referenced from required .class files GwtLauncher.java /Digestive-System-html/src/com/me/mygdxgame/client
The project was not built since its build path is incomplete. Cannot find the class file for com.google.gwt.core.client.EntryPoint. Fix the build path then try building this project Digestive-System-html
I googled but unable to resolve this problem. Any help wiil appreciated
thanks...
Hello vishal to my knowledge if you go through this you can setup libgdx project on HTML 5 based browser platform.As of version 0.9.3, libgdx comes with an easy to use application called "Libgdx Setup".The following steps will create everything needed to develop for the desktop, android, html 5.
Download the gdx-setup-ui.jar from http://libgdx.badlogicgames.com/nightlies/dist/gdx-setup-ui.jar. The jar is also contained in all stable and nightly releases.
Execute the jar by double clicking it or from the command line via java -jar gdx-setup-ui.jar
Specify your project's configuration (Configuration Panel).Specify the libgdx stable/nightly release zip file or press one of the buttons to download the latest stable/nightly release (Library Selection Panel).
Hit the "Generate projects" button (Generation Panel)
Open Eclipse and import the generated projects into your workspace.
File -> Import -> Existing Projects into Workspace
Click "Browse", select the folder containing the generated projects.
Make sure all the projects are checked, then click "Finish"
To fix the error of the HTML5 platform, go to the "Problems" view, right click the error message "The GWT SDK JAR gwt-servlet.jar is missing in the WEB-INF/lib directory" and select "Quick Fix".
Click "Finish".

Jenkins/Hudson Upload to Testflight

I have a jenkins job using xcode to build my ipa file. That is all working great. Right now I just have the Marketing version set to ${BUILD_ID} and the technical version set to ${BUILD_NUMBER}. I also have Release configuration specified and my job is set to archive the ipa files as a post build action. I believe those combination of settings causes my resulting IPA file to be the following:
Target-Configuration-BUILD_NUMBER.ipa
So if my target was named BillyBob and this was the 23rd successful build, my resulting .ipa file is:BillyBob-Release-23.ipa
I want to setup a job or post-build action to upload my file to testflight on a successful build.
I can not figure out what to set the file parameter of the testflight API to so that it will always find the latest build file, I don't think there is a wildcard available or if there is I don't know how to set it.
Originally, when I wasn't setting the technical version as part of the build I had it just pointed to the -1.0.ipa version of the file it was creating and that would get uploaded fine.
I've tried using both the testflight plugin for jenkins and just a curl shell script command.
I will also point out that I'm not an iOS developer, I've just been trying to help the project by setting up the automated build, so my guess as to how that file is getting generated could be way off.
***UPDATE
So it looks like this current open issue is kind of what I am looking for
jenkins issue section
For now, I just had my job specify an output path that is the workspace of my upload to testflight job.
It looks like in the Testflight app, if you don't specify anything for the IPA file, it looks for one in the workspace directory of that job. So I could probably also put in a request to the testflight plugin to allow you to specify a path in the IPA setting and have it find the .ipa file in that path, that currently does not work.
If I was better at scripting I could probably also handle it in a shell command using the curl command to upload to testflight.
Leaving those fields empty in Jenkins fixed it for me.
If you do not specify the ipa/dsym file(s) they are searched for
automatically in the workspace.
As you can see from:
https://wiki.jenkins-ci.org/display/JENKINS/Testflight+Plugin
Version 1.3.1 (Jan 12 2012)
* Default IPA upload

Package SWF into an EXE or APP

I am trying to adjust my Flash development workflow so that I am using Flash Builder for all of my coding and multiple FLA files for the user interfaces. I will be creating an ActionScript project in Flash Builder and then having each FLA export a SWC into a resources folder.
It is important that I retain the ability to export PC and Mac -- EXE and app, respectively -- projector files. Is there a way of doing this with the Flash compiler or any 3rd party tools?
I know that mProjector and similar tools can do this, but I would like a solution that can be automated into my builds.
EDIT 5/14/2010 9:30 AM: One of my options is to use AIR, however...Flash Builder does not let you build an AIR application from an ActionScript project. Another option is to use Zinc...does Zinc have any command line options such that I can include that in my build process?
There are different options available:
Use AIR
Encapsulate your completed project in a fla (setting the document's class to your custom class) and then publish it as win/mac projector
Use a third-party application to convert swf to native executables. The best known option there is probably zinc
and really, You can pack everything into exe. For example, using flajector can convert the file into exe. and you will not need to think about ... was Flash player installed or not...application will be available in any case
you should have a look at zinc. also, if the machines you want to run on have AIR installed, you may simply wanna build an AIR app.
You can build an AIR application from a pure ActionScript project. Apparently it's not as obvious as it should be, but here's one way of doing it:
http://ted.onflash.org/2010/03/air-apps-using-actionscript-only.php
Also the very latest version of AIR (currently in RC stage, so stable enough to use, final version will be released soon) can package the app into an EXE so you don't need to install the AIR framework separately.
AIR packages can also be compiled from the commandline, so should be easy to integrate into a separate build process if you don't want to do it from the Flash Builder GUI.
Turning SWF into an iOS App/OS App via Xcode and Zinc 4.0 (will help Windows users part of the way)
Step 1:Be an iOS Developer with Working XCode, Provisioning Profile, etc.
Step 1: Download Zinc and Install it
Step 2: Using Zinc select to start a new project and pick the .swf file you want to turn into an app
Step 3: Build / Compile the app - this will create a .app and a .exe file if you select to build for all platforms when compiling
If you are a windows developer then this is as far as you go. Enjoy! If you are a mac/ios dev then continue on.
Step 4: Select your new projector file (.app) and click to 'Convert Projector into an XCode project under the 'Project' tab up top
NOTE - For anyone looking for their projector (or .app file on a mac) made by Zinc 4.0+ to turn into an XCode project, you may have to look in your file directory around the .swf file you used to build the projector in the first place. At first I was frustrated for a bit since I (the Finder on my mac) can easily find the new .exe file but it could not see the .app file with search
Step 5: Locate your new XCode project folder (in the same general place and with same name as your .app) and drag it into XCode
Step 7: Make sure your scheme is correct (Mac OSX or iOS), if it is not then go to build settings and go to 'Base SDK' and switch it to the correct one
Step 8: Check your provisioning, (while still in Build Settings) and select the right code signing and provisioning profile for your app, check your bundle id to make sure it will work too, if you get a problem with code signing after this and you are sure your profile is correct then put
--deep
in the 'Other Code Signing Flags' section
Note - My app was set up to be a mac app and so it had some #import calls that I had to remove and remove the reference to the Cocoa framework on the general section, and put in calls to and instead
Step 9: Archive the app to make the .ipa file and submit it to the app store/post it for ad hoc purposes/build it on a dev device
Note - If submitting to the app store/testflight you may want to look at your .ipa file after this whole process, normally an .ipa is just a fancy zip with a 'Payload' folder that contains your app (with a big cancel symbol over the icon) if after decompresing your ipa (after renaming the .ipa to .zip) you see that your top folder is not called Payload or that your app is actually contained in several folders, then make a new folder called 'Payload' move the icon with the cancel sign on it to the new folder and compress it into a .zip then rename the .zip into a .ipa and you should be good to upload the the app store or testflight