Uml Tool For Mac Xcode

  

Netbeans runs on Windows, Solaris, Linux and Mac, and it is primarily intended for java; and with add on it supports C, C, HTML5, PHP and JS. Netbeans framework simplifies the development of Windows-based applications. With an update center module, Users can download the updates alone and upgrade the applications.

  1. Mac OS 7 (v2.x-v4.x only) C and C#: Yes Yes Yes Yes Yes Yes Yes Yes Yes 2019-04 Yes Yes Yes (also plugin) Microsoft Visual Studio Code: MIT: Yes Yes Yes TypeScript JavaScript CSS: Yes No Yes No No Yes No Yes Yes 2020-09 External External Requires language server support: MonoDevelop: LGPL: Yes Yes Yes FreeBSD, OpenBSD, Solaris: C#: Yes Yes.
  2. Powerful Visual Modeling Tools on Mac OS X While many Mac UML diagramming tools provide very limited support in UML notations (and even out-of-date), Visual Paradigm supports the latest UML 2.x standard. You can draw latest UML diagrams on Mac!

The upcoming macOS 10.15 Catalina will require more apps and tools to be notarized. Apple has some loosened the requirements at last minute, but these changed limitations are only temporary, to give developers more time to adapt.

Notarizing Mac Application bundles has its pitfalls, but is overall fairly well documented. However, I have been working on some command line tools written in Swift 5 and figured out how to get those properly signed and notarized.

Howard Oakley has written up his experiences and that post was extremely helpful. But there were a few omissions and some steps that aren’t really necessary, so I decided to make my own write-up.

And yes, there is a script at the end…

Note: these instructions are for macOS 10.14.6 Mojave, Xcode 10.3 and Swift 5.0. It is very likely that the details will change over time.

Update 2019-09-24: Tested with Xcode 11 and it still works (the screen layout has changed for some of the options)

What do you need?

  • Apple Developer Account (Personal or Enterprise, the free account does not provide the right certificates)
  • Xcode 10.3 or 11
  • Developer ID Certificates (Application and Install)
  • Application Specific Password for your Developer account
  • a Command Line Tool Project that you want to sign and notarize

That’s a longish list. If you are already building command line tools in Xcode, you should have most of these covered already. We will walk through the list step-by-step:

Apple Developer Program Account

You need either the paid membership in the Apple Developer Program or be invited to an Apple Developer Enterprise Program team with access to the proper certificates.

You cannot get the required certificates with a free Apple Developer account, unless you are member of a team that provides access.

Xcode

You can download Xcode from the Mac App Store or the developer download page. When you launch Xcode for the first time, it will prompt for some extra installations. Those are necessary for everything to in the article to work.

Xcode

Developer ID Certificates

There are multiple certificates you can get from the Developer Program. By default you get a ‘Mac Developer’ certificate, which you can use for building and testing your own app locally.

To distribute binaries (apps and command line tools) outside of the App Store, you need a ‘Developer ID Application’ certificate. To sign installer packages for distribution outside of the Mac App Store, you need a ‘Developer ID Installer’ certificate.

We will need both types of Developer ID certificates, the first to sign the command line tool and the second to sign and notarize the installer package.

If you have not created these yet, you can do so in Xcode or in the Developer Portal. If you already have the certificates but on a different Mac, you need to export them and re-import them on the new Mac. Creating new certificates might invalidate the existing certificates! So beware.

Once you have created or imported the certificates on your work machine, you can verify their presence in the Terminal with:

This command will list all available certificates on this Mac. Check that you can see the ‘Developer ID Application’ and ‘Developer ID Installer’ certificates. If you are a member of multiple teams, you may see multiple certificates for each team.

You can later identify the certificates (or ‘identities’) by the long hex number or by the descriptive name, e.g. 'Developer ID Installer: Armin Briegel (ABCD123456)'

The ten character code at the end of the name is your Developer Team ID. Make a note of it. If you are a member of multiple developer teams, you can have multiple Developer ID certificates and the team ID will help you distinguish them.

Application Specific Password for your Developer Account

