If you have a “case of the Monday’s”, then you’re in luck! I’m going to start giving updates on Mondays for a change.

Mac OS 10.8 Broke Daily Builds

So first thing’s first, what does that title mean? Well, Apple is mere days away from releasing their update to Mac OS, version 10.8 a.k.a. Mountain Lion, so we wanted to make sure we were fully compliant so that the Corona Simulator would run without a hitch. Unfortunately, we’ve faced numerous headaches from XCode tool bugs, project migration issues, GateKeeper/code-signing, etc. that derailed our normal feature work. On top of that we had to take our daily build machine down and get it working properly on 10.8.

Now, some of you have noticed that daily builds haven’t been going up — I’m talking to you Rob :-) — now you know why. We were caught off guard by the effort it would take to support 10.8. Apple’s been making breaking changes but usually not this many. Next time, we’ll do a better job of giving you all a heads up.

Mac users: 32-bit => 64-bit

It’s not just Apple’s tools that have made breaking changes. Apple is using carrot-stick tactics to force everyone off 32-bit and upgrade to 64-bit. One tactic has been the minimal effort on ensuring 32-bit backward compatibility. For example, the Mac OS API’s that power the network status changes in our ‘network’ library worked in 10.7 but are broken in 10.8 — unless you move to 64 bit.

We decided it didn’t make sense to fight a losing battle, especially when the rules of engagement are controlled by Apple. So we have decided to accelerate our transition to 64-bit. Today’s daily build 860 will be the last daily build on the Mac that supports 32-bit. The next daily build will only run on 64-bit hardware.

Will your Mac run future builds of Corona? There’s an unofficial list of supported Macs on wikipedia.

2-on-2

We just about have this 10.8 situation under control, so several of us are moving back on features. That means we’re going to kick off 2-on-2 for real this time. One of the many things we want to tackle this week are various native views on Android: WebView, VideoView, and MapViews!

During the idle moments of troubleshooting 10.8, we also found some time to get some low hanging fruit items like ‘display.captureBounds()’ and the ability to add image files directly to the photo library via ‘media.save()’ that were slated for later cycles.

Documentation

One of the things we’ve been promising is updates to the documentation that correspond to the daily builds. Starting in today’s build 860, you will now be able to get daily snapshots of the daily documentation.

When we add new features, we’ll be updating the documentation to go along with it. You won’t have to meticulously parse release notes in the daily builds anymore to know how to use new features. You’ll just download the corresponding snapshot of the documentation.

And when you open the snapshot documentation page, you just have to look at the revision field up at the top of each page. This tells you what daily build that page corresponds to.

Finally, we love the feedback you give on the public Corona API docs. We update these several times a week, and those improvements are also fed directly into the daily build documentation snapshots.

* * *

Okay, that’s it for now! Stay tuned for more next time. Same bat time! Same bat channel!

