Xamarin: Xamarin and Oracle Join Forces to Build Better Enterprise Apps

Today, we joined Oracle as a technology partner for the launch of Oracle Mobile Cloud Service (MCS). Combining Xamarin’s strength in delivering consumer-grade native apps for iOS and Android with Oracle’s comprehensive mobile backend-as-a-service (mBaaS) offering, our partnership makes it simple and easy to deliver high-quality enterprise mobile apps. This collaboration enables developers to integrate […]

The post Xamarin and Oracle Join Forces to Build Better Enterprise Apps appeared first on Xamarin Blog.

Xamarin: Xamarin Test Cloud to Support Appium Framework

With Xamarin Test Cloud, our goal has always been to provide a mobile app testing service that developers love while solving the challenges that prevent testing from being a seamless part of the development process. Developers writing Xamarin Test Cloud tests have the choice of using Ruby and the Calabash testing framework or C# with Xamarin.UITest. […]

The post Xamarin Test Cloud to Support Appium Framework appeared first on Xamarin Blog.

Gone Mobile: Episode 27: Automated App Testing with Niels Frydenholm

Interested in getting started writing automated tests for your apps but don’t know where to start? In this episode we’re joined by Niels Frydenholm to talk about how his team set themselves up for success over at eBay.

Hosts: Greg Shackles, Jon Dick

Guest: Niels Frydenholm

Links:

Thanks to our Sponsors!

Raygun.io

Raygun.io – Exceptional Error Tracking
Raygun.io is the fastest and easiest way to track your application’s errors and get the level of detail you need to fix crashes quickly. Notifications are delivered right to your inbox and presented on a beautiful dashboard.

Xamarin: Connect to Customers with My Shoppe

Does your business have one or more storefronts? With the amount of competition today, it can be difficult to differentiate your shops from the masses. You need a convenient way to promote your business, enable customers to find you, and make it easy to find information about your offerings. What if you could combine all […]

The post Connect to Customers with My Shoppe appeared first on Xamarin Blog.

Jeff Prosise: From Zero to Hero in Xamarin Forms in 53 Minutes

Looking for a fast way to get up to speed on Xamarin Forms? There are tons of learning resources out there, including a series of articles I published this spring, the first of which can be found here. But while some developers prefer learning by reading, others find video training the best learning medium. Which is why I recorded a 53-minute video entitled Introduction to Xamarin Forms and conspired with the folks at WintellectNOW to make it available for free. It covers the basics of using Visual Studio 2015 and Xamarin Forms to build apps for iOS, Android, and Windows Phone, and it comes with 30 MB of downloadable sample code. In future videos, I’ll cover topics such as custom renderers and process lifetime management. For now, enjoy the inaugural video, and have fun learning Xamarin Forms!

 

imageRead more

Greg Shackles: Determining the Correct String for UIFont.FromName

We use a lot of different fonts throughout the different apps on our platform, and often it can be a little bit of a chore to figure out the correct string to feed to UIFont.FromName() in order to properly instantiate a font from the files. One approached I’ve used in the past is to throw some lines in my app’s startup code like this:

foreach (var family in UIFont.FamilyNames)  
    foreach (var fontName in UIFont.FontNamesForFamilyName(family))
        Console.WriteLine(fontName);

Then I could quickly skim the output, pick out the name I was looking for, and move on with my life. This works, but it’s a bit tedious and requires manual work every time. Neither of those really sits well with me.

I recently came across LCDF Typetools which is a nice little set of tools, including otfinfo. You can get these tools in a variety of ways. I went with Homebrew, which is nice and simple:

brew install lcdf-typetools  

Here’s what the output of otainfo looks like:

+ otfinfo -i SourceSansPro-Light.ttf
Family:              Source Sans Pro Light  
Subfamily:           Regular  
Full name:           Source Sans Pro Light  
PostScript name:     SourceSansPro-Light  
Preferred family:    Source Sans Pro  
Preferred subfamily: Light  
Version:             Version 2.010;PS Version 2.0;hotconv 1.0.78;makeotf.lib2.5.61930  
Unique ID:           2.010;ADBE;SourceSansPro-Light;ADOBE  
Designer:            Paul D. Hunt  
Manufacturer:        Adobe Systems Incorporated  
Vendor URL:          http://www.adobe.com/type  
Trademark:           Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.  
Copyright:           Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.  
License URL:         http://scripts.sil.org/OFL  
License Description: This Font Software is licensed under the SIL Open Font License, Version 1.1.

This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.  
Vendor ID:           ADBE  

In this case we’re looking specifically for PostScript name. It wouldn’t be difficult to parse this output to get it, but thankfully they have us covered and have a flag for just returning that name:

+ otfinfo -p SourceSansPro-Light.ttf
SourceSansPro-Light  

Perfect! No extra parsing needed. As I’ve documented before, I use F#/FAKE for all of my build scripting, so naturally I needed to try hooking this up into that as well:

Target "font-test" (fun () ->  
    ExecProcessAndReturnMessages (fun p ->
        p.FileName <- "otfinfo"
        p.Arguments <- "-p SourceSansPro-Light.ttf"
    ) (TimeSpan.FromSeconds 30.)
    |> fun response ->
        match response.ExitCode with
        | 0 -> 
            let postscriptName = response.Messages.[0]

            printfn "PostScript Name: %s" postscriptName
        | 1 -> failwith "Error processing font file"
)

Xamarin: Xamarin Test Cloud Now Available to All Xamarin Developers

We started Xamarin because we want to help developers build apps they can be proud of and provide you with the tools you need to ensure that your apps do what they were designed to do. A user’s perspective about you or your business is greatly impacted by your mobile app. A crash, a hang, […]

The post Xamarin Test Cloud Now Available to All Xamarin Developers appeared first on Xamarin Blog.