-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Travis use Xcode 7 #671
Travis use Xcode 7 #671
Conversation
Interesting, so it is an Xcode 7 specific issue with our test harness I would suppose? Testing often results in test-specific issues :(. This code has been working since the late versions of Xcode 4.6 or so, and thus although it may need a change to handle the Xcode changes, I don't think it has been recently broken. Can you confirm running the tests locally reproduces the issue? I'm away from a computer but if no one has figured it out by the time the plane boards, I will debug. Sent from my iPhone
|
Yep, running it locally does reproduce the issue. The issue isn't test-specific – any code that calls EDIT: I was wrong about that. It happens only in the test harness |
Spent some time looking into this, but have run out. I have a number of other priorities that I can't bump in the next couple weeks, and am worried I just won't have time to get the testing system running on Xcode 7 in September. If anyone wants to take a deeper look, the help would be thoroughly appreciated! I got past several of the issues, but it remains a mystery why they are popping up at all (e.g., the implementation counterpart to the CALayer @dynamic for asyncdisplaykit_node indeed seems to be missing, and adding the implementation fixes that issue, but uncovers a bunch of similar ones). Before forging ahead to blindly "fix" anything "missing", we should go back to 6.4 to understand what might have changed / how it was working before. cc @nguyenhuy, @levi |
Thanks for cc'ing me, Scott. I strongly agree that we need to understand the root cause first. I can spend time on this issue later this week, or even early next week. I've been insanely unproductive these days due to my serious procrastination problem and/or having a cold. Anyway, if anyone can work on this before me, please do. |
Note: I figured out how it's working normally – |
Aha! Right, somehow I’d forgotten that. I wonder why the hell that is no longer working with Xcode 7, only in test targets…
|
I spent more time investigating this. I'm actually pretty worried at this point, because I don't have a lead or a good idea for the debugging approach. The tests are definitely running within a UIKit app. The stack traces that show the calling of the @dynamic methods (which crash for doesNotRespondToSelector) clearly show UIApplicationMain at the bottom of the stack. I don't think there should be any difference between the way CALayer handles the @dynamic methods in a regular running session vs the test app, but there quite clearly is. There is at least one place where we may depend on the fact that CA makes the properties KVC-compliant when it generates them itself. I'm not sure if this would be supported if we manually implemented these methods, and would really like to avoid doing that until someone is able to help us understand the root cause for the behavior change. The biggest mystery here is not only why the same code behaves differently under Xcode 6.4 vs 7.0, but also why it only affects the test application. I studied the project file / build configurations, but didn't see anything suspicious in the setup for the test environment. I'm downloading Xcode 7.1 Beta 2 to try, although I don't expect it to fix the issue. |
Xcode 7.1 Beta 2 has the same issue, as does 7.0.1. |
I've opened a Radar and pinged the wizards at Apple to help investigate this unusual issue. Hoping to unblock the wonderful #664 as soon as possible! |
Sadly there is zero traction whatsoever on the Apple issues, so it is going to take months to land this. I am going to close the PR until we are on Xcode 7, and then reopen. |
Enable Xcode 7 by default for Travis build server.
@appleguy Pursuant to #664 (comment) , here's a branch that just has the Travis updates. On my local machine using Xcode 7A220 I still get the same unrecognized selector errors for category properties like
CALayer.asyncdisplaykit_node