Match Stream Crash in Unity

There is a known bug in the interaction between Unity and iOS 7 that can randomly cause the game to crash when interacting with certain UICollections and UITables. This bug was fixed in Unity 4.3. However, you will likely experience it if you are using any earlier version of Unity.

We have found a workaround for this problem if you are using an earlier version of Unity, and do not want to have to upgrade to Unity 4.3 or higher:

http://forum.unity3d.com/threads/203506-Workaround-ios7-DisplayLink-Scrolling-results-in-crash

Basically, you will need to open UnityAppController.mm in the XCode project generated from Unity. Then, in its repaintDisplayLink method, comment out all of this code:

[_displayLinksetPaused: YES];

{
	staticconstCFStringRef kTrackingRunLoopMode = CFStringRef(UITrackingRunLoopMode);
	while (CFRunLoopRunInMode(kTrackingRunLoopMode, kInputProcessingTime, TRUE) == kCFRunLoopRunHandledSource);
}

[_displayLinksetPaused: NO]; 

This workaround should also fix the problem. However, keep in mind that if you re-build your XCode project and overwrite your old one, you will need to make this change again. Because of this, we recommend you upgrade to Unity 4.3. However, this workaround is available if needed.