Getting console output of mac os app without using xcode - xcode

I am able to debug iOS apps on other machine without using xcode (even on windows) by using the iPhone Configuration Utility tool from Apple. More info here:
http://developer.apple.com/library/ios/#qa/qa1747/_index.html
But for macos apps, I cannot find a similar tool for debugging apps on a non-developer mac. I am new to this and would appreciate some help from experienced developers how is this typically done on real world.

You can get console output and crashlogs for os x applications from the console app.
You'll find it inside the Utility folder of your Applications folder. Or simply open spotlight and type "console"

Related

How to get macos app signing set up for packages

I am new to macOS development and am having a terrible time trying to get my code signed. The documentation to me seems to be horrible.
My specific situation...
I am building a cross-platform app that runs on Linux, Windows, macOS and eventually iOS and Android.
It is a console app that runs as a service or LaunchDaemon
It has a UI served by WebView, http, or console commands depending on the scenario.
It is built with Go 17 in VScode.
I am not using xCode other than the command line tools.
My goal on macOS it to distribute it as a package (pkg) and not as an app.
I have been using MunkiPkg to build it
I am hung up on understanding how the various certificates need to be set up. I have not been able to get a successfully signed package notarized.
Can someone please point me to some documentation that explains how my scenario works? Most of what I found requires it to be built in xCode. And the Apple docs seem mostly to focus on how great their tools are without actually explaining how to use them.
Help!

Creating a Mac OS application installer from .Net Core project

I am completely new to Mac OS and I have an application written in .Net Core codebase. Now all I want is to get it installed on Mac OS machines. My question is how can I create an installer (.DMG) file? At the moment My Visual Studio on Windows has created a .dll file with all other dependencies in the folder. Also for now most of the configuration values I have hard-coded but in the release build it has to be chosen by an end-user. So how can I prompt them for required directories? If you can provide me a link for documentation tool or any kind of suggestion would be greatly appreciated. At the moment if I want to run my application on Mac I have to use Terminal and then dotnet myApplication.dll in order to run application. My end goal would be to ask user for all required file paths and at the end create a System level Daemon (similar to windows service) to keep it always Alive. Would Xcode help in this situation? I already tried to open my .Net core project using xcode but it failed to load saying unsupported proect type.
Thanking in advance for your help!
If you wanted to use the standard macOS Installer to distribute your .net Core app, you would need to create a .pkg file. There seem to be ways to do this on the console or with Third Party Tools
sudo pkgbuild -install-location /Applications -component /path/to/your/application ./Desktop/YourPackage.pkg
There is an older manpage for pkgbuild, or you can try running man pkgbuild on your Mac.
I haven't tried this, but creating a .pkg is the normal way to install stuff on a Mac for applications where you can't just drag/drop the .app into the Application folder. (macOS applications are actually Directories with a special structure)
A .DMG is just a disk image - it doesn't "do" anything, it's just a container for files. You can create one with Disk Utility.

If cocoa app crashes where is stacktrace /crash log stored?

I am new to mac and cocoa development. When a cocoa app crashes there is a windows that asks the user to report crash log to apple. I want to write a customized reporting component. So I want to know if crash reports /log are automatically stored somewhere are these simple text files or core dumps ?
I am looking to support 10.5 to 10.8
Crash logs can be found in a number of places.
In MacOS 10.8 (and I believe also 10.7) crash logs would be "~/Library/Logs/DiagnosticReports" or "/Library/Logs/DiagnosticReports" (the first is for crashes for user apps and the second is for system-wide apps).
Now instead of "reinventing the wheel", you may want to consider third party alternatives that can generate and return crash reports to you. Wikipedia lists these:
Unsanity developed an Input Manager called Smart Crash Reports, that
patches Apple software to include a "submit to developer" button
within Crash Reporter. Smart Crash Reports only works with Mac OS
X 10.4 and 10.5.
Uli Kusterer wrote UKCrashReporter, which can send the output of Apple's Crash Reporter to a developer the next time the
application is started.
CMCrashReporter is a small opensource framework, which can send the crashlog to the developer (via HTTP POST) and let the user
enter optional details.
ILCrashReporter-NG, a fork of Infinite Loop's ILCrashReporter (which was for Mac OS X 10.2-10.5); current OS support unknown
plcrashreporter Plausible CrashReporter provides an in-process crash reporting
framework for use on both the iPhone and Mac OS X
Google Breakpad, an open-source multi-platform crash reporting system