walter

  1. Hi,

    Does anyone know if we will be forced to update to Mountain Lion ?

    I know when I started with Corona and to get the latest xCode tools I had to install Lion.

    Dave

  2. So i have to buy a new mac pro, as i’am on a mac pro 1,1 dual quad core (upgraded) :) with ATI Radeon HD 5770 1GB / 16GB internal , grrrr….

  3. I’m scared! If I need to have Mountain Lion for a new Xcode version I’m fucked. My Mac is old (but sill working superb, so why update? ) and I’ve a fresh Corona license.

  4. So just to be clear…. We are good to install Mountain Lion and still be able to run Corona SDK as long as I get the latest build…

    Do I need to upgrade Xcode?

    And I do appreciate the updates on the daily builds!

  5. @Rob Are we? (good to go ahead and install) After reading this post Im still not 100% sure about this. Walter please confirm.

    Corona team, thank you for all your efforts and hard work, much appreciated!

  6. IOS works fine, doesnt use a keystore.

    Just android/nook/kindle when you compile for release.

    doesn’t accept a LIVE keystore (works fine with a debug keystore)

    Upgrading to mountain was a mistake. I advise to hold off until these issues are resolved.

  7. Sorry if my wording confused you…. I’m actually asking the question

    Is it okay to install Mountain Lion and still be able to function with Coronal SDK and do we need to upgrade XCode?

    By no means should anyone read my first post as a blessing to go ahead but simply a question “Are we good to go?”

  8. @JanosF

    No guarantee.

    Knowing what i know now… i would wait until everything blows over, unless you have a second mac that you DONT upgrade that you can use as a backup.

    I hate to say it, but i dont think the corona guys test really well, i noticed in their daily builds, things dont work right.

  9. @Rob lol yeah that was confusing without the question mark! :)

    @karl I agree, Im gonna wait till I read another post stating that everything is OK and I see ppl confirming that by comments. Thanks for sharing your experience quickly and sorry for your headache!

  10. Yes, now we are good to go :)

    If you want to run on 10.8, you should get daily build 862. This one resolves an issue that was reported with running in XCode’s iOS simulator.

    Also, you’ll want to upgrade to XCode 4.4 which requires 10.8 (Apple just posted it today on the developer.apple.com site). It also might be on the Mac App Store, but I haven’t checked.

  11. good to go?

    what about android?

    you can not build with a release keystore.

    i tried it on 2 different machines. (862 and 4.4)

    I tried regenerating the keystone.

    it just keeps looping asking for the keystore password.

  12. Ouch! I was focused on iOS and was premature on Android.

    Yes, looks like another unexpected 10.8 breakage. The Cocoa dialogs that handled entering passwords for key aliases works on 10.7 with build 862, but inexplicably break in 10.8.

    We’re looking into it…

  13. Where is levels by the way?

    Seems to be taking a while to materialise (in case you’re wondering about spelling. I’m from England where z is a last resort).

  14. Update regarding the Android issue.

    We’ve confirmed this is an Apple bug introduced on 10.8. If you have an Apple dev account, you can read a thread about it here:

    https://devforums.apple.com/message/695482#695482

    We’re hitting an issue with storing/fetching the keystore alias password in the keychain. That’s why you get in an infinite loop. Specifically, the bug in 10.8 is related to SecKeychainFindGenericPassword failing in 10.8 even though it worked fine in 10.7.

    • I guess it’s a good idea for all of us to report this bug to Apple to help give it a bump in their priority queue…

      Which info should be given so they can understand what’s it’s about, and is there already an rdar number that can be referred to?

      (I only have an IOS developer account, so I can’t read the devforum link you posted above which I assume requires an OSX dev account…)

  15. Walter, that link doesn’t work for me (logged into iOS Dev forum). Do you you need a Mac Dev account to view the message?

    Assuming we should hold off on updating to ML if we want to build for Android?

  16. UPDATE for Android/10.8 custom keystore issue.

    In daily build 865, we think we have a workaround for the 10.8 bug that affects Android device builds (for custom keystores).

    We verified on 10.8 machines here, but we’d like to know if some folks can give it a try to corroborate our findings.

  17. Walter – the daily build (865) is corrupt. it installs fine, but when you start it, it gives an error “application is corrupt” and wants to “move it to trash”.

    The other issue with it is the picker wheel change you made in 861?

    we did report a bug and they are working on it, but the problem is if you use the picker wheel in any of your apps, you cant use 861-865.

    which means we are pretty much screwed if you are on mountain lion, you cant compile for android if you don’t upgrade, and your picker wheels are screwed up if you do.

    so you can release anything.

    Hopefully you will back-out that pickerwheel change, and upload a binary we can install.

  18. ok Walter, I tried 867. The keystore appears to work now!

    I even tried messing with it a few different ways (like deleting and recreating keystores etc), and it looked like it worked perfectly in every case.

    So i think that one is good.

    The biggest problem we are facing is the broken picker wheel. the company i am doing this for is ready to release, and they cant with a picker wheel that looks like its tripping on drugs.

    If they cant fix it, can they at least remove that “new” feature until they get it to work?

    Normally I would just go to an earlier version of corona, but you cant with mountain lion, its either 867 or dont release anything for android/nook/fire because you cant compile with a non-debug keystore.

    It was just really bad timing for your developers to put a non-working feature that affects the UI, at least wait until there is a stable mountain lion version.

    and even if you are using IOS, if you use a pickerwheel on an iPad, and its not at the bottom of the screen (which 99% of the time its not), then your picker is useless and doesnt function correctly at all.

    So basically, anyone developing any tablet targeted app that uses a pickerwheel, if using mountain lion, is screwed until its fixed.

  19. I can assume that the public trial release (Build 2012.840) will not work with the new Mountain Lion OS/Xcode 4.4 versions for Mac OS and we’ll have to wait until its updated (or upgrade to subscritption service of course)?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>