When generating certificates for use with iOS, be it push notifications or Passbook, it’s sometimes necessary to take these certificates and export them, so they can be used on a Windows machine. If you want to generate the certificates using only Windows, please read my post on that subject.
The process of exporting an existing certificate is thankfully straightforward.
First, open the Key Chain assistant and locate the certificate you want to export.
Click the small arrow beside it. This should expose the Private Key component. If this is missing, your certificate is not complete.
Select both of these rows and right click.
Choose “Export 2 items…” – Don’t worry, it will only generate one file. You’ll then be promoted for a password for your Private Key.
You now have the exported certificate. Copy the file onto the Windows machine you want to import it to. Double click on the file to launch the import wizard. This certificate should now be ready to use!
In my never ending quest to release tube related apps, I’ve pondering a new idea. Current tube apps are getting very busy, showing maps, line states, departure information, journey planners, weekend works, station states, etc. I don’t deny that these apps are very feature packed and for an average price of £0.69, you can’t really go wrong.
But something bothers me about this – I feel like there has been a rush to pack in features in order to appear competitive. With this feature packing, the usability of an app always suffers because there is much more noise.
With this in mind, I’ve started building a very simple app that just puts a few key pieces of information at the user’s fingertips. I reckon most commuters just use two stations in their course of their daily journey. They only care about one or two lines too. All the rest is just noise.
With that, I present a very, very crude mock up of My Stations (a working title!)
The app just has two tabs (I might add two mores) and that will just present the basic information for that station to you. This way you get presented with the information you’re most interested in. I’ll probably add location services to give alerts of issues as you get close to the station.
I hope to have this submitted to the App Store within the next couple of days. I’ve got most of the back end infrastructure in place for the London Underground. I’ve been reading up on GTFS too, so I may be able to include the New York Subway in the future.
If you like or dislike, please leave me a message in the comments below!
This morning, whilst making a few changes to my dotnet-passbook library, I inadvertently ruined my PC by erasing files from my C drive. I want to pass on my tale of woe so others don’t fall into the same trap!
In response to an issued raised in GitHub, I decided to offer the ability to clean up temporary files after my library had generated a Pass. To do this, I had to make a few small changes to expose the path to the temporary file. As part of my OSS project, I have a sample web application that can be used to generate sample passes. I decided I’d try my code within my sample project.
I ended up with a piece of code like this:
try
{
return new FileContentResult(generatedPass.GetPackage(), "application/vnd.apple.pkpass");
}
finally
{
Directory.Delete(Path.GetPathRoot(generatedPass.Path), true);
}
Sadly, I didn’t realise that GetPathRoot would return C:\
To compound matters, the ApplicationPool running my sample code was my own account, so it had administrator privileges!
Needless to say, when I requested the pass, my HDD light started flickering. Unfortunately I didn’t realise what was happening. Since the request was taking so long (deleting all my files is a time consuming business), I just cancelled it. I then tried to fire up VS and got an error. I took a peek at my source code folder and found all the files were gone!
Then the penny dropped.
I fired up system restore and restored the system back to an earlier date, hoping to undo the damage I had caused.
Alas, it was in vein!
My laptop is beyond help. I have a feeling that I’ll need to reinstall Windows 8 from scratch…
I think there are two lessons here. Firstly, don’t run ApplicationPools with accounts that had administrator privileges. Secondly, read the documentation or intelli-sense when using methods that can be destructive. I’m surprised that Windows allowed my account to do this sort of damage, since I get a UAC elevation request whenever I try to change the system. Maybe ApplicationPools side step that?
As part of my overhaul of “I May Be Late” (now known as Commuter Pal), I’m adding in some location based services to the app. The idea is that when you move within range of a tube station, you’ll get quick access to the status of the lines and current departure times. I’m working my way slowly through the code, but this is what I’ve got so far. It’s not very impressive to see….
The bar at the bottom will slide into view when you’re near a tube station and tapping view will show you more information.
I’m also hoping to make some basic information available from the lock-screen, so you can quickly access station status with a swipe. More coming soon!
I’m using Office 365 to help me test time zone support in my Roomr app and I’ve ran into some interesting issues. I had to experiment with NSTimeZone and NSDate in order to make the device interact with the Exchange Web Services correctly.
At present, the time zone of my Office 365 installation is set to UTC.
I’ve added a few appointments, adding a room to each one.
When I run my app, in CDT (UTC-5), I would expect to see the correct offset!
An appointment at 5pm BST == 4pm UCT == 11am CDT, but regardless of the actual time zone, the time that the room is booked at is an absolute point in time! So whether I’m in the UK, US or Russia the offset is the same.
This proves that my time zone support is working correctly in Roomr! I still need to verify that DST settings don’t unhinge it, but I have about a month before we turn off DST