AppleScript that used to work reported as Broken on newer OSX version

An Applescript that used to work on OSX 10.6.8 is reported as broken when run on 10.8.6. The script is compiled as an Application on 10.6.8. Why is this?
Running the .applescript text version of the script in the editor works fine.
This is due to the new GateKeeper feature in OSX that only allows signed applications to be installed, or even just programs downloaded from the Mac App Store.
http://support.apple.com/kb/ht5290
For normal programs you get a security warning telling you that the program cannot be run because it isn't signed.
With Apple scripts it seems that you simply get an error telling you that the program is broken.
To fix this this:
Open System Preferences
Security and Privacy:
Under the General tab set:
Allow Applications Downloaded from: Anywhere

Blackberry Development on Mac OS X

I recently started creating applications for mobile devices and have successfully completed an application for the iPhone. I am now turning my attention to the Blackberry but haven't been able to find a convincing article or website that states that it can be done or a tutorial on how to do so. Can Blackberry apps be developed on Mac OS X? If yes, how do I go about doing so? Can anyone please point me in the right direction as I only have access to a Mac and really want to get this project on the road. Thanks in advance for your help.
UPDATE:
RIM has released a MacOS Eclipse plug-in for Blackberry Development: http://na.blackberry.com/eng/developers/javaappdev/macosx.jsp
While there is no built-in simulator, the plug-in DOES support USB tethered device debugging for the Torch 9800 handhelds. I plan to get one; they are ~$499 w/no contract. With a Torch and the new plug-in, Blackberry development is possible without using a VM. (Finally!)
PREVIOUS POST:
Building on MacOS works well once you set it up. I've had less luck with the simulator. On the whole though, being able to run Eclipse natively in MacOS and flip to a Windows VM only for debugging is a big win in my book.
You can get a MacOS version of preverify (see link below for details). I do my development with Eclipse on MacOS X and use Ant to build BB apps.
This blog is excellent and has many of the details to get you started:
http://www.azizuysal.com/2009/07/blackberry-development-on-mac-os-x.html (original link is dead. The "wayback machine" provides us with the original text content, but images and styling are lost to the sands of time. Still worth a read.)
The tricky part is getting the simulator to work. There is a Wine-based work-around, but on my computer, while the simulator was able to run under Wine, the LCD output was scrambled.
Currently, I build COD files from Mac, and my Ant build process drops them into a directory that is shared with a WinXP VM. I can run the simulator stand-alone in this VM. Debugging is also possible by installing Eclipse inside WinXP and pointing the debug configuration it at the source directories.
I've actually got a bit more magic. I enabled some of the Java 1.5 features by compiling against 1.5 and then translating the bytecode to 1.3 prior to the preverify script. (Blackberry only speaks a barbaric 1.3 java, flashback to circa 1992). It's not a silver bullet as some features still don't work, but it does cut down on the need to make everything an untyped Object reference.
Lately, I've been working on a x-platform framework to allow me to write app code once and build against both Android and Blackberry (both are Java). The Android part was easy. It's just a bitch to debug anything in Blackberry. Someone working at RIM decided that Blackberry didn't need to keep Exception stack traces unless there was a catch(Throwable), and then they could do something bizarre, non-standard, and undocumented (catching Throwable behaves weird). I've only kinda-sorta figured out a hack to get stack traces using JavaLoader.exe without breaking into the debugger, and it's barely worth it.
p.s., I now do x-platform development with a single code-base targeting Android, Blackberry, and Desktop. Desktop is great for testing app functionality, with very little Blackberry on-device testing needed once features work in the desktop 'simulator' (a Swing GUI built for debugging our games).
Even though certain components of the RIM development platform are java-based, such as the JDE - other components such as the preverifier and device simulators are implemented as native Windows executables.
Basically, the easiest way to do it is to install Windows on your Mac using Bootcamp or Parallels and run inside a real Windows environment on your Mac.
However, there are other "hackier" ways to do it using Wine, MacPorts, and a number of other tools - as an example see this blog post

Resources