TestFlight Beta Testing from iTunes Connect

If you’ve been using the TestFlight website to upload and distribute test builds of your Adobe AIR apps then you’ll probably be aware that the service has moved. Apple acquired TestFlight in February and have now integrated it within iTunes Connect. So here are a few useful tips for uploading your app for TestFlight beta testing within iTunesConnect.

Download Adobe AIR 16+

Apple now insist that all apps submitted to the App Store must include 64-bit support. This restriction also applies to any builds you upload to iTunes Connect for beta testing.

Thankfully Adobe AIR 16 introduced support for 32-bit and 64-bit iOS platforms. The AIR 17 beta SDK has improvements over AIR 16, allowing it to compile for both platforms in parallel, cutting packaging times by fifty percent.

I’ve actually been using AIR 16 for a current project and its builds can be uploaded for beta testing without any problems. But you might as well take advantage of the improved compilation times provided by the AIR 17 beta SDK.

Distribution Certificate and Provisioning Profile

The TestFlight website let you upload apps that had been built with a development certificate. However, in order to submit a beta build via iTunesConnect you’ll need to generate and use a distribution certificate. This can be done by generating an App Store and Ad Hoc production certificate from the iOS Dev Center.

You’ll also need to create a Distribution Provisioning Profile and associated your distribution certificate and your app’s App ID with it.

Update your App Version Number

Before making a build and submitting it, you’ll need to update your app’s version number. This can be done by editing your application descriptor file (-app.xml). Simply increment the value of its versionNumber tag:

<versionNumber>0.0.3</versionNumber>

You’ll need to increment this value every time you submit a new build for beta testing. If you don’t, then the submission will be rejected for having a version number identical to an existing build.

Beta Entitlements

Staying within your application descriptor file, you’ll also need to set the correct beta entitlements. Add the following XML:

<Entitlements>
  <![CDATA[
    <key>get-task-allow</key>
    <false/>
    <key>beta-reports-active</key>
    <true/>
  ]]>
</Entitlements>

It’s important you remember to do this. If you submit your build to iTunes Connect without these entitlements, it will be accepted, but testers won’t be able to gain access to it. Worse still, you can’t delete builds from iTunes Connect, leaving you with no choice but to increment your app’s version number and submit a brand new build. Remember, once a build has been successfully submitted you can’t upload another build that has the same version number.

NOTE: If you’re making a build for yourself using a development certification and development provisioning profile then you’ll need to remove the entitlements XML from your application descriptor file. This is a nuisance but the easiest way to deal with it is simply to comment-out your entitlements XML when you don’t need it, and then remove the comments when you’re creating a beta build for upload to iTunes Connect.

Here’s how your application descriptor file should look after commenting out the entitlements:

<!--<Entitlements>
  <![CDATA[
    <key>get-task-allow</key>
    <false/>
    <key>beta-reports-active</key>
    <true/>
  ]]>
</Entitlements>-->

Upload using Application Loader

The final step is to upload your builds. If you’ve been using the TestFlight website you’ll be used to simply dragging and dropping your files onto a web page. To submit your content to iTunes Connect you’ll need to use the latest version of Application Loader. You can download Application Loader from the iTunes Connect website.

I hope all that was of some help to you guys.

Careers Hub Interactive

Here’s a video of an app I worked on last year, but for one reason or another, forgot to actually blog about.

The Careers IT Seat Interactive is an iPad application that was developed as part of the Glasgow Science Centre’s Careers Hub exhibit. It consists of a series of games and quiz style questions designed to challenge and entertain visitors as they discover their ideal career based on their personality. The app is accessible through seven iPads mounted in seated pods at the science centre.

The application was developed using Adobe AIR and ActionScript 3. Flash Professional was used as the design tool, with a combination of bitmap and vector artwork used for the app’s visuals and animation. I always find it extremely enjoyable working on AIR projects and this one was no different. Vector graphics were actually used for the bulk of the artwork and the final result looked great on the Retina iPad Airs that were used in the actual exhibit.

Bunny Vengeance Side Scroller

