iOS Enterprise App Error – “Cannot install applications because the certificate is not valid”

With the launch of iOS 7.1, Apple require all enterprise apps manifest files to be served over HTTPS. Attempts to install through HTTP cause the following message:

cannot install applications because the certificate is not valid

The actual page and app IPA don't need to be served on SSL, it's just the manifest file that links to it. Currently you'll have something like this:


But the manifest plist file needs to served over SSL:


You can host the manifest plist file on Dropbox (which will serve it over SSL), but the easiest way is to add an SSL certificate onto your domain. More info over on this stackoverflow question.

iBeacons in Apple Stores: What’s Overlooked

Last week Apple rolled out iBeacons throughout their US stores, which was reported heavily by the Mac news sites but they all seemed to miss one major point.

Apple can now track footfall and patterns in their stores.

This will let them gain insight and highlight hotspots, areas of popularity and congestion and ultimately reconfigure or tweak their stores to optimise the experience (sell more). With nearly 400m visitors 1 to their stores in the past year; that's the potential for a lot of data.

Now it's worth noting that iBeacons themselves are entirely passive, the beacon has no idea whether one or 100 iOS devices are in the nearby area. However, as Apple control the Apple Store app that gets woken up whenever one of the registered beacons it listen for enters range they can pipe up the info straight from the users device to the cloud.

Combine that with the customers Apple ID (which the Apple Store app already has) and you know what products they're interested in, what stores they visit and can link this with what they have/do/may purchase.

So whilst on the surface this looks like a way of increasing customer engagement whilst in the store, it may well be an analytical tool for Apple to improve footfall and redesign their stores.


  1. Obviously data collated by Asymco - The Quantum Leap in Retail

The New M7 Chip – Used Throughout iOS 7 



M7 knows when you’re walking, running, or even driving. For example, Maps switches from driving to walking turn-by-turn navigation if, say, you park and continue on foot. Since M7 can tell when you’re in a moving vehicle, iPhone 5s won’t ask you to join Wi-Fi networks you pass by. And if your phone hasn’t moved for a while, like when you’re asleep, M7 reduces network pinging to spare your battery.


The new M7 coprocessor is like a sidekick to the A7 chip. It’s designed specifically to measure motion data from the accelerometer, gyroscope, and compass — a task that would normally fall to the A7 chip. But M7 is much more efficient at it. Now fitness apps that track physical activity can access that data from the M7 coprocessor without constantly engaging the A7 chip. So they require less battery power.

- Apple - iPhone 5s - Features

This one little chip offers some great little user experience touches throughout the core of iOS 7. It's also definitely a toe in water for something more wearable...

Using an iPhone 3G for 4 Years 


Some of my favorite features of the iPhone 3G are paradoxically also some of the features I dislike the most. I love to write on the iPhone 3G because it forces me to write slower and I have to choose my words with greater care, similarly to how a lot of people prefer to write with pen and paper.
Streakmachine : Four Years With My iPhone 3G.

Some interesting barriers and workarounds whilst using an iPhone 3G. Really great read.

Creating iOS PhoneGap / Cordova 2.0 & Mountain Lion

PhoneGap 2.0 and Mountain Lion don't get along too well when it comes to creating new iOS projects. If you're getting the following (or similar errors):

  1. usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
  2. cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

Replace your current cordova bin file by downloading the latest bin as per the second step in the getting started guide.

If you're interested in the problem:

The script has multiple points of failure if there are spaces anywhere in either the path to the extracted bin dir, or the path to the target. It seems that there is insufficient argument escaping when passing the derived variables, like $R, on to other scripts and program

I'm unsure why the official download doesn't contain this fix.