Detect iOS 8 with Xcode 5.1.1

While prepping an app for submission that still supports iOS 6 & 7, we discovered a bug when the app in run under iOS 8. There was a change to EKEventViewController that leaves behind some UI when the view is dismissed. So we had to use the default method for presenting the view.

The way we tested for iOS 6 and 7 last year was to check the version with:

floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)

However Xcode 5.1.1 doesn’t have an enum higher than NSFoundationVersionNumber_iOS_6_1, so it won’t detect an OS version higher than 6.1.

NB the recommended solution is to build your app with Xcode 6, which does recognize NSFoundationVersionNumber_iOS_7_1.

To detect the system version you can use “systemVersion” from “UIDevice”. It’s not decremented yet, so you can do something like:

NSLog(@”system %i”, [UIDevice currentDevice].systemVersion.intValue);

        NSString *version = [UIDevice currentDevice].systemVersion;

        if (version.intValue <= 7.1) {

            // Do something for iOS 7.1 or earlier

        } else {

            // Do something for iOS 8.0 or later


This hasn’t been tested much, but give it a try.

The next release will be on Xcode 6 (I promise!)

Xcode Process launch failed: Security

launch failed security

The latest annoyance in Xcode had me stumped for a bit but @smappsoft set me straight. When trying to build and app under iOS 8, the build succeeds but the app doesn’t launch. Saying “process launch failed: Security” and not much else.

Turns out that the build was successful but your shiny new iOS 8 device doesn’t “trust” your profile.

Security: 1, Developer: 0


So to solve this new cryptic behavior, launch the app on your device (which you just installed) and you will get a trust prompt asking you to approve an “Untrusted App Developer”. This is Gatekeeper asking you to confirm your trust of the developer (yourself).

Once you’ve completed this trust you can happily install apps from Xcode.

New iPhone 6 screen shots for ITC

I can here you say, “Everybody knows this already.” However for those of you who don’t (non developers, artists maybe) there are the sizes needed to create new screen shots for iTunesConnect app metadata and marketing. Apple hasn’t produced an iOS 8/iPhone 6 transition guide and the Mobile HIG hasn’t been updated, yet.

iPhone 6 – 755 x 1334

iPhone 6 Plus – 1242 x 2208

The iPhone 6 Plus also has landscape mode so you may want to create screen shots for that mode as well.


Weird Time Machine AFP Error – solved

This was a first. I just rebooted the OSX server to free up the Time Machine volume – after getting the ubiquitous “volume is in use error”.

When Time Machine on my Mac next ran, I got this weird error “The network backup disk does not support the required AFP features”. This was the first time that I’ve seen this error. I googled around for the error, and even on the Drobo web site. I didn’t get any useful information… so I logged onto the server to look for errors.

There were no messages in the Server app’s Alerts pane. There was nothing unusual in the Drobo Dashboard. However I did notice that Time Machine was switched to “off”. WTF? A service on the OSX service that was NOT running after a reboot? Perish the thought! (I reboot my servers about once or twice a year. A properly running Unix server should never “need” a reboot.)

So I turned Time Machine back “On” in the Server’s app. There were no existing Time Machine volumes set up in the pane. So I had to direct the Time Machine back to the folder that I had set up on the Drobo to store the backups. Very strange indeed.

When the backup tried to run on the Mac again, I had to go into the Time Machine preferences and choose “Add or Remove Disk” to reconnect the back up. It’s running once again…

This is why I also use Background Backup to backup all my Macs. I never have issues with that service. You get what you pay for.

Protecting yourself online – seriously

protect-croppedThere’s been a lot press lately about people’s online if being leaked or hacked. Some blame the online service providers, such as Apple’s iCloud or retail stores lackadaisical storage of credit card data. Let’s be honest with ourselves, that type finger pointing or product bashing doesn’t serve anyone. While I realize that you are busy starring in movies or running a successful business, being aware of what needs to happen will help you do or find someone to help you out. The only person or persons who can protect your online interests is yourself. So here are some things you should already be doing or at the very least be preparing to do.

  1. _DSC3946Start using encrypted email. Nearly every email host on the planet offers some type of SSL encryption. Check your email settings, or hire an expert to check, and make sure that the SSL protection in ON. It also needs to be set to “on” for both incoming and outgoing email on all of your devices. SSL, or secure socket layer, encrypts your email as it leaves your device and delivers it to your mail service provider. That means that no one can intercept and read the contents of your email messages, coming or going. This does not mean that it’s OK to send sensitive information, like passwords, credit card details or even a spreadsheet. However if you do, then you can be sure that the data sent will be encrypted. Next you’ll need to make sure that the people you are communicating with are also encrypting their email.
  2. 1PasswordUse a password management application. I personally recommend iPassword from AgileBits. A good password management app will keep track of your passwords, integrate into your web browsers, help store security questions, generate secure passwords that meet or exceed the required types that your provider suggests. It will also keep track of what passwords you have used on the various web sites. AgileBits is even making this functionality available to iOS 8 applications so that developers can utilize it’s functionality in their own apps. You can here more about AgileBits in our latest podcast: MTJC Podcast Episode 5
  3. IMG_1591Create stronger passwords. This is the most important way to protect yourself online. You can no longer rely on your own methods for creating passwords. Again it may seem annoying to create hardened passwords but it is only a matter of time when some script out there cracks your password. If you use common worlds or phrases, you are only fueling the fire. The scripts that attempt to break your passwords will start with the basics, common words and phrases. No there is not a little man or whiz kid trying to crack your password. It is a script running on a remote server. In fact, once your password is cracked it goes onto a list server to be exploited later. There are so many already compromised users and servers that the exploiters don’t need to attack you today. So change your passwords regularly. Best practices recommend using a combination of uppercase and lowercase letters and numbers as well some punctuation or special charters (aka high ascii). There are plenty of password checkers online like: – This site shows you how many seconds it would take to crack your password. A simple password with a common word and number would be cracked in seconds. More complex passwords would take hours. Ideally you want a password that would take years to crack.
  4. Screen Shot 2014-09-09 at 1.47.03 AMChange your passwords regularly. It may seem to be annoying but rotating your passwords on a regular basis is always a good idea. I personally change critical passwords every 90 days or so. You can set up or ask your providers and/or IT guys to set up a password policy that prompts you to change your passwords. Once again use a password management app, see above, to keep track of your passwords.
  5. Create different passwords for each site. In general I change up my passwords on every site. Initially I used a shorthand to distinguish each variation. Now I use 1Password to keep track of the passwords and even allow 1Password to suggest new passwords with it’s Password Generator feature. The simple trick here is that if you use the same passwords in more than one place, then you open yourself up to a multisite exploit.
  6. icloudUse a secure online storage. If you must keep your data in the cloud, make sure you are using  a secure service. It goes without saying that you should use secure passwords to access these. In  previous point we suggested using password management to keep track of your passwords. No more sticky notes or pieces of paper stuffed under your keyboard. Yes, I’m looking at you. Despite what you may have heard, services like DropBaox, Google Drive and iCloud, do use state of the art encryption to protect you from yourself. They are using better than military grade encryption, Advanced Encryption Standard (AES) with 256-bit or 128-bit key length at least. In theory it would take trillions of years to decrypt your data without the correct key or password. It doesn’t help if your password is the name of your niece’s new puppy. The bottom line is, if the information is too important to lose, then do not store it online. There are tools out three that anyone can buy to get at your online data. I personally recommend that you sync or back your devices up to a computer at home, not online (Sorry, iCloud!)
  7. Screen Shot 2014-09-09 at 12.30.05 AMEnable 2-step verification for all of your online services. As mentioned in our podcast, MTJC Podcast Episode 5, 2-step verification uses a secondary device to authenticate you when you set up your account. If someone attempts to compromise your data, they won’t get far without the secondary confirmation. Often the online service will ask for your cell phone and send you a txt msg  with an additional code to verify your account. So along with your password only you will need to supply the second code to access your stuff. That would keep the bad guys out. You can read about 2-step authentication with Google here: Google 2-step authentication and with Apple’s iCloud here: How to step up Two Factor Authentication on iCloud
  8. Screen Shot 2014-09-09 at 12.35.12 AMModify your online privacy settings. Go into Facebook, Twitter, LinkedIn and whatever online social network tools you use and check your “privacy settings“. While it’s tempting to be popular by making yourself as public as you can, you must by now be aware that there are many people out there who are looking the exploit you. Maybe they are after your credit card or banking information. Maybe they are after your private photos. Maybe they are simply out to drive traffic to their web site, and get more money from advertisers. When I was a kid, the boogy man hid behind doors and under my bed. Now the boogy man is a well respected business man running web services in Eastern Europe, China and South Asia. You need to visit your privacy settings and make sure your postings go to people you know and trust. While you’re at it, take a look at the Applications that you’ve allowed to access your online data. Delete or disable the connected apps that you don’t need.

Now that you know the items you need to check, you’ll be better prepared to start protecting yourself. If you haven’t already started using these methods, at least add them to your TO DO list. As the sergeant on Hill Street Blues used to say, “Let’s be careful out there.”

FounderDating – beware of strangers bearing gifts.

Note: The original source of this post was an email that I received on a Meetup email. The Administrator of the Meetup group normally screens emails sent to the group, for relevancy. Turns out there are a lot of spam messages sent to Meetup groups regarding FounderDating. The content is common, but the subject changes based on the group. The original post follows:

Beware of FounderDating it appears to be a viral mechanism to phish your contacts. You may receive an endorsement appearing to be from me. It is not an endorsement – not at this time any way. I’ll let you know if that changes.

A colleague of mine gave them an endorsement on a private network. So I figured I would take a look and applied. I didn’t think it was odd that it wanted me to apply through my LinkedIn profile. I rarely do allow strangers access to my contacts, but this was supposed to be a professional connection. So linkedIn made sense. I was applying to be a mentor…

What was odd was that a few hours after applying, I got an email saying that my application was incomplete. I was given a token to access the application. Before I was able to to get back to “finishing” the application, I received a “thanks but no thanks” rejection from FounderDating.

I should mention that I reached out to a friend who apparently was a member already. He didn’t mention anything was odd.

After I received the rejection, FounderDating proceed to contact the people I asked to vouch for me. Now I’m scrambling to stop them before they proceed.

I found another person whom’s experience in identical to mine.

FounderDating: Nice concept, dodgy viral mechanism

Hopefully you will read this and avoid this potential scam.

I’m not the only one who is unhappy with their endorsing system

Here’s the letter they are sending on my behalf:

Hi M*****,
I’m applying to join FounderDating (no, it’s NOT romantic) – a handpicked network of entrepreneurs – to meet other talented entrepreneurs. Can you do me a quick favor and vouch for (aka reference) me as an entrepreneur? Should take 2 minutes.

[link redacted]

(To prove that you’re the real M*****, you will be asked to use LinkedIn.)
The network is invite-only and they won’t consider my application without vouches, so I appreciate your help; adding your vouch will help me connect with world-class entrepreneurs.

Thank you,

Notifications – enough already!

If are annoyed by web sites offering to send you Notifications, the last thing you need is more distractions. Notifications were a pain on iOS and now that pain is available on OSX.

To turn of the near constant offers, go to Safari Preferences and uncheck the option for web sites to ask


New Anti-Spam Legislation vs our mailing list

Effective July 1st there is a new anti-spam law in Canada, aka CASL. We have been trying to contact some of you in order to keep you on our email list. If you received such an email, it’s important that you respond. If you do not opt-in you will no longer receive email communication from iT Guy Technologies (or Tim Mitra) including invitations to upcoming events, information on hardware and software, advisories on software updates, scams and newsletters and general information. We thank those who have “opted-in” to keeping in touch. If you have not, please click here to “opt-in.”

Our Mailing List


WWDC 2014 Keynote – what to expect

I posted a couple of images to the WWDC 2014 Glassboard page, for a couple of WWDC 2014 first timers. I’m reposting them here for those of you who haven’t heard about the board.

You can join the WWDC 2014 Glassboard discussion here:

Keynote line up and Badge pickup – I checked the timestamps on my photos from last year’s keynote. If you can pick up your Badge on Sunday. The line up starts early in the morning – I mean early! We went down at 6 am last year to join friends who lined up at 11pm Sunday. Apple let us into the building to line up on the second level at 7:15 am. There’s coffee, juices and pastries. We had to wait in the crowded halls until 9:30 am when they let us into the main room for the the keynote. Like others have said (I couldn’t find the old thread) you can line up after 9 am and you might also get into the main room. Lining up for the keynote is an experience like no other (except maybe the line up to Star Wars Episode VII). If you can travel down with some other devs, meet some in the line up. You can pick up your badge on Monday morning, but get it out of the way on Sunday if you can.


the keynote line is on the right side and wraps around the building. The line up on the left is the Monday morning badge pick up line.


 This is the front of the line inside at 7:20 am.


Going up the escalator at 9:30am (WWDC 12)


This is a close as you can get. Those seats in front are the VIP section. (those are friends who got moved up to VIP with their boss)


This was Steve at the keynote. Again from the second row, behind the VIPs. c WWDC 11?

Apple should allow users to review apps while they are in the app!

In my experience the majority of users do not tend to share their true feelings about apps – because it is not convenient to do so. One of the most popular apps, Clash of Clans, crashes constantly, several times a day. The developers, Super Cell, get 100s of reviews a day, mostly 5-stars and very few 1-star reviews. You really have to dig to find reviews about the crashing.
Unfortunately Apple has set up a horrible peer review system that is severely under utilized. It takes users great effort to write a review, good or bad. It is far easier to say nothing, or simply delete the annoying app. The developers are left completely in the dark. It would be best if Apple provided a way for users to review the app while still in the app! People will only act if they don’t have to leave the situation.
It’s horrible because new users DO read the reviews and decide whether to download or delete your app. Developers have been pleading with Apple to fix this for years. Apple is too busy building data centers or reducing the weight of the next iPhone.