I actually put this demo together about six months ago but for one reason or another didn’t actually get round to blogging about it. I think it was because I wanted to add environment graphics and proper baddies before showing it off. However, given how little spare time I have at the moment that’s unlikely to happen any time soon.

This demo (video below) was an attempt at trying something different with our Bunny Vengeance game concept. Rather than two characters standing on screen and clobbering the hell out of each other (previous demo here) I went for a side-scrolling beat ’em up approach.

As you can see, our hero runs from left to right across the landscape, leaping over gaps and punching any baddies that get in his way. I was eager to avoid implementing a virtual joypad as I don’t think they really work on mobile screens but did want to at least try adding some depth to the gameplay while keeping things simple.

Tap anywhere on the right of the screen and our hero will punch, while tapping on the left will make him jump. You can even perform a double-jump if you get your timing right. Holding both sides of the screen at the same time also performs a few extra moves. Doing so when the bunny is in flight will perform a devastating power slam, while it’s used to block any hits from baddies when on the ground.

The previous demo was written in ActionScript but I opted for Objective-C for this one. For the game’s physics and graphics I used Sprite Kit, which is pretty awesome if you ask me.

Oh, and if you like the video above then you may like my Jeff the Unicorn demo that I put together last year. Its control scheme isn’t that different from the controls I opted for in the latest Bunny Vengeance demo.

Protected: Creating Interactive WebGL Content with Adobe Animate CC

This content is password protected. To view it please enter your password below:

Webinar Video: The Future of Flash Animation

If you were unable to attend Adobe’s “Flash Professional: The Future of Animation” webinar, then you’ll be pleased to know that a video of the session is available below.

It was a full house and there were many really great presentations during the one hour forty minute session. I think the title of the webinar was a little misleading as there was definitely plenty on offer for those from a development rather than an animation background.

Apparently there are plans to host more webinars on a regular basis, something I’m looking forward to.

Flash Webinar: The Future of Animation

Adobe will be hosting a live webinar – “Flash Professional CC: The Future of Animation” – on January 13th at 8:00am PST.

It’s open to everyone and they will be covering many of the latest features in Flash Professional CC including its native and custom platform support. Native support for HTML5 Canvas and WebGL will be covered, along with the latest custom platform plugins for Cocos2D, Starling, AwayJS and OpenFL. And I’m sure they will talk about a great many other Flash related things Flash too.

Joining Adobe will be some very well known members of the Flash and digital animation community including:

  • Grant Skinner, CEO Gskinner.com & Creator CreateJS
  • Joshua Granick, CEO, OpenFL Technologies
  • Rob Bateman, Founder & Managing Director, Away Studios
  • Denis Balon, COO GAF Media

You can join the webinar here a few moments before the start time. Also, remember to check your local time here.

See you there!

ANE and eBook Promotion

The very nice people at DiaDraw got in touch recently to let me know about a promotion they are currently running that should interest all Adobe AIR developers. They’re offering a 20% discount on their Camera Driver ANE for iOS and Android. Plus as an added bonus they’re also including their excellent Easy Native Extensions eBook as part of the bundle.

DiaDraw_Camera_Driver_ANE_promo

The Camera Driver ANE lets you connect to and capture frames from the native device cameras on iOS and Android. It also provides control of the following camera features:

  • Frame rate and resolution control
  • Focus, exposure, white balance control
  • Point of interest
  • Flash
  • Camera swapping
  • Geometry filters

And if you’d like to know the development steps the DiaDraw team actually go through to write their native extensions then the Easy Native Extensions eBook is the best place to start. It’ll lead your through the entire process and have you writing your own ANE’s in no time at all. Here’s what I said about the eBook in a recent blog post.

This bundle offer is available until the 31st of December. Just head over to the Camera Driver order page and use the following promo code: yeahbutisitflashrocks

Starling 1.6 and Sprite3D

Starling 1.6 is on the horizon and there’s one feature in particular that I’m really looking forward to: 3D Sprites. When I first read about Starling’s new Sprite3D class I wasn’t too sure what all the fuss was about but Starling’s author, Daniel Sperl, recently released a video showing it in action and now I’m excited!

