Episode 167 – Death By Design

We start this week’s show with a discussion about preordering the iPhone X. We follow up with the Quick Start method for migrating your identity to a new iOS device. We also follow up on predictions of iPhone X supply rumors. Death By Design is a documentary about the creation and disposal of all the electronic devices we crave and their toll on some societies and the environment. Jaime lightens the discussion with a look a the percentage of games using ARKit. Picks: Theodolite, iOS 11 Bug: Typing 1+2+3 Quickly in the Calculator App Won’t Get You 6, Face Tracking with ARKit.

Episode 167 Show Links:

Episode 167 Picks:

Episode 122 – What is Internet?

This week we answer #askMTJC about how we use the pragma mark in our apps. We also follow up as we test drive Setapp’s beta program. We discuss the @available attribute in Swift that allows you to use new iOS features while maintaining backward compatibility. We the new Bluetooth 5 announcement and discuss some contradictory articles on the wearables market. Aaron gives a status report on CarPlay in his new car. Picks: Pre-Apple return Steve Jobs TV interview, Wang 1980’s TV commercial and Inside the secret meeting where Apple revealed the state of its AI research.

Sponsored by: Buddy Build

Episode 122 Show Notes:

Episode 122 Picks:

Episode 79 – Your Back Door Man

This week we discuss the Letter published by Tim Cook in response to the FBI’s request to create a “back door” into iOS. We talk about Panic’s Prompt app update. We ponder Rob Rhyne’s departure to join Apple and Jaimee Newberry’s rise to COO of MartianCraft. Greg sneaks in a couple of posts on Blackfish and Swifter; two Swift based http servers. Picks: Quartz iOS App, Earl Grey and The Astonishing Powers and Mesmerizing Secrets of 3D Touch.

Episode 79 Show Notes:

Episode 79 Picks:

Episode 14 – Cracking the iOS Job Interview

This week we discuss the challenges of iOS job and contract interviews for the rest of us. We discuss common interview approaches, how and why the don’t work. We also revisit the age old native mobile app versus web apps – is it still a relevant approach in execution and cross browser use. We discuss Ben Thompson’s post on how Apple leverages its market place dominance as the world moves toward Apple Pay. This weeks picks is an Apple Watch Simulator – Happy Watch

Episode 14 – Show Notes

Cracking the Code Interview Programming Questions – Gayle Laakmann McDowell
Lukas Mathis on Web vs Native Apps
Apple’s leverage with Apple Pay

Pick

Watch Simulator – Happy Watch

sky deck
sky deck

Listen or Subscribe on iTunes

Listen or Subscribe on FeedBurner

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];

}

}];

}