Three20 app store rejection (UITouch) - removed offending code, Release build but exists in binary

779 views Asked by At

I know that there are a lot of posts in about Three20 app store rejections due to private UITouch variables and I've read them all but I still haven't been able to solve the problem:

The non-public APIs that are included in your application are the following undocumented private UITouch instance variables: UITouch._locationInWindow
UITouch._phase
UITouch._previousLocationInWindow
UITouch._tapCount
UITouch._timestamp
UITouch._touchFlags
UITouch._view
UITouch._window

Steps I've taken:
1. Removed offending code from Three20UI.xcodeproj
2. Release build

However, when I do a simple grep _phase libThree20UI.a (the resulting binary) I still get the result "libThree20UI.a matches". Any suggestions would be greatly appreciated.

2

There are 2 answers

2
bbum On BEST ANSWER

There is a rather long thread about this over here. That seems to be from nearly 2 years ago. Has Three20 not been updated in the interim to remove the offending symbol use?

Make sure you build totally from clean; nuke your objects, if you need.

1
Eamonn Fallon On

As far as I know, this rejection is caused by either uploading a Debug version of your app or by having a variable called DEBUG in your code. If you are using the latest version of three20 all the private calls have been removed for quite some time now