Europe and #Brexit

I saw someone share this on Facebook last night. Without all the cooing and ranting over the ‘issues’ being thrown around from both sides, I think it sums up the feelings of many quite well :

Some of my friends and relations have told me they will vote for Brexit in our referendum. At the risk of falling out with them I intend to vote for us to remain in the EU. Here’s a bit of pre-EU history to help explain my position.

I grew up in a time of post-war austerity. My country, the United Kingdom of Great Britain and Northern Ireland, was broke and virtually in ruins. Germans were still “the enemy” in children’s games. Bomb sites and abandoned air-raid shelters were our playgrounds. Nine years after the war ended butter, meat and sugar were still rationed. One couldn’t buy sweets without coupons issued by the government.

Portugal and Spain were fascist dictatorships. In Spain unauthorised gatherings of more than 3 people were illegal. A military junta later seized power in Greece. Half of Europe was sealed off behind the Iron Curtain. I remember lying in bed at night, in my parents home, and hearing the roar of American warplanes flying overhead on their Cold War missions. We were told that, if the Russians unleashed their missiles, we would get 4 minutes’ warning of Armageddon.

In Britain our currency was weak. We had exchange controls. Travellers were allowed to take only £25 sterling out of the country plus a limited amount in foreign currency. On return, any left over had to be sold back to an authorised trader. The details were entered in one’s passport. (See photo)

The UK still had the death penalty despite some obvious and irreversible miscarriages of justice. In France they still executed condemned prisoners by cutting their heads off. In Spain they used strangulation.

The press and the BBC, (there was only the BBC), were not free from government interference and books, films and plays were censored. Women were paid less than men for equivalent work and landlords could turn away black and Irish people with impunity. For private acts of “gross indecency” gay men were sent to prison.

During the 1950s, six similarly devastated European countries were determined that the catastrophe of war between them should never be repeated. They decided to work towards creating a single European economy. The result was never “just a trading agreement” as some detractors now suggest. The Treaty of Rome, signed in 1957, provided for free movement of goods, services, people and capital, with the stated aim of “closer relations between the States”.

The UK was invited to participate from the outset, but Prime Minister Attlee rather scornfully declined, thus missing the opportunity to influence the future development of Europe. However, by 1961 it had become obvious that the economies of “the Six”, (France, West Germany, Italy, the Netherlands, Belgium and Luxembourg), were growing faster than ours, so we applied to join. It took 9 years of negotiations, (and 2 vetoes), before terms were agreed. The United Kingdom officially joined the European Communities on 1st January 1973.

In the 1980s many of our skilled workers took advantage of the free movement of people and migrated to West Germany, whose economy had already overtaken ours. These British ” migrants” were the inspiration for a popular television series, “Auf Wiedersehen, Pet”.

Since 1945 there have been wars in Europe, but none between countries that were members of the European Union. Despite global economic storms, the EU’s citizens in 28 independent countries enjoy greater prosperity and greater freedom of movement, freedom from discrimination, freedom from conflict, freedom to trade across borders and freedom of expression than at any time in history.

So far no member state has ever applied to leave the EU. There have always been candidates to join but to succeed they must have democracy, the rule of law, a market economy and guarantees for the protection of minorities and human rights.

They also need the support of ALL existing members, including us, without which they cannot join. In my opinion it would be a shame if Britain were to turn its back on Europe, give up its voice and influence, and opt for an uncertain future. So…I shall vote IN on 23rd June.

13239173_10154075261987347_6965273189001813548_n

link

Testing AdHoc iOS Apps, over-the-air, without TestFlight or iTunes

While building and testing the various apps I’m putting together, I eventually come up against the often hair-pulling exercise of having to submit the app to iTunes Connect, just for the alpha or beta testing phases.

Back in the day, sites like TestFlight made this relatively painless to get your test app onto you tester’s devices using a simple link in an email. With *no iTunes syncing required*!

“What witchcraft is this?”

Then Apple bought TestFlight and integrated the whole process in to their iOS Developer site.

This was all good, until recently when I was up against the wall with a deadline to get an app to a good friend who was travelling to a conference where there would have been many people potentially interested in what I’ve been building.

At the last minute, it dawned on me : I needed to get Apple to “approve” my app for TestFlight. This can take time. Days even. As a result the deadline was missed. Thanks Apple.

Before you mention it: yes, as long as I have my tester’s device UDID in my AdHoc Provisioning Profile, I can simply send him the .ipa file and he can drag and drop the file onto iTunes and sync. This is all well and good when your tester has access to their laptop and iTunes, but no good if they’re not.

So I started looking at alternatives I’d heard of, such as HockeyApp, SuperSend and others. Some of these are free and some are paid.

Naturally, being a hacker/programmer/nothing-gets-in-my-way/surely-I-can-do-this-myself-for-free kinda guy, I looked deeper into how this was done.

It turns out that it’s VERY EASY:

All you need are three files:

  1. Your app .ipa file
  2. A manifest.plist file
  3. A simple index HTML file

.. and somewhere to host them.

NOTE: You probably already know this, but your ipa file must be packaged with the ‘AdHoc Provisioning Profile’ for that app, which MUST contain the device UDID for each of your tester’s devices. This must be generated on the iOS Developer Portal. If anyone tries the download link on an unknown device, it won’t work. 

Construct a manifest.plist file like this :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>items</key>
        <array>
            <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                      <string>https://mojomeja.com/app/1.0.4/mojomeja.ipa</string>
                   </dict>
                </array>
               <key>metadata</key>
               <dict>
                   <key>bundle-identifier</key>
                   <string>COM.YOUR.APPID</string>
                   <key>bundle-version</key>
                   <string>1.0.0</string>
                   <key>kind</key>
                   <string>software</string>
                   <key>title</key>
                   <string>YOUR APP NAME</string>
               </dict>
           </dict>
      </array>
    </dict>
</plist>

..being sure to edit the .ipa download url and the app bundle identifier string, version and title.

Next, make an index.html file to provide a link for your testers to click on the device to start the on-device, “over the air” app download.  eg:

<!DOCTYPE html>
<html>
<head>
 <meta name="viewport" content="width=device-width,user-scalable=no,shrink-to-fit=no,minimum-scale=1,maximum-scale=1" />
 <title>MY AWESOME APP TESTING</title>
</head>
<body>
 <h2>test builds</h2>
 <a href="itms-services://?action=download-manifest&amp;url=https://yourdownload.com/url/to/manifest.plist">My APp version 1.0.0</a>
</body>
</html>

Then, simply send this url to your testers to open on their device in the email client or browser.

DONE!

Hat tip to Dr. Palanijara (and Google, obviously).

 

1 8 9 10 11 12 47