Another Lesson Learned at the Feet of Apple

Another Lesson Learned at the Feet of Apple

XCode

Some Days. Amirite?

First, our Enterprise Developer Account expired. Joyful.

So, I spent the morning creating new certificates and provisioning profiles, downloading them, and installing them on my developer machine.

After reprovisioning and recompiling, I load up new .ipa files… and while two out of the three of my .ipa files install as advertised, when deployed over the air – the third one did not.

Now, the Apple ecosystem isn’t known to always give the most direct error messages. “Could not install application” didn’t really inspire me with a Eureka! moment on where to start hunting down my issue.

My next thought was to simply copy the problem .ipa file to iTunes, and try to sideload the sucker. I was greeted with this message: App could not be added to your itunes library because it is not a valid app.

… and so I start Googling around, which led me to several posts (here, here, and here).

OK, then. Back into XCode. Double checked everything. Things look OK. Scratch head.

I next get the bright idea to try to use XCode’s Organizer to load the .ipa file directly to my device (not gonna let the dumb stick to me!). When I do that, I get this error message: Could not inspect the application package.

What the actual what?!?

I’d renamed my Product name in my project. I had valid certificates and provisioning profiles (and two working apps using the same that were doing fine). I didn’t have a directory or a file named resources in my project. I had no errors in my build. And, before our account expired, all three of my apps were loading just fine over the air, thank you very much.

What in the hell was going on here?

Well, three things, really, that I haven’t shared yet.

  • I had updated to iOS 8. Not really a suspected cause, because the app wasn’t loading on any devices any more, regardless of OS level.
  • I had upgraded to Yosemite. Which means…
  • I had updated to XCode 6.1 in order to accommodate iOS 8 and Yosemite.

Oy. This was it.

The only thing I knew to do now, was to look at the project file source between my two working apps and the non-working one to see if anything jumped out – nothing did.

Finally, in an act of desperation, I renamed my bad app’s Application .plist file, and copied over the .plist file from one of the working apps, into my project.

Bingo.

Why did XCode 6.1 suddenly not like a .plist file, that had worked perfectly fine before, but now puke it up altogether after I upgraded?

Who knows. Who cares?

All I know is, I spent all day, hunting down essentially a problem in the way that a tool handled a once valid .plist file, but inexplicably and mysteriously stopped liking it after an upgrade.

Some Days. Amirite?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s