Microsoft Remote Desktop for Mac

Microsoft released their new remote desktop client for mac on October 17th, 2013. This comes after HLW Software Development (developer of iTap RDP for iOS, Mac and Android) announced they were discontinuing their products on October 8th.

This had us worried since we have multiple customers that use iTap on their Mac and iOS devices and we always have more customers that need to be set up. Since the iTap products were the only RDP apps for Mac and iOS that could work with a Terminal Server Gateway it didn’t us any other options. Luckily, Microsoft announced their new RDP clients, based on the iTap codebase, only 9 days after discontinuing the iTap products.

The new apps are not only a rebranding of the existing software, they contain a few enhancements. The greatest enhancement, for us and our clients anyway, is RemoteApp integration. That allows single apps to be run from a RDP session similar to what Parallels Coherence and VMWare Fusion Unity does for local VMs.

By clicking on Remote Resources you can enter the address of your RDWeb URL, your username and password and be presented with a list of published RemoteApps. This gets us one step closer to being able to recommend Apple devices to our clients without worrying about computability with Microsoft systems.

The Mac version can be found on the Mac App Store.

RubyMotion iOS 5 Appearance API

iOS 5 introduced the appearance API so that developers could customize the appearance of certain UI elements throughout the entire application without subclassing those controls.

For example, to change the appearance of a UINavigationBar you can set the appearance in the app delegate with the following code:

navigationBar = UINavigationBar.appearance
navigationBar.setBackgroundImage(UIImage.imageNamed('navigation-bar-background.png'), forBarMetrics: UIBarMetricsDefault)
navigationBar.setTitleTextAttributes({
  UITextAttributeFont => UIFont.fontWithName('Trebuchet MS', size:24),
  UITextAttributeTextShadowColor => UIColor.clearColor,
  UITextAttributeTextColor => '#2a3284'.to_color
})

I had to use the hashrocket => instead of the new colon notation since using the colon notation resulted in the key constants being turned into symbols.

The .to_color helper is part of the BubbleWrap library. I’ll talk about that library in a separate post.

RubyMotion Launch Image

There is no way to specify a launch image directly in the Rakefile with the standard RubyMotion config options. The launch image is considered an advanced configuration option and can be set using the advanced plist settings technique which is detailed here: Advanced Info.plist Settings.

Basically you just use the app’s info_plist property to set any keys or values necessary in the Info.plist file that RubyMotion does not expose configuration options for.

I added this to my Rakefile to make it happen:

app.info_plist['UILaunchImageFile'] = 'launch'

Here, ‘launch’ is the base name for the images. This means that the filenames would look like this:

launch.png : 320 x 480px
launch@2x.png: 640 x 960px
launch-568h@2x.png : 640 x 1136px