App does not run on device anymore... freaking out - objective-c

out of nowhere I started getting the following error when I tried to run: Xcode, Duplicate symbol _main
So I read on another post that the solution was to remove the items from targets -> compile sources
Now it will run on the simulator only. It first starts to load on the build bar but once it gets to about 10%, it stops and stays like that for 20 seconds and then say build Succeeded (no errors) but won't ever launch onto my iOS device. Been trying to figure out whats going on for the last 2 hours. Can someone please help me?
Thank you so much

If it runs on the simulator then it doesn't seem to be a problem with the code.
Although I've never encountered this particular error, a lot of XCode's problems can be solved by disconnecting the device, deleting the app on the device, restarting the device.

Related

Major issues trying to run react native, expo, vs code, android studio

I am brand new to React-Native and have been consistently having major issues getting things up and running. I am using VS Code, Expo, Chrome, and Android Studio. I have encountered at least a dozen major issues trying to get a simple "Hello World" app running and none of the solutions to the particular problems has really worked leading me to believe there is a bigger issue going on. I'll try to run through a few of the issues I've had so far but as I said I'm totally new to this so I can't really understand/remember every issue that has come up.
I have consistently had issues getting metro bundler/expo and the Android Virtual Devices connecting. Sometimes they work, but most of the time I get the warning message "Couldn't adb reverse: device 'adb' not found" followed by the error message "Couldn't start project on Android: Error running adb: device 'adb' not found." If the device does work, if I try to reload from the developer menu or debug from the developer menu, expo crashes on the virtual device. Often I get a blank white screen and the developer menu will no longer open. I've had occasional success stopping the virtual device, restarting it, closing all expo windows, and trying to "run on android" from metro bundler. When this doesn't work, I've tried wiping the virtual device. Sometimes this works. Most often I have to delete the device and create a new one.
When I tried to run the debugger in Chrome, the times it appeared to work, I got console screens that didn't match any guides I've found online. Trying to force errors to understand the Chrome debugger completely crashed the virtual device. Had to close VS Code, Chrome, and delete the virtual device to be able to even begin again.
When I tried to follow guides to debug in VS Code I couldn't get that to work either. Regardless if I put in break points or not when I tried to run "attach to packager" it wouldn't output anything but I could hear my machine running really hard and VS Code seemed like it was trying to do something. I would have to close VS Code to get it working again. The other issue I would get an error telling me that Packager was running outside of VS Code. I would try to close down Android Studio and restart and I would get the same error. One time I almost got it working but the virtual device completely crashed and started flashing a white screen and had to be deleted.
I've had tons of other random errors that have only happened once or twice including some warning message about the binary of the android devices being obsolete or something like that.
Anyone have any idea what could be causing all of this? I've been dealing with this for almost two weeks and it has become incredibly frustrating.

EXC_BAD_ACCESS at random location iOS 9

I am facing an issue with iOS 9. My app crashes randomly with EXC_BAD_ACCESS at random location. I tried using the debugger and putting breakpoints to check for any errors.Also tried with exception breakpoints but to no help. My app runs fine on iOS 8.4 and below without any error.
I tried enabling Zombie Objects.On enabling them the App does not crashes till it is connected with the computer for debugging. As soon as the cable is disconnected the app starts crashing.
Also while debugging with Zombie Object with or without breakpoints I don't get any crashes or exception or any log on the console.
If anymore information is required please revert back .
There is a bunch of questions like this one and no general answer since the problem is that it can be caused by numerous reasons. I believe that in my case it was a bug because it has happened on random places. Luckily for me to clean a project has helped me.
So hit Shift+CMD+K and believe.

Crash with: another instance of this process was already running [duplicate]