Apple requires Developer Accounts to be protected with two-factor authentication. To allow automated workflows which require authentication, you can create application specific passwords.

Create a new application specific password in Apple ID portal for your developer account.

  • Apple Support: Using app-specific passwords

You will only be shown the password when you create it. Immediately create a ‘New Password Item’ in your Keychain with the following fields:

  • Keychain Item Name: Developer-altool
  • Account Name: your developer account email
  • Password: the application-specific password you just created

This will create a developer specific password item that we can access safely from the tools.

If you want, you can also store the app specific password in a different password manager, but the Xcode tools have a special option to use Keychain.

A Command Line Tool Project

You may already have a project to create a command line in Xcode. If you don’t have one, or just want a new one to experiment, you can just create a new project in Xcode and choose the ‘Command Line Tool’ template from ‘macOS’ section in the picker. The template creates a simple “Hello, world” tool, which you can use to test the notarization process.

My sample project for this article will be named “hello.”

Preparing the Xcode Project

The default settings in the ‘Command Line Tool’ project are suitable for building and testing the tool on your Mac, but need some changes to create a distributable tool.

Choosing the proper signing certificates

Before you can notarize the command line tool, it needs to be signed with the correct certificates.

  1. in Xcode, select the blue project icon in the left sidebar
  2. select the black “terminal” icon with your project’s name under the “Targets” list entry
  3. make sure the ‘General’ tab is selected
  4. under ‘Signing’ disable ‘Automatically manage signing’
  5. under ‘Signing (Debug)’ choose your Team and choose ‘Developer ID Application’ as the certificate
  6. under ‘Signing (Release)’ choose your Team and choose ‘Developer ID Application’ as the certificate

Enable Hardened Runtime

Enabling the ‘Hardened Runtime’ will compile the binary in a way that makes it harder for external process to inject code. This will be requirement for successful notarization starting January 2020.

  1. from the view where you changed the signing options, click on ‘Build Settings’ in the upper tab row
  2. click on ‘All’ to show all available settings
  3. enter ‘enable hardened’ in the search field, this will show the ‘Enable Hardened Runtime’ setting
  4. set the value in the project column (blue icon) to YES

Uml Tool For Mac Xcode Editor

Change the Install Build Location

If we want to automate the packaging and notarization, we need to know where Xcode builds the binary. The default location is in some /tmp subdirectory and not very convenient. We will change the location for the final binary (the ‘product’) to the build subdirectory in the project folder:

  1. in the same view as above, enter ‘Installation Build’ in the search field, this will show the ‘Installation Build Products Location’ setting
  2. double click on the value in the Project column (blue icon), this will open a popup window
  3. change the value to $SRCROOT/build/pkgroot

If you manage your code in git or another VCS, you want to add the build subdirectory to the ignored locations (.gitignore)

Build the Binary

You can use Xcode to write, test, and command line tool debug your. When you are ready to build and notarize a pkg installer, do the following:

  1. open Terminal and change directory to the project folder
  2. % xcodebuild clean install

Xcode For Mac

This will spew a lot of information out to the command line. You will see a build subdirectory appear in the project folder, which will be filled with some directories with intermediate data.

After a successful build you should see a pkgroot directory in the build folder, which contains your binary in the usr/local/bin sub-path.

/usr/local/bin is the default location for command line tools in the Command Line Tool project template. It suits me fine most of the time, but you can change it by modifying the ‘Installation Directory’ build setting in Xcode and re-building from the command line.

Build the pkg

Command Line Tools can be signed, but not directly notarized. You can however notarize a zip, dmg, or pkg file containing a Command Line Tool. Also, it is much easier for users and administrators to install your tool when it comes in a proper installation package.

We can use the pkgroot directory as our payload to build the installer package:

I have broken the command into multiple lines for clarity, you can enter the command in one line without the end-of-line backslashes . You want to replace the values for the identifier, version and signing certificate with your data.

This will build an installer package which would install your binary on the target system. You should inspect the pkg file with Pacifist or Suspicious Package and do a test install on a test system to verify everything works.

