On Oct 24, 2011, at 12:21 AM, Joar Wingfors wrote:
On 23 okt 2011, at 12:38, Andreas Grosam wrote:
...
If the app isn't updated when the static lib is updated, that sounds like a bug to me. Please file a bug report:
<
http://developer.apple.com/bugreporter/>
I really regret, but I couldn't reproduce this problem in a simple test project created with Xcode 4.2. There, it works as expected.
A note though: when I remove the second target from the application's Built scheme in my failing project, all works correct. But IMHO at worst, this should be a redundant project setting. So, I suspect other existing issues may be possibly related to this:
Xcode sometimes seems to have trouble associating file references when adding files into existing groups .That means, the entries within the group remain "red" and I have to associate them manually in order to fix this. There are similar issues with library files and product files. So, when Xcode sometimes fails to find files (without issuing error messages), how can it correctly determine dependencies? Well, just a guess.
The folder hierarchy may not be the usual case, since source files reside in their own folders, and projects in others (file paths?). In the test project, I actually mirrored the file hierarchy, but with no success to simulate the error. The above issue, Xcode failing to associate file references when adding files, occurred here as well. Hm...
Xcode also logs a bit too much error messages for my taste, so that I suspect that not everything in the project settings is correct and the issue might be symptom of another one. The failing project has been originally created with Xcode 4.0 and then has been updated several times to eventually Xcode 4.2.
For instance:
10/23/11 11:21:35.871 PM Xcode: [MT] IDELogStore: Failed to open Build log store: Error Domain=IDEFoundationErrorDomain Code=1 "deserialization of log failed because of a version number mismatch" UserInfo=0x401ee5e60 {NSFilePath=/<path>.xcactivitylog, NSLocalizedDescription=deserialization of log failed because of a version number mismatch}. User info: {
NSFilePath = "/<path>.xcactivitylog";
NSLocalizedDescription = "deserialization of log failed because of a version number mismatch";
}
Cleaning the Build Folder does not affect this error message.
Hope this helps.
Some notes to the transcript pane:
When looking at the transcripts, it appears Xcode *always* reports *everything* that can be possibly precompiled, compiled, copied or linked, etc., even though there is no need to do this. Actually, it won't do this, and the time-stamp proves this, but there is no visual difference that makes this obvious and clear.
Look at the "All" vs. "Recent" toggle in the scope bar at the top of the log editor. Xcode defaults to showing all existing issues in your project, not only the ones that were discovered in your most recent build.
Ah! I should know this already :) (displaying the time-stamp or some small flag which indicates a "skipped" production would be nice, nevertheless)
j o a r