Oh Apple, I’m such a fool…


I am sorry message

Oh Apple, I’ve made such a fool of myself. Why? Why did I fall for the lure of the slim lines? the promise of the wearables? I was sure that Android was going to make me happy, to fill the gaps that had grown between us. I cannot believe I fell for it.

After a month of trying to fit in with the new crowd I just knew it was a hopeless task. Yes it was nice to parade around with wrist notifications and changeable faces, but that pretty much sums it up, a facade. Too many variables, too many inconsistencies. I miss our time together Apple, I even find I’m missing the ‘problems’ we had, the fights, the ‘Siri’ irriate moments.  Please can we go back to the way things were, please can you give me another chance. I’ll wait patiently for iWatch, I’ll even stop complaining about the quality of the beta, I know it won’t be easy to start with, but I’m sure together we can make it work.

Yours hopefully.

Paul x.

Real World: Using Legacy Web Services with Mobile Apps


I’m sure we would all love to work in an environment where as soon as a cool new technology is available we can switch everything over! The reality is we don’t (or at least the people I get to talk to don’t!) So for many the mobile dilemma is simple… how do I get to access my legacy web services while building modern mobile apps?

I’m going to show you how to do just that in a webinar on October 22 (EDT), use the following link https://www.devexpress.com/Support/Webinars/ to reserve a spot, even if you cannot make it on the day, you will get sent a YouTube link afterwards.

Azure, iOS and enterprise deployment


If you want to deploy an iOS application provisioned under an enterprise license on an IIS box the steps are simple enough:

– Create a folder where the .ipa file will be stored such as \inetpub\wwwroot\myApp
– Create a manifest (.plist) file, here is an example of what that should look like


<?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>http://www.yourdomain.com/myApp/myApp.ipa</string>
       </dict>
      </array>
    <key>metadata</key>
     <dict>
      <key>bundle-identifier</key>
      <string>com.yourdomain.myApp</string>
      <key>bundle-version</key>
      <string>1.12.08.1200</string>
      <key>kind</key>
      <string>software</string>
      <key>title</key>
      <string>myApp</string>
     </dict>
    </dict>
  </array>
</dict>
</plist>

– Next step would be to create a link in your web page that points to the manifest file you just created, notice it is a special type of scheme:

...
<a href="itms-services://?action=download-manifest&url=http://www.yourdomain.com/myApp/myApp.plist"> Tap Here to Install myApp</a>
...

Now if you tried to click on the link at this stage you would start receiving errors. So the next thing to do is add a couple of extensions into your MIME types

.ipa – application/octet-stream
.plist – text/xml

Done, you can now browse to the page on your iPhone/iPad/iPod and install your newly provisioned enterprise application.

WHAT ABOUT AZURE? I did mention Azure in the title of the post, so what’s different if you want to deploy via a Azure Website?

Technically, nothing is different, you still need the manifest file, and you still need to set up the href. The caveat here is that you cannot edit MIME Types in your Azure admin area.

Thankfully it is not a difficult thing to overcome. You can add your MIME Type directly to the web.config file

...
<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".ipa" mimeType="application/octet-stream" /> 
      <mimeMap fileExtension=".plist" mimeType="text/xml" /> 
    </staticContent>   
</system.webServer>  
...

Now your enterprise application can be distributed using the power of Azure Websites 🙂

Hello iOS World!


I remember writing my first mobile app for the Psion Series II, it started my passion for mobile devices. So it was no surprise to the family when I started writing apps for the iPhone all the way back in 2009. There were countless hours spent reading documentation, trying to get things to compile, and banging my head on the desk wondering what the strange language called Objective-C was all about. Apple have made it somewhat easier with advancements in Xcode & iOS (especially embedding Interface Builder), there have been some great tutorials written, as well as 100’s of books, but where should you start? The answer is WintellectNOW! I recently had the honour of producing a quick primer on ‘Building Your First iOS App with Objective-C‘ and for a short time you can see it for free 🙂 I would also encourage you to have a look at some of the other awesome videos on the site. Register and use the coupon USHER-13 and you can access *everything* for free for 14 days.

1 App – 3 Mobile Platforms


How cool is it to think that you can write one application (albeit in HTML5/JS) and deploy it to all three major Mobile OS’s, using DevExtreme, I will be creating an application that targets iOS, WM8 and Android. One thing I wanted to do was to access the hardware layer of the device with the underlying framework, so I’m going to access the location services. Using a web service to deliver some addresses I will then show where you are and where the destination is on a map.

Join me for a cool geek session, just register here.

Sept 10, at 10am – Pacific Daylight Time (GMT-7) [the webinar page does a great job of converting to your local time]

Oh, for those in Australia it’s a 3am start 🙂 but we’ll post a link to the whole thing on our YouTube channel afterwards.

110% DX ? DXTREME


Before everyone starts messaging me and telling me 110% is not possible, just listen !

For weeks I’ve been watching the countdown over at DevExpress promising to announce something cool.

Well tonight 6pm AEST all was revealed – DXTREME

In a nutshell, 3 tools in 1 – developing rich cross platform applications, and it looks amazing. Simplified codebase, clever wizards, deployment via QRCode (for testing)

There is no way I can do justice to what is being shown, so instead, head over to DXTREME and watch the announcement video.

I can’t wait to get my hands on the product to use a single environment to create my next iPad project that compliments my 100% DX WinForm app !

icon dimensions (0 x 0) don’t meet the size requirements


Welcome to Apple World:

Submit – Fail, Submit – Fail, Submit – Fail

It certainly was not the first iOS App I had tried to submit, yet here I am, seeing the same ambiguous error:

iPhone/iPod Touch: icon.png: icon dimensions (0 x 0) don’t meet the size requirements. The icon file must be 57×57 pixels, in .png format

I mean, how can it tell me a file that clearly exists, shows in Preview as 57×57 and compiles without error is now 0x0 ??

1 hour and 1 minute, thank you Apple.

So finally the iPhone module – Key Elements (part of the new Set Professional range) is ready to go. The final step is to upload for Apple’s tick of approval and its in the AppStore. As with any submission we go through a simple set of checklists

[x] – Code Review
[x] – Clean
[x] – Compile (error free)
[x] – Artwork
[x] – – – Lo-Res
[x] – – – Hi-Res
[x] – – – AppStore
[x] – AppStore theme
[x] – Provisioning profile
[x] – App Submission Prep
[ ] – Upload binary

Each time an upload would take place I would see the same message, it talks of my icon file being the wrong size, but here is what we know so far;

1. You cannot set the icon file inside xCode without it being correct size (applies to both standard and hi-res image)
2. The plist file clearly shows the icon files are present and correct
3. Remove entry from pList, remove file and reset doesn’t work
4. Recreation of the icon file (just in case it had some weird corruption) still didn’t address it

Now we are really clutching at straws. Enter the google search. Having read a number of posts I came across an obscure entry http://nano-art.blogspot.com.au/2010/08/icon-dimensions-0-x-0-dont-meet-size.html Now all that is left is finding the entry in xCode 4.

So, it is hidden under the Packaging section of Build Settings.

The Culprit

Questions I still cannot answer:
1. How did it get set to YES
2. Why the Application uploader can’t tell me a real message

Strangely (well not strange really, just damn frustrating), after the flag is set to “NO”, the whole process was completed in less than 5 minutes.