While Starling will remain primarily a 2D renderer, the new 3D sprite feature will take any display object and let you move it around in 3D coordinate space. The video above shows some simple but really practical uses for it. On top of its new 3D capabilities, the next release of Starling will also contain the usual bug fixes and optimisations including: nesting of filters, memory overhead reductions, and parallel asset loading within the AssetManager class.

You can already take many of these features for a spin on the development version on GitHub.

Native Extension Development Revisited

Just over a year ago I took a stab at developing an iOS native extension for AIR. It was really just a learning exercise and I wasn’t actually trying to write anything specific. I certainly got a lot from it but having not revisited ANE development since, I recently found to my frustration that I’d forgotten most of what I’d learned. To make matters worse, I’d lost the source code and build scripts from my original experiments.

So to give myself a quick jumpstart back into ANE development I thought I’d give the Easy Native Extensions eBook by Radoslava Leseva a try. I’d previously taken a look at the free edition but for one reason or another not bothered to actually purchase the full version. Well all I can say is that it was easily the best $30 I’ve spent in a while. I was back up and running in under a day and as an added bonus Radoslava does a brilliant job of detailing how to wrap up the whole build, packaging, and deployment process into a single Ant script. Her build script was much better than the crummy one I remember cobbling together for my original ANE attempts.

One of the things I hadn’t really tackled previously was learning how to properly debug my ANEs. Thankfully a companion debugging guide came bundled with the package, which takes you through the steps required to write a native iOS project that will wrap around a test AIR app. With that you’ll be able to add breakpoints to Xcode and inspect your ANE’s native library.

Come the end of it all I’d bashed together a new demo ANE that was happily utilising a whole host of native iOS stuff including: local notifications, native alert boxes, native UI elements, table views, and some animated bitmaps via UIImageView. I’d also successfully managed to create and populate some ActionScript objects on the native side before passing them back to my AIR app.

So if you want to try your hand at ANE development then I whole heartedly recommend you put the Easy Native Extension eBook top of your list. It’ll save you a lot of time and head scratching. Sure it’ll only take you so far on your journey but it does end with a list of resources to look up next. A few other places I found to be of particular help were Richard Lord’s open sourced ANEs on GitHub and part 1, part 2, and part 3 of Transferring Data with AIR Native Extensions for iOS by Tom Krcha.

Oh, and there’s also the post I wrote last year detailing ten steps to learning ANE development. It’s still worth a look. Have fun folks!

Adobe AIR Games Showcase #5

Remember when Adobe initially started targeting mobile with AIR? It was often a pleasant surprise when someone managed to produced an app that was as good as its native counterparts. Of course AIR’s come a long way since then and these days it’s just expected that the quality of apps built with it will be every bit as high as those produced with rival technologies. As someone who loves tinkering with AIR it’s always great to find an app that I’ve been playing for a while was actually written in AIR. Here’s a few I’ve been playing recently.

Ship Antics:The Legend of the Kiki Beast

I absolutely love Ship Antics! It’s a puzzle adventure game for kids set in a vibrant cartoon pirate world. Built with the Starling framework, Ship Antics interweaves high quality animated content with a story-driven game featuring simple puzzles and challenges.

Its story features two lovable little characters named Amanda (the daughter of the ship’s captain) and Otto, a cheeky young octopus. Although the game’s main campaign is over in approximately ten minutes, it hasn’t stopped my little nephew from requesting repeat visits into the game’s vibrant little world. I honestly must have chalked up several hours playing it with him.

It’s aimed firmly at children this one but serves as an amazing showcase for what’s possible with AIR and the Starling framework. Dublin based Studio POWWOW has done an incredible job with Ship Antics and my nephew was delighted to find out that an update is coming soon with a whole new adventure for him to take part in.

City 2048

2048 is one insanely addictive web game but its visuals are hardly anything to write home about. You may think that such a game doesn’t really require anything else but developer Andrew Kyznetsov has created his own unique version where you slide the game’s tiles to create a huge, and beautiful looking, metropolis!

