Episode #10 – I am the one who knocks. I am Yosemite – Oct 8, 2014

This week we ponder the significance of Apple’s upcoming October 16th press conference, It’s been far too long. Will there be a new iPad, or Mac’s. What mountains will Apple climb next. We also take an overdue look at Estimote’s iBeacon implementation. We discuss the trilateralization of electrons and their effect on the disappearance of StarTrek hardware.

Listen or Subscribe on iTunes

Listen or Subscribe on FeedBurner

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!)

Hire Tim

Tim Mitra avatar

A few people have asked about hiring me on contract. So I put together this post:

I am and independent developer and designer working in iOS and web technologies. I have been involved in many app deployments on the AppStore, as the main idea guy or architect of apps; doing client work and some personal apps. Collectively we had over 500K downloads over the last 5 years, which I think it’s better than most. My background is in the graphic arts, print and publishing, and the IT work involved in those trades. However I have always made stuff and consider myself a solutions provider – my unique ability.

While I do wrangle developers, writers and artists, I spend the majority of my time actually writing code and assembling the apps. I am also the person who deals with the actual submission to the AppStore. So I can start an app from pen and paper sketches all the way to the App Store and analytics. While doing so I make stops to assemble copy, create graphics & UX, write the code, assemble the apps, localization, distribute the builds, wrangle git & branches, write server APIs, product management, as well as marketing and promotions. Soup to nuts as any indie IOS developer should be (and hiring out help on big projects).

I am located in Toronto Canada, where I try to run a small development company. I teach introductory courses on iOS development. I write for raywenderlich.com and I founded and host the More Than Just Code podcast.

Tim

resume and references available on request.

MTJC Podcast – Ep 9 – Flippin’ the table

Episode #9 – Vision is the art of seeing what is invisible… – J Swift – Oct 1, 2014 

In the light of some twisted media misdirection, we discuss the Apple’s ability to focus on issues. Are they moving too fast and trying to over deliver? We also delve into the state of Apple’s lauded new programming language Swift. Is it really ready for prime time?

 

Episode 9 Show Notes:

Apple:

Episode 9 Show Notes:

Apple:

iOS 8 Bugs reported by hundreds of users
iOS 8 bug could delete your iCloud Drive documents
Apple promised an expansive health app, so why can’t I track my menstruation?
iOS 8 bug affects health apps
iOS 8 causing widespread connectivity issues in cars/
It Just Works

Swift:
https://twitter.com/marcoarment/status/517120706287792128
https://twitter.com/ashfurrow/status/516935239592316928
Swift Essential Training
Book – IOS 8 by Tutorials

Doublie app
https://ello.co
Spigen – iPhone 6 Air Case

 

Listen:

[twitter url=”https://itunes.apple.com/ca/podcast/mtjc-podcast-podcast-about/id906987516?mt=2″ hashtag=”#MTJC” text=”Spookiness in MTJC Episode #8 – Psychic iPhone 6 Plus Bending? Listen to the Podcast on iTunes or FeedBurner” float=”left”]

[button link=”https://itunes.apple.com/ca/podcast/mtjc-podcast-podcast-about/id906987516?mt=2″ bg_color=”#cf93cf”]Listen on iTunes[/button]

[button link=”http://feeds.feedburner.com/MtjcPodcast-APodcastAboutIosMacDevelopment” bg_color=”#cf93cf”]Listen on FeedBurner[/button]

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

IMG_5124-cropped

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.

MTJC podcast – Ep 7 – Wait! What? How much?

Episode #7 – Wait! What? How Much – Sept 17, 2014 

In the 7th episode we discuss:

  • John Gruber’s hypothetical Apple Watch pricing
  • Upgrading to iOS 8 and caution over updating to iCloudDrive
  • Experiences around pre-ordering iPhone 6 and which models we each chose and why
  • Mark Rubin Phd surprises some of us with his knowledge of integrated circuit manufacture.

 

Episode 7 Show Notes:
Apple Watch: Initial Thoughts and Observations
Intel: Apple’s ‘A8′ Chip Exposes Shortcomings, Says Semi Advisors
Only Stephen Fry can make a keyboard sound profoundly life-changing
Orchard app – sell your iPhone
Panic Transmit for iOS
The Vector Project

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.

 

Supporting StoreKit Affiliate ID in iOS 8 w/o breaking iOS 7

As you may already know, iOS 8 finally supports loading a StoreSheet complete with your Affiliate ID. This way you can keep users in your app without sending them over to iTunes or App Store apps and still get commissions from Apple. However if you want to support iOS 7 users (for the time being) you will need to load the Store Kit Product Parameters with the playlist only – or your app will crash. So naturally check for NSFoundationVersionNumber to test for version iOS 7.1 or 8.0 and load the correct parameters.

You can watch the WWDC 2014 Video about this new feature.

Here’s the code using contstants to hold IDs for your playlist, affiliate and campaign IDs.

– (void)openAppStore:(id)sender {

    // Initialize Product View Controller

    SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewControlleralloc] init];

    // Configure View Controller

    [storeProductViewController setDelegate:self];

NSDictionary *parameters;

    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1) {

        // Load resources for iOS 7.1 or earlier

        parameters = @{SKStoreProductParameterITunesItemIdentifier:kPlaylistID};

    } else {

        // Load resources for iOS 8 or later

        parameters = @{SKStoreProductParameterITunesItemIdentifier:kPlaylistID, SKStoreProductParameterAffiliateToken:kAffiliateID, SKStoreProductParameterCampaignToken:kCampaignID};

    }

[storeProductViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError *error) {

if (error) {

NSLog(@”Error %@ with User Info %@.”, error, [error userInfo]);

} else {

            // Present Store Product View Controller

            [self presentViewController:storeProductViewController animated:YES completion:nil];

}

}];

}

 

Overexposed and the Attack of the Clones

IMG_1317Our 5th installment of the More Than Just Code podcast is now available. In this episode we discuss the impact of the leaked nude celebrity photos, apparently stolen from their private iCloud accounts. Beyond the social issue of these lady’s privacy violations, we discuss the nerd’s perspective of how to access and strengthen your passwords with apps like AgileBits’ 1Password app for desktop and mobile devices. We also touch on 2-factor authentication for online accounts.

Mark sent in some photos of a mystery building that Apple has set up on De Anza College in Cupertino, near where the Sept 9th Apple Press Conference will be held. We all speculate on what products will be revealed and what their impact will be. Will it be a new iPhone 6, iWatch or AppleTV.

Jaime brings forth an new example of iOS 8’s extensibility in the form of a custom keyboard from Minuum. Mark brings up Swing Copters again and Tim dives right in. Aaron praises and laments the Overcast podcast app. Tim discusses the new Star Wars Commander app and compares it to Clash of Clans.

[button link=”https://itunes.apple.com/ca/podcast/mtjc-podcast-podcast-about/id906987516?mt=2″ bg_color=”#cf93cf”]Listen to the Podcast Here[/button]

Episode 5 Show Notes:

Google 2-step authentication
FaceBook Tweaks
Celebrity photos leaked
Creepy Men
How to step up Two Factor Authentication on iCloud
TechnoCreep by Thomas Keehnan
Minuum Keyboard
App Annie App Ranking, Intelligence & Marketplace
iPassword for Mac
iPassword for iOS
Star Wars Commander
Swing Copters