I was testing my app on the simulator when it crashed on clicking a button of a UIAlertView. I stopped debugging there, made some changes to the code and built the app again. Now when I run the application, I get this error in the console
Couldn't register com.myApp.debug with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.Program received signal: “SIGABRT”.
I tried removing the app from the simulator, doing a clean build but I still get this error when I try to run the app.
What should I do to be able to run the app on my simulator again?
status: this has been seen as recently as Mac OS 10.8 and Xcode 4.4.
tl;dr: This can occur in two contexts: when running on the device and when running on the simulator. When running on the device, disconnecting and reconnecting the device seems to fix things.
Mike Ash suggested
launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove
This doesn't work all the time. In fact, it's never worked for me but it clearly works in some cases. Just don't know which cases. So it's worth trying.
Otherwise, the only known way to fix this is to restart the user launchd. Rebooting will do that but there is a less drastic/faster way. You'll need to create another admin user, but you only have to do that once. When things wedge, log out as yourself, log in as that user, and kill the launchd that belongs to your main user, e.g.,
sudo kill -9 `ps aux | egrep 'user_id .*[0-9] /sbin/launchd' | awk '{print $2}'`
substituting your main user name for user_id. Logging in again as your normal user gets you back to a sane state. Kinda painful, but less so than a full reboot.
details:
This has started happening more often with Lion/Xcode 4.2. (Personally, I never saw it before that combination.)
The bug seems to be in launchd, which inherits the app process as a child when the debugger stops debugging it without killing it. This is usually signaled by the app becoming a zombie, having a process status of Z in ps.
The core issue appears to be in the bootstrap name server which is implemented in launchd. This (to the extent I understand it) maps app ids to mach ports. When the bug is triggered, the app dies but doesn't get cleaned out of the bootstrap server's name server map and as result, the bootstrap server refuses to allow another instance of the app to be registered under the same name.
It was hoped (see the comments) that forcing launchd to wait() for the zombie would fix things but it doesn't. It's not the zombie status that's the core problem (which is why some zombies are benign) but the bootstrap name server and there's no known way to clear this short of killing launchd.
It looks like the bug is triggered by something bad between Xcode, gdb, and the user launchd. I just repeated the wedge by running an app in the iphone simulator, having it stopped within gdb, and then doing a build and run to the ipad simulator. It seems to be sensitive to switching simulators (iOS 4.3/iOS 5, iPad/iPhone). It doesn't happen all the time but fairly frequently when I'm switching simulators a lot.
Killing launchd while you're logged in will screw up your session. Logging out and logging back in doesn't kill the user launchd; OS X keeps the existing process around. A reboot will fix things, but that's painful. The instructions above are faster.
I've submitted a bug to Apple, FWIW. rdar://10330930
Try quitting and restarting the simulator? If "worse comes to worst" you can always try restarting: in my experience this should fix it.
I find I have started having this issue with Lion + Xcode 4.2. I have also experienced the issue in Xcode 4.3.
I have tried all the suggestions but none of them have worked other than a full reboot.
Here is how you determine if you require a reboot quickly.
List out all your Zombie processes:
ps -el | grep 'Z'
If you see your app listed as a Zombie process you will need to reboot your machine. The error message states "This generally means that another instance of this process was already running or is hung in the debugger". Well, Xcode is detecting this Zombie process which you can't kill. The only way you can then fix it is with a system reboot. :(
EDIT, 20120823: I have some better knowledge of Zombie processes so I wanted to update this answer. A Zombie process is created when a parent process does not call wait() (wait for process to change state) on a terminating child process. You can't run 'kill' directly on a Zombie process but if you kill the parent process, the zombie child process will be 'reaped' and removed from the process table.
I haven't seen this issue in a long while so haven't inspected to see what the parent process is in this scenario. The alternative to killing the parent process is to reboot your system. :)
I just had this happen to me: I was getting the error only on my device and the simulator was working fine. I ended up having to reset my device and the error went away.
I'm having this problem very often recently. What would prevent this from occurring? Logging out and in fixes the problem but.. it's annoying to do so every so often.
EDIT:
I just found the cause. I had a bug in ApplicationWillTerminate method. So when i click stop button on Xcode window, app couldn't properly terminate and started to hang.
check Activity Monitor to see if your app is on the list. force quit if possible.
If you find your problem is due to zombie processes: ps -el | grep 'Z'
(as in the earlier comment https://stackoverflow.com/a/8104400/464289) and just want to fix the problem immediately, you can do so without rebooting or killing anything. Just rename your project target executable:
Click on the project on the left-hand pane
Select Build Settings in the middle pane
Under 'Packaging' change 'Product Name' from $(TARGET_NAME) to $(TARGET_NAME).1
Easy!
Well, no answers but at least one more test to make. Open Terminal and run this command: "ps-Ael | grep Z". If you get two entries, one "(clang)" and the other your app or company name, you're hosed - reboot.
If you are a developer, enter a short bug and tell Apple how absolutely annoying having to reboot is, and mention they can dup this bug to "rdar://10401934" which I just entered.
David
Resetting the iOS Simulator fixed the error for me. Although this will remove all of the Apps you have in Simulator, it fixes the problem without having to restart the machine.
You can reset your iOS Simulator by doing the following:
1) Go to the "iOS Simulator" menu, next to the Apple () logo on the far left of your main screen.
2) Select "Reset Content and Settings...".
3) Read the pop message and if you agree click "Reset" otherwise, click "Don't Reset".
Close simulator
Stop the app from running in xCode.
Open Activity Monitor and search for a process running with your App NAME.
Kill this process in Activity Monitor
Rebuild your project and you should be all set
I had a recursive setter that blew through the stack and killed my app in such a way that I had to power boot my iPad. It was provable with a fix in the code.
I had the problem #jyap mentions with zombie processes. The only way to clear them was to reboot. However, I noticed that my friends working on the same project would get the same issue but could kill the simulator without creating a zombie process. I completely uninstalled Xcode and re-installed it, and while I still get the error, it doesn't create zombie processes, so I don't have to reboot.
Before I did that, I was using this really ugly workaround: change your app ID and run again. You end up with junk copies of the app in the simulator, but you can put off rebooting for a while.
This error happens a lot to me, almost every time I test the app in the Simulator, forcing me to restart.
Here's a workaround if you want to get some work done:
Click your project in the Project navigator
Go Target -> Info
Add a key for Application does not run in background and set to YES.
This will mean that when you press the home button in the simulator or quit the simulator, the app doesn't hang.
Don't forget to change this setting back before distribution! Put it on your release checklist :)
If this happens when testing on the iPhone. Just restart the phone. From what I have been told the phone or simulator still believes there is an instance of the app running, so when it was last run it had not terminated correctly do to either an error in your code or the phone/simulator just wanted to have a moan.
I got this error while debugging my app on an iPhone 4. Hard rebooting the iPhone solved my problem. (Powering off the iPhone hung...)
I did not have any zombie process on my mac and rebooting the mac did not solve the problem.
Maybe this bug can manifest itself on both the simulator and actual devices???
Restarted the Device, Worked! :D
Thanks Everyone for the great suggestions.
I just had this error. I tried restarting the simulator and Xcode but my project would only work again after a clean and build. No idea what caused it.
I had same problem and solved it by doing the following
Deleting the app from the device,
Disconnecting the device from Mac,
Turning the device off and back on,
Quitting and relaunching Xcode,
Quitting Instruments,
Finally, Clean and Build again.
I also did one more thing, because Xcode is configured to use iOS 5.0 and my project uses iOS 4.3
Remove all frameworks and add them again.
Alternate workaround:
Give your app a new identifier. If it's called com.foobar.myapp, call it com.foobar.myapp01
You lose all data in the app as it's actually a new app running as far as the iPhone simulator is concerned. This may or may not be more annoying than rebooting - just wanted to add it to the list.
The Cause
Running your app in the Simulator before the previously running app has completely stopped.
The Fix
Wait until you see the Stop button become active again before running again.
(I'm using Xcode 4.2.1. This problem happened very frequently when I upgraded to OS X Lion).
Fixed by rebooting my phone after deleting the app, then rebuilding it clean and running again. Works fine now.
Weird.
No rebuild or reinstall needed for my issue, and in my case the error appeared when trying to run the app on the iPhone. Simulator worked fine.
Solution: Delete app off phone, do a cold restart of phone and now all is well.
Happened a lot for me with Xcode 4.2.1 on Lion. Updated to 4.3.2 and it doesnt happen anymore. Glad they fixed it.
Mike Ash posted a solution (god bless him!) that doesn't require a reboot. Just run:
launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove
The above command lists out all launchd jobs, searches for one with
UIKitApplication in the name (which will be the job corresponding to
your app that's improperly sticking around), extracts the name, and
tells launchd to get rid of that job.
I think this is caused by force-quitting your app on the iPhone prior to pressing the stop button in Xcode. Sometimes when you press the stop button in Xcode, then it takes extra time to quit the app if it hung. But just be patient, it will eventually quit most of the time.
You may alloc variable in function or tab. It will dealloc if your function or tab is quit.
So you must declarate it member variable or global variable.
I was getting this error all the time until I stopped trusting the "Stop" button in the Run dialog box. Now that I always hit stop in the toolbar before trying to run, I have yet to encounter any zombie processes.
Oh my - I tried EVERYTHING listed above and in other posts. Re-installed Xcode, rebooted my machine, copied all the missing files into the right folders... Eventually I backed-up my iphone, wiped it and restored it, and it worked!
I think what may have been the cause from reading in and around this was disconnecting my iphone white it was running with performance tools catching leaks. Or some such thing.
Aaaah, big sigh of relief.
In most worst condition Reset content and setting of iOS Simulater, and most of the time in my case, quitting XCode along with simulator, always work works for me with XCode4.6 (that frequently get hanged)
I faced this kind of issue once in my case here's what i did
Delete the app from simulator.
Delete the derived data folder.
Perform a clean action in the project by selecting the product menu - clean
Reset the simulator.
Quit Xcode.
Try running the project now if its working fine else go to step 7
Repeat all steps from 1 to 5 and then restart your machine.
In most of the cases i got it running at step 6 extreme cases i had to restart my machine.
This error used to occur in older versions of the iOS Simulator because older instances of a job in another device that was shutting down could collide with the new instance.
iOS 6.0 and later should not experience issues like this because iOS 6.0 introduced the usage of bootstrap subsets, and iOS 7.0 introduced the usage of a dedicated bootstrap server (launchd_sim) which is completely isolated from the host's bootstrap server.

iOS Simulator Crash Logs

When I use the iOS simulator and the app crashes, I can't find the crash logs. I've been looking all over the internets and can't figure out how to enable them. I know I can just run on an actual device and get the crash logs that way, but the bug I'm trying to fix right now tends to cause the program to be hung in the debugger. Then there's no qlaunchsuccess packet sending and it's a huge pain, especially when I have to run the program over and over. The only advice I've been able to find says the use CrashReporterPrefs, but a search of my hard drive reveals nothing named something even close to this. I've also dug into the package contents of XCode and the files of the iOS simulator. The iOS simulator has a crash logs folder, but it is empty. Anyone know how to get this working? Thanks.
Run your App with Xcode to install the App to iOS Simulator
Launch your App on Simulator without Xcode
reproduce steps for crash
the Crash log should show up under this directory
~/Library/Logs/DiagnosticReports/
It appears if you aren't running Xcode (mine is 4.5.2) but just the simulator (mine is 6.0) that when an app crashes it does save a crash report. To view it bring up the Application/Utilities/Console and
(1) make sure it shows the log list (see top left of console to make sure not hidden)
(2) under "DIAGNOSTIC AND USAGE INFORMATION" there is a "User Diagnostic Reports" that if you open up should have your crash reports
(3) the area on the right of the console has the log
A Crash log is just an output of what the debugger already gives you. When you are running in the simulator attached to the debugger, and you hit the crash, you can view the back trace information in the debug navigator (default key binding is cmd+5)

Cannot run project after updating Xcode project settings

Recently I updated my project settings as Xcode recommended. I just pressed a button and they did "everything". However now when I try to run my app on my device it freezes on the loading bar at about 75% and then after 15 seconds it says "build succeeded" but does not run on my device and everything stops as if I had pressed the stop button. I am getting no errors but I am getting the following warnings. It works on the simulator just fine.
For the record I have looked this up and everyone says to add "armv6 or armv7" and I already have this done. I am running deployment target iOS 3.0+
If anyone can help me, it would be appreciated. Thank you!
EDIT
Works on my device when I run leaks in instruments... but won't without instruments
Well, I can't really say much specific here, but if all else fails, I'd try making a new project and copying the content of this project to the new one. This could fix some underlying problems that may have developed in the build settings etc.