If you want to learn more about installer packages and pkgbuild read my book “Packaging for Apple Administrators.”

Notarizing the Installer Package

Xcode has a command line tool altool which you can use to upload your tool for notarization:

The username is your developer account email.

The asc-provider is your ten digit Team ID. If you are only a member in a single team you do not need to provide this.

The password uses a special @keychain: keyword that tells altool to get the app-specific password out of a keychain item named Developer-altool. (Remember we created that earlier?)

This will take a while. When the command has successfully uploaded the pkg to Apple’s Notarization Servers, it will return a RequestUUID. Your notarization request will be queued and eventually processed. You can check the status of your request with:

Apple will also send an email to your developer account when the process is complete. I my experience this rarely takes more than a minute or two. (Being in Central EU time zone might be an advantage there). When the process is complete, you can run the above notarization-info command to get some details. The info will include a link that contains even more information, which can be useful when your request is rejected.

Note that the info links expire after 24 hours or so. You should copy down any information you want to keep longer.

Completing the Process

You will not receive anything back from Apple other than the confirmation or rejection of your request. When a Mac downloads your installer package and verifies its notarization status it will reach out to Apple’s Notarization servers and they will confirm or reject the status.

If the Mac is offline at this time, or behind a proxy or firewall that blocks access to the Apple Servers, then it cannot verify whether your pkg file is notarized.

You can, however, ‘staple’ the notarization ticket to the pkg file, so the clients do not need to connect to the servers:

You can also use stapler to verify the process went well:

But since stapler depends on the developer tools to be installed, you should generally prefer spctl to check notarization:

Automating the Process

Obviously, I built a script to automate all this. Put the following script in the root of the project folder, modify the variables at the start of the script (lines 20–38) with your information, and run it.

The script will build the tool, create a signed pkg, upload it for notarization, wait for the result, and then staple the pkg.

View the code on Gist.

You can use this script as an external build tool target in Xcode. There are other ways to integrate scripts for automation in Xcode, but all of this is a new area for me and I am unsure which option is the best, and which I should recommend.

Links and Videos

These links and videos, especially Howard Oakley’s post and Tom Bridge’s PSU Presentation have been hugely helpful. Also thanks to co-worker Arnold for showing me this was even possible.

  • Howard Oakley: Building and delivering command tools for Catalina
  • Tom Bridge: PSU Conference Talk and Followup
  • Apple Support: Notarizing Your Mac Software for macOS Catalina
  • Apple Support: Using app-specific passwords
  • Apple Developer: Notarizing Your App Before Distribution
  • WWDC 2019: All About Notarization
  • WWDC 2019: Advances in macOS Security
  • Apple Developer: Resolving Common Notarization Issues

Going forward

Notarization is a key part of Apple’s security strategy going in macOS.

As MacAdmins we will usually deploy software through management systems, where the Gatekeeper mechanisms which evaluate notarization are bypassed. There are, however, already special cases (Kernel Extensions) where notarization is mandatory. It is likely that Apple will continue to tighten these requirements in the future. The macOS Mojave 10.14.5 update has shown that Apple may not even wait for major releases to increase the requirements.

If you are building your own tools and software for macOS and plan to distribute the software to other computers, you should start signing and notarizing.

On the other hand, I find the introduction of Notarization to macOS encouraging. If Apple wanted to turn macOS into a “App Store only system” like iOS, they would not have needed to build the notarization process and infrastructure. Instead, Apple seems to have embraced third-party-software from outside the App Store.

Uml Tool For Mac Xcode

Notarization allows Apple to provide a security mechanism for software distributed through other means. It cannot be 100% effective, but when used correctly by Apple and the software developers it will provide a level of validation and trust for software downloaded from the internet.

/Mac Uninstaller /How to Uninstall Xcode on Mac Completely [2021 Update]

Today, Let's discuss how to uninstall Xcode on Mac to free up more space.

Xcode is created by Apple as one of the best developer’s toolkits that they can use for iOS and Mac app development. However, the projects that are made using Xcode will take up a huge space on your Mac’s storage.

