three20 and iOS 6 not working
Asked Answered
K

1

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.

Kanzu answered 29/8, 2012 at 22:2 Comment(4)
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.Faeroese
Isn't iOS 6 under NDA anyway?Epicedium
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 necessaryImpulsive
Anyone have any recommended alternatives to Three20?Ariminum
H
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
Hipbone answered 29/8, 2012 at 22:22 Comment(2)
Thank you! Updating to new iOS versions ALWAYS breaks three20, this was probably the easiest update yet thanks to your info.Matthieu
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: github.com/cglong/three20/tree/ios6Sthilaire

© 2022 - 2024 — McMap. All rights reserved.