city-2048

The original’s top-down camera has been replaced by an isometric view onto the game’s 4×4 grid, and each square now represents a city block rather than a number. Sliding two identical squares together creates a new, more densely populated, square. The greater the population density within a square, the taller the buildings that occupy it. This acts as a great visual cue when playing the game and will make perfect sense to seasoned players of 2048 struggling to figure out how you can take a numbers-based game and turn it into something that’s based on a city.

City 2048 is ideal for anyone looking for a puzzle game that will consume endless hours of their week. It’s available for both iOS and Android.

Boxtrolls: Slide ‘N’ Seek

Isn’t the Starling framework awesome! RED Games certainly think so as it was their graphics engine of choice for their side-scrolling action game based on the recently released Boxtrolls movie. The game takes you on a journey to rescue captured Boxtrolls over 30 increasingly difficult levels inspired by scenes from the movie. The control mechanism contains elements from popular endless runners and also features a really nice sliding feature very similar to the one found in Tiny Wings (remember that).

The app comes with really nice audio and graphics that match the film’s visuals very closely. It all comes together as a very slick package that once again shows off Adobe AIR’s strengths perfectly. Oh, and it’s also worth mentioning that the increasingly popular DragonBones skeleton animation solution was used for the character animation. Incidentally, DragonBones was also utilised extensively for the animation in Ship Antics too!

Boxtrolls: Slide ‘N’ Seek is available on the App Store for iOS devices and Google Play for Android.

Ancient Planet TD

I’m really really bad at tower defence games, and to be perfectly honest, not a huge fan of them. However, Ancient Planet is really awesome and I’m glad I decided to give it a go. I originally downloading it after seeing it featured on the App Store. It has some exceptional visuals that look really great on my iPhone 5 and even better on my iPhone 6’s larger screen. The initial difficulty level is pitched perfectly for beginners and you’ll soon find yourself placing and managing weapons while simultaneously mining for resources during the heat of battle. The difficultly does ramp up pretty quickly but thankfully you’ll already have the hang of things by that point.

ancient-planet

Developer, Mildright, has done an amazing job crafting some beautifully detailed alien worlds spanning over 35 unique levels. It all gels together into a perfectly pitched game. If you’re looking for a great tower defence game then look no further than Ancient Planet TD on the App Store. Another excellent showcase for what’s possible with Adobe AIR.

Bloody Harry

Bloody Harry is, well, bloody good fun. It harks back to the days of 16-bit side scrolling arcade games such as Narc and Splatterhouse where you move through each level obliterating everything in sight. You play the role of Harry, an insane cook, who’s hunting down evil Vegetable-Zombies. Meat cleaver, shotgun, knife, machine gun: they’re all available. Heck, if you run out of weapons you can even use your fists.

There’s coins to collect along the way, which can be used to buy new weapons and upgrades. You’ll need the upgrades later on as some of the boss battles can be pretty tough. In a nice twist, you can even recruit other weird mutants to help you beat some of the harder bosses, or get through some of the tougher levels. There’s also the odd vehicle lying around, which is great for mowing down the zombie hordes when the going gets tough.

Bloody Harry is available on iOS and Android.

Deep Loot

Deep Loot’s lovely pixel art and chirpy tunes hark back to the good ol’ 8-bit days. There’s a real fun and quirky feel to this little game that will make you smile as you dredge the ocean floor trying to recover gold and lost relics. On each dive you’ll have to make your way to the bottom by battling sea creatures and blasting other obstructions.

Your air supply is king and the better equipped you are for a dive the farther down you’ll be able to reach. The game starts with your little diver simply holding his breath. However, collect enough coins and you’ll soon be able to buy all kinds of diving apparatus that will keep you in the water for longer and able to reach some impressive crushing depths.

Special mention must go to the Deep Loot’s almost turn-based gameplay mechanic. you tap on a desired location on the screen and your little diver swims towards it using the most optimal route. It works really well and is certainly better than the more obvious virtual joypad approach that many games adopt.

Deep Loot is available from the App Store, Google Play, and the Amazon App Store.