If you want to get rid of Xcode 10, 11, 12 or other versions to free up more space on your Mac, we will show you about the tactics to uninstall Xcode on Mac as follow. Just keep on reading to find out!

Article GuidePart 1. Do I Need Xcode on My Mac?Part 2. How to Completely Delete Xcode on Mac?Part 3. How to Uninstall Xcode on Mac ManuallyPart 4. How to Delete Xcode Files Quickly from MacPart 5. Conclusion

Part 1. Do I Need Xcode on My Mac?

Xcode is a package wherein it is used to develop some tools on your Mac and iOS operating system. This actually includes several types of utilities that are actually useful and is required for a development process for applications.

Having this program installed on your Mac is just as simple as downloading it from the Mac store. But making use of the Xcode app for a long period of time can actually make gigabytes of data in your cached. The worst part of it is that it can even eat up some of your storage space even after your work is done. Some of its additional aspects can include other things like the Interface, iPhone Simulator, Quartz Composer, Dashcode, dtrace, perl, python, ruby, and so much more.

This app will also create a lot of temporary cache files and as time pass by, these files will become hidden and will take up your storage space, eventually make your Mac running slow. Also, these junks will slow your Xcode down, and worst, it will become unresponsive.

So, do you need Xcode on your Mac? Now, if this happens to your Mac, there might be a need for you to clean your Xcode by deleting some apps and all of your old caches. However, this cannot be done with just a normal process of uninstalling it if you want to clean uninstall xcode.

When you are going to uninstall Xcode on Mac, it is not as simple as dragging the icon to your Trash. This will not uninstall your Xcode completely. Some of its cache, files, and other things associated with it will remain in your hard drive.

With this issue, there are actually several questions that you might be dealing with now:

  • Is it safe to delete Xcode?
  • Can I delete Xcode from my Mac?
  • Can I completely uninstall the Xcode from my Mac?

The answer to these questions is really simple and it is a big YES! We have included here ways on how you can actually completely remove the Xcode app from your Mac together with all the files that are associated with this app. And doing this will actually give you more disk space for your new apps and files and it will also boost the speed performance of your Mac.

Full Solutions to uninstall Xcode on Mac including 10, 11, 12 or other versions are as follow.

Part 2. How to Completely Delete Xcode on Mac?

How to Completely Delete Xcode from Mac? Now that you are able to clean up any Xcode build files on your Mac PC using the iMyMac PowerMyMac, then the next thing that you should do is for you to completely remove Xcode from your Mac PC.

PowerMyMac allows you to uninstall all the apps like Microsoft Office that you no longer need from your Mac, then you can save more space to store other files or apps that you want. It will also help you locate the images on your Mac and get rid of the unnecessary photos to boost the speed performance of your Mac PC.

Before you delete some files from your Mac PC, you will be able to preview them first. This means that all the things or actions will be in control. Follow the steps below on how to completely uninstall xcode 10 or other versions:

Step 1. Download and Install iMyMac PowerMyMac on Your Mac

Download the iMyMac PowerMyMac for free from the official website https://www.imymac.com and then have it installed on your Mac PC. Then go ahead and run the program. Select the module “Uninstaller”.

Step 2. Scan All The Softwares on Your Mac

After choosing the Uninstaller, go ahead and click the Scan button. The program will then start scanning your applications on your Mac automatically.

Step 3. Choose and Clean The Unneeded Xcode on Mac

Once that the scanning is complete, you will be able to see all the software listed on your main screen. From that list, go ahead and choose the Xcode app. If you just want to delete older versions of Xcode, you can only choose the versions you want to remove and remain the latest version. After selecting that, go ahead and click on the Clean button to remove Xcode and the related files. That's all, how easy it is to uninstall Xcode on Mac with PowerMyMac!

Tip: Powerful Features of iMyMac PowerMyMac:

  • It is powerful to uninstall apps or software unsafe/useless from your Mac PC.
  • It is quick and efficient when it comes to scanning your Mac
  • It will help you remove all the software together with its associated files that you no longer need.
  • It will be able to show you all the scanned results and sizes, time, and more.

