9

I was just trying out a project of mine which had Three20 in it and it seems that it doesn't compile/gives me build error. Seems like it's because some of the UITouch interface has changed. Wonder if there's a quick fix to do this?

Seems like here is the issue:

UITouch ivars have been removed of the iOS 6 SDK headers: private API access in UIViewAdditions breaks the build on iOS 6.

Mark Adams
  • 30,776
  • 11
  • 77
  • 77
adit
  • 32,574
  • 72
  • 229
  • 373
  • 6
    Not an answer to your specific question, but Three20 hasn't been updated in over a year and even Facebook, who it was developed for and by, has stopped using it. That's a pretty clear sign that you should probably start moving away from it as well. – Mark Adams Aug 29 '12 at 22:05
  • 1
    Isn't iOS 6 under NDA anyway? – esqew Aug 29 '12 at 22:25
  • I agree with mark, time to move away from three20. I think we've gotten away with three20 on iOS6 with the skin of our teeth, but I don't think it will survive iOS7 .. I'm just about to begin a complete rebuild of my app which is completely reliant on three20 so that I don't end up screwed when iOS7 comes out. Painful, but necessary – Steven Elliott Oct 17 '12 at 16:52
  • Anyone have any recommended alternatives to Three20? – Shannon Cole Jun 01 '13 at 19:12

1 Answers1

34

This patch on GitHub seems like it fixes this problem when using Three20 under iOS 6.

Basically the patch is to update src/Three20UI/Headers/UIViewAdditions.h and src/Three20UI/Headers/UIViewAdditions.m and change all references of

#ifdef DEBUG

to this:

#ifdef DEBUG_TOUCHES
jonkroll
  • 15,682
  • 4
  • 50
  • 43
  • Thank you! Updating to new iOS versions ALWAYS breaks three20, this was probably the easiest update yet thanks to your info. – mjdth Sep 28 '12 at 17:51
  • Thank you for this! For anyone like me that wants to keep their submodules sanitary, I've created a branch in my fork with this patch: https://github.com/cglong/three20/tree/ios6 – Chris Long Dec 20 '12 at 00:44