Notes on Signing Keys for PhoneGap Build

As always, this site contains notes to myself which others may (or may not) find useful. They may contain errors. Corrections and clarification is gratefully accepted. I apologize that these notes are somewhat abbreviated.

Android

The instructions on the Adobe PhoneGap Build web site don’t properly display on all platforms. The core information is as follows.

Google uses the Java keytool program, which creates a database of cryptographic keys & certificates. If you have Java installed, keytool should be available. The example command is as follows:

$ keytool -genkey -v -keystore [keystore<em>name].keystore -alias [alias</em>name] -keyalg RSA -keysize 2048 -validity 10000

iOS

iOS is more complicated. This requires access to an Apple machine running OS X.

The first step  is to ensure that your Keychain Access program has the latest root certificate. As of this writing (16 June 2016) it is AddTrust External CA Root with an expiration date of 30 May 2020 at 4:48:38 a.m. (I solved this with a web search.)

Create a Distribution Certificate

Next, log into your developer.apple.com account. From the top menu, go to your Account. On the left-hand vertical bar, select Certificates, IDs & Profiles. Create an iOS certificate with the type iOS Distribution.

Create a .p12 File

Download the certificate and load it into Keychain Access. (The certificate should have a submenu showing your private key. If it is not there, you can’t export it as a .p12 file.) Right click on the certificate and export it as a .p12 file.

Load Devices for “Ad Hoc” Testing

To bypass the Apple gatekeepers for testing, you need to specify the unique device IDs (UDID) for every iOS device that the app is allowed to run on. Those are listed under Devices on the left-hand side.

Create a Provisioning File

If you want to bypass the Apple gatekeepers for testing, you need to create a new iOS provisioning file with the type Ad Hoc under the Distribution heading. This will allow to choose the certificate, application ID, and the UDIDs to enable for testing.

If you’re to the point where you want to submit your app through the Apple store, create a provisioning file with the type App Store under the Distribution heading. You will not be given the choice of selecting specific UDIDs this turn.

Loading Keys in the PhoneGap Build Site

Lastly, log into the Adobe PhoneGap Build site and go to Edit Account. The second tab is Signing Keys. Under the appropriate OS, hit the add a key … button and upload your keystore (in the case of Android) or .p12 and provisioning files (in the case of iOS).

These keys should be ready to use for building your app.

 

Posted in Programming | Tagged , , , , , | Leave a comment

Installing a PhoneGap App On an iOS Device Using iTunes

Preliminary Steps

To produce an iOS build using the PhoneGap Build web site, one must have created a signing certificate and provisioning list for the devices that the app is allowed to run on. These notes assume that this has been done, and there is a successful build on the PhoneGap Build web site.

Loading into iTunes

The first step, and the first potential roadblock, is loading the app into iTunes.

  1. Plug in the iOS device into the computer and select the device.
  2. Download the .ipa file from the PhoneGap Build site.
  3. Drag and drop the .ipa file onto iTune.

This is where the first “gotcha” may turn up. The .ipa file does not have Apple’s blessing. By default OS X will refuse to load any un-blessed apps.

skitch

This can, however be changed in the Security preferences.

skitch

Use the lock symbol to allow for changes to the security settings, then choose “Anywhere” in the “Allow apps downloaded from:” section.

skitch

OS X will give a final warning about the dangers of doing this, and that the setting will revert to after a certain amount of time.

skitch

 

Now the app should show up in the list of apps to load onto the iOS device, and will be loaded when you sync the device.

Hydration Hanging

Hydration is a wonderful development tool that will automatically fetch the latest version of the app from the PhoneGap Build web site. (It must be removed before submitting the app to Apple for review.) However, when one starts the app,  it will sometimes hang.

To kill the hung app, the Apple support web site has an excellent tip.

Posted in Computer, Mac | Tagged , , , , , , | Leave a comment

CentOS 7 Firewall Configuration

CentOS 7 uses firewalld for its default firewall. DigitalOcean has a nice overview on the basics of firewalld here.

 

Posted in SysAdmin | Tagged , , , , | Leave a comment

Korad KA3005P Serial Programming

korad-ka3005pThis is a cheap lab bench power supply that given its flaws is a surprisingly solid piece of equipment. I wouldn’t call this a precision power supply, but its tolerances and ripple are acceptable for ordinary bench work. (And really, if you’re doing precision work, you’ll invest in a precision supply anyhow.)

There are two methods for communicating with the unit: a serial interface and a proprietary binary USB interface. One may use either the DB-9 connector or USB to access the serial interface.

I wrote a Python wrapper for the serial protocol to encapsulate the various tidbits  of information I’ve encountered on the  Internet. The firmware is buggy and there are various gotchas. Hopefully the Python wrapper will address the worst of the problems one might encounter.

Posted in Micro & Hardware, Programming | Tagged , , , , | 1 Comment

CSS Specificity Overview

Chris Coyier has a nice overview of CSS specificity,  or why my CSS doesn’t override their CSS.

Posted in Programming | Leave a comment

Git Cheat Sheet

An acquaintance sent this to me last year and I thought the link might be useful to others before I deleted the old e-mails.

Git Cheat Sheet by Tower

I haven’t looked at Tower’s GUI since their version 1 beta so I can’t comment on their product. However git is git and that makes the cheat sheet useful.

(I settled into using SourceTree for my daily work a while ago.)

 

Posted in Programming | Leave a comment

Turning the Spindle On/Off on a Comet CNC

Comet CNC SpindleIt’s common for people to use a low-end spindle on a Probotix Comet CNC. The LinuxCNC software can turn the spindle on and off, but not control the speed or direction.

The G-code for turning a spindle on is M3,  but that command alone will not work. It needs a non-zero speed parameter. For example:

M3 S1

will turn the spindle on. To turn it off use M5.

M3 S1
…other commands…
M5

As always, stay safe.

 

Posted in CNC & Robotics | Tagged , , , , , , , , , | Leave a comment