Part 3. How to Uninstall Xcode on Mac Manually

We are going to show you here that standard method on how you can remove your Xcode 10, 11 or other versions from your Mac PC.

Here are the steps that you need to take to uninstall Xcode on Mac:

  1. Go to your Applications folder.
  2. Drag the Xcode icon to your trash.
  3. Clean up your Trash bin.

Doing this will remove the main app. Let us proceed and remove the rest of your Xcode files.
All you have to do is to follow these simple instructions. Please keep in mind that you have to follow instructions carefully for you to avoid having bad consequences:

  1. Launch Finder on your Mac.
  2. From the menu, go ahead and click Go.
  3. After that, go ahead and go to Folder.
  4. Go to ~/Library/Developer/.
  5. After that, look for Developer folder.
  6. Once you find that folder, delete it.

If you are actually using the earlier version of Xcode on your Mac like the 7 or 8, they will definitely leave some marks all over the place.

Now, for you to remove these marks or your old Xcode, proceed and do the following steps:

  1. Launch Terminal on your Mac.
  2. Run this access sudo: /Developer/Library/uninstall-devtools --mode=all.
  3. Enter and confirm your admin password.
  4. This point, the script will run on your Mac. Wait for it to finish.
  5. One the script is done running, go ahead and quit the Terminal.

Now, there is just one more thing that you need to do for you to remove Xcode application cache completely from your Mac PC. In some cases, on some versions of the app, they are actually left during purging so if this is the case, you can go ahead and visit this directory.

This is for you to be assured that there are no files left:

  1. Search -/Library/Caches/com.apple.dt.Xcode file on Mac.
  2. If you found out that there are some files left, you can go ahead and simply clean up the folder.

Once that you have fully removed all the traces of Xcode on your Mac PC, go ahead and reinstall the app. This time, you should be able to experience a faster experience using your Mac. You will also have more space on your Mac after you delete Xcode on Mac.

If you also want to uninstall Xcode command line tools, just follow the steps below:

  1. Find the tool in this directory '/Library/Developer/CommandLineTools' and delete it.
  2. Launch the Terminal, enter this command 'sudo rm -rf /Library/Developer/CommandLineTools' and hit enter to remove it.
  3. You also need to reset the default command-line tools by entering this command 'sudo xcode-select -r'

Part 4. How to Delete Xcode Files Quickly from Mac

If you want to clean uninstall Xcode on Mac, you must remove the related files. About clean old file, here is the easiest way to do with iMyMac. If you are thinking that doing the manual way on deleting your Xcode on your Mac is too risky, we are going to show you another simplest and easiest method without having any risk.

Here are what you need to do using the iMyMac PowerMyMac:

  1. Launch the iMyMac PowerMyMac on your Mac and choose Master Scan from the left panel of your screen.
  2. Click on the Scan button.
  3. Choose the Xcode Junk from the category of junk files shown on your screen.
  4. After that, go ahead and click on the Clean button.

From here, you will be able to free up some of your storage space and boost up the speed performance of your Mac PC.


Part 5. Conclusion

Xcode is commonly used by developers of Mac app and for other iDevices. However, not all people will know about this because it is unlikely to be used. This is the reason why some users would want to uninstall Xcode on Mac. You can drag them to your Trash Bin but there will always be some file residue that will stay.

Luckily, we have here ways on how you can do this. You can either do it manually or in the easiest way using the iMyMac PowerMyMac. Doing this will maintain your Mac’s performance and will let you have more of your storage space which will give you the privilege to store other applications or files that you most need.

ExcellentThanks for your rating.

Rating: 4.4 / 5 (based on 71 ratings)

People Also Read:

PowerMyMac

A powerful all-in-one App for Mac

Free Download
Comment ()

Davy2018-12-19 06:04:06

I have had the Xcode 10beta installed on my Mac but I always get a crash error during the course I take on Xcode, so I dragged it to trash but left some files. Thanks for your tips, now I have removed it completely!

iMyMac2018-12-19 09:13:05

Happy to hear that.

Clean up and speed up your Mac with ease

Free Download