Strange application behavior when building a project with the latest xcode/OSX version - objective-c

I have an OSX application written in Objective-C/Cocoa using xcode. The application is quite finished, tested and sold on the App Store.
I haven't worked on this application for some time and recently, I rebuilt it using xcode 4.3.3 on my OSX 10.7.4 and I noticed that while it builds just fine, there are some very strange visual glitches when running the application that were never seen before and occasionally, I get EXC_BAD_ACCESS when closing the application. All these seem to be related to the PDFKit framework I am using. I am unable to debug these problems since the glitches are just visual (nothing I can check in code) and EXC_BAD_ACCESS exception comes from internally allocated objects not related to my code.
The code itself haven't changed, I tried previous revisions of the code and they all exhibit the same strange behavior now. I tried running an old binary I have of the application (compiled couple of months ago) and it works just fine. Then I tried building it with previous versions of xcode, down to 4.2.1 (which I know was ok when I submitted the app to the app store) and the problems still occur.
Then I suspected this may be something specific to my environment so I built the project on different machine also with xcode 4.3.2 and OSX 10.7.4. Same results, the problems are still there.
So now I suspect that it has something to do with the OSX 10.7.4 update since this is the last thing that was changed between now and when I was able to produce a good build of the application. I am pretty puzzled to what to do next and how to identify the cause of this problem. I have an old binary that is working fine and I have a newly compiled binary of the same code revision that has problems.
Is there any useful information I can get from the difference of these binaries? What can I do to determine the cause of these problems? What can I try next?
Thanks!
NOTE (update): I stated it above but I want to make sure it is clear. This is a Mac OSX Cocoa application, not iOS.

just reset your simulator then try.
I hope you check the ARC information
go to your project Target set build settings --> Search Paths-->Always Search User Paths Set Yes.
And check your all class variables different from one another.
Xcode--> preferences-->Documentation check installed core Libraries (or) install it
like that
Xcode--> preferences-->Components check required component installed or not
check these things in your project.

Are you sure your customers are not having the same problem? Since you have tested the application on a different machine you probably do not have corrupt libraries installed (unless you did not install from scratch but used some migration tool?), so that is probably not the problem.
Most logical explanation to me would be that your customers also have this problem but they haven't reported it yet. In that case, you probably have a memory problem and there are techniques to attack that.
In any case, eliminate all the parameters that you can eliminate to simplify the problem. Deconstruct the application until the problem does not occur anymore or reconstruct the application in a different project until the problem occurs again.
It sounds like a nasty one, but you'll get there in the end, with patience and perseverance :)

First of all, you need check and verify the build log for suspicious compiler warnings.
For EXC_BAD_ACCESS, XCode analysis will give useful information.
You could try 10.6 or 10.5 (need manual installation) SDK. Or restrict the deployment target to 10.5 or 10.6.

I will answer my own question (since none of the above answers really answer it) so anyone with a similar problem might have a hint. I was not able to understand why exactly this happens but I'm pretty sure this is not a problem with my code but rather some glitch on Apple's side. And there is a workaround.
First, I compiled Apple's sample "PDF Annotation Editor" project on my Lion 10.7.4 and while the functionality is obviously different from my project, it also exhibited similar glitches with the PDFView display that my project does when compiled with 10.7.4
Then I proceeded to building a fresh clean system on new hard disk. Intalled Snow Leopard and upgraded to 10.6.8 and ONLY installed xcode. Compiled my project (the source code always stays exactly the same) and everything works fine. No problems seen in the compiled project.
Updated my OSX to Lion 10.7.4 and xcode 4.3.3, same source code. The problem is there after I compile it. I am pretty sure that if I tried 10.7.3 first, I would not see the problem as I remember it only starts with 10.7.4 but Apple doesn't provide any reasonable way to update to 10.7.3 first or downgrade to it after 10.7.4 is installed (shame on them, not very developer friendly!).
So, the problem appears in 10.7.4.
Then I installed the pre-release version of 10.7.5. This was the only thing that was changed, same source, same xcode. To my surprise, the compiled code works flawlessly now and the problems seen with 10.7.4 are now gone!
So my workaround - wait for 10.7.5 release before working on the project further. Hopefully Apple won't screw it in the future with Mountain Lion. I don't think I am going to try and debug it further or submit a ticket to Apple, going to be a tough case to explain.
Thanks for the responses.

Related

On macOS I am having an issue. Running 10.14.2 in all my non-sandboxed projects, in any NSOpenPanel, the right click commands do not work. Any Idea?

While developing a Cocoa sandboxed application, I discovered that if I switched it to non sandboxed, in all the Open Panels of the application, the right click commands (Duplicate, move to trash etc.) do not work any more. I am certain they did work no more than two weeks ago, but I have reverted the project to old commits and the misbehaviour is still there. I tried everything, until I realised that this misbehaviour now appears in all my projects, if I switch them to non-sandboxed. This makes me think it may be some kind of bug introduced in 10.14.2 or something similar. I hope somebody else has experienced the same issue so that we can understand better what is going on. Thanks
P.S. I am using the latest Xcode 10.1 (10B61) and tried on several machines. It is the same misbehaviour.
The OS might be confused by having some contradicting leftover knowledge about sandboxed and non-sandboxed versions of the app with the same version / bundle ID / signature.
Some things to try:
Test the app on a fresh user account.
Delete the app sandbox container from your Home Folder > Library > Containers.
Temporarily change app bundle ID to something new to see if it’s still affected.

XCode autocomplete not working for a particular project in Objective C

I am currently on XCode Beta Version 9.3 beta 2 (9Q107o. I am facing some issues with a particular project. Autocomplete seems to have broken for the project. Its working fine for other projects.
Can anyone please help. Can't seem to figure out.
Thanks
Autocomplete working in Xcode is by no means guaranteed and definitely not for a beta. Try quitting everything, deleting your derived data, restarting your computer and if that doesn't work, go back to a supported version.
You can do as #Alper say, If it doesn't work. try restore Xcode to the default Settings ,than restarting your Xcode
This is the officially recommended way to delta Xcode preferences, type in Terminal.app:
defaults delete com.apple.dt.Xcode
That should restore Xcode to the state of its first launch.
(for older versions of Xcode the command was defaults delete com.apple.Xcode, i.e. without the dt in the middle).

XCode 6.1crash on run project

I upgraded XCode to versin 6.1 (6A1052d) and now my project crash when i try to run it on simulator.
Doesn't happen all times. The pattern seams to be after i made code changes.
No exception is throw, the XCode just restart as nothing happened.
It's running on Yosemite 10.10.
I already try:
change the computer language to english U.S and region to U.S, which was recommended to fix a similar problem in a early version.
recreated the project. Project has both Swift and objective-c, shouldn't matter but anyway...
find info on xcode logs. No logs are generated at library\logs when this happens. Any place where i can find xcode logs?
This is odd, i don't believe that xCode release its so buggy that don't run properly, so must be something less usual in settings or in project that testers missed, but have no clue of what.
fwiw, I found that this issue doesn't happen if I use the cmd-R hotkey instead of clicking the Play button.
I can also verify that this isn't a crash. It's as if the Close Workspace command is being invoked at the wrong time. Definitely a defect though.
I'm on Yosemite 10.10.1 running the latest Xcode 6.1.1. The project was upgraded from Xcode 5.1.1 where it continues to work fine. Not using Swift. US English. Pretty standard install.

Compiling/Running Cocoa Project implementing NSSharingServicePicker in 10.7.x

I am learning about Objective-C/Cocoa and have downloaded the source code to a popular TeX typesetter and loaded up the project in XCode to play around with it. Compiling fails, and all of the error messages I have seen (so far) have to do with something called NSSharingServicePicker not being recognized. I gather (from this SO question and this Apple documentation page) that this is a class not available in 10.7.x. It therefore makes sense why the code won't compile on my Lion machine.
My question is, I guess, why I am able to run the downloaded package of TeXShop on 10.7 at all? (According to the website, this version is for OSX 10.7 and up.) I am interested in making a few minor changes to this project; am I not able to check my changes/compile unless I'm using a Mountain Lion machine? Is there some kind of update I can download for coding/compiling purposes?
Assuming you are using Xcode 4.6.*, you should be able to set your project to use the 10.8 SDK and get past the compile errors. (That's the "Base SDK" build setting.)

clang Can't find any frameworks

I've been tearing my hair out over this, and Google hasn't yielded much so my problem must be caused by my own specific brand of stupidity.
Basically, having installed Xcode 4 I removed the /Developer-old folder (properly, can't remember the command but I used the uninstall script rather than sticking it in the trash).
Xcode builds projects fine, and the latest version of all the Objective-C frameworks seem to live in /System/Library/Frameworks, but when I compile something (which built fine in the Xcode 3 days) clang complains that it can't find any headers, e.g:
fatal error: 'Cocoa/Cocoa.h' file not found
I've tried forcing the framework search path with -F to no avail- is there a common underlying issue or have I just screwed my machine?
Reinstall the developer tools. It will take a lot less time than tracking down whatever you broke.