How to fix "Thread 1: Exception: "Could not find a storyboard named 'Main' in bundle NSBundle" error in Xcode 11.4 when I do not have Main storyboard? - swift

I know there are many questions here relating to this error but none of them. quite fit my situation. I have made an Xcode project trying to create a Star rating UIView with CocaoPods and Cosmos. I am following a tutorial. I was told in the beginning to delete the main storyboard and delete "main" as the main interface. So far I have installed two Cocao Pods on my project through the terminal and I am now using a new workspace that the Cacoa pods created. Every time I run the simulator, my app crashes and I get the error mentioned above but I can't do anything because I have deleted the main storyboard. I have tried making a new one and re-coding and more but nothing works. In the tutorial, the guy ran the exact same code that I have and he just magically has a storyboard with stars on it that you can tap and change. I've done everything he has, how do I fix this?
Here is my info.plist

To delete Main.storyboard as the main interface you have to delete it from the Info.plist file too. Look for the property "Main storyboard file base name".

Related

How can delete Main.storyboard file in macOS storyboard project and not using it?

I am following an article which tells me to find main interface and make some edit on it, but I am unable to find it, here is a screen shot of it:
So my Xcode version is Version 14.1 (14B47b) and I looked for it in General but did not found it, so where is it in new version? I am working on macOS storyboard project.
As you could see the article says that I should delete my Main.storyboard because we are going to build this app programmatically so I did delete that file but Xcode makes error of:
Thread 1: "Could not find a storyboard named 'Main' in bundle NSBundle
I am totally ok with deleting Main.storyboard because i am not going to touch it but when I delete it makes that error.
There are 2 ways to remove the reference of Main.storyboard to launch at the beginning
Remove reference from Launch Screen File
Remove reference from Info.plist
After this you need to setup the window with root view in application delegate.

iPhone: View loading but not view controller

I had an issue with a project getting the dreaded "Error: cannot attach to process ID 0". Tried everything I could and it wanted nothing to do with me. So I started a new project and readded all my files and frameworks and what not in it.
Now my project runs. It shows me the first screen in my storyboard. However, the ViewController class attached to the window is not getting loaded and neither is the NavController class attached to my navigation controller. I reset the class in the Identity Inspector but still it wants nothing to do with me.
I added some NSLog(#"Test"); in the viewDidLoad methods of both my classes and they're not getting called. However, I added that same line to the AppDelegate applicationDidFinishLoadingWithOptions and that one did pop up in the debugger.
Any ideas?
I met that issue before, maybe it is some bugs of Xcode, the following steps works for me:
quit simulator
clean project
delete project's derived data
quit Xcode
restart Mac if you like
then reopen Xcode and everything is ok.

Could not find a storyboard named 'MainStoryboard_iPad'

I cannot run my project in simulator because i get this error:
Could not find a storyboard named 'MainStoryboard_iPad'
But the storyboard is there.
Thank you
I managed to solve this problem in my iPad App through the following steps:
Checking the Build Phases
Editing the Info.plist file to add the option "Main storyboard file base name (iPad)"
Just like in this picture:
In my case, the iPad storyboard file was already in the project, and testing the app worked until I introduced what seems to be an unrelated bug... I fixed this by changing the filename in xCode for the MainStoryBoard_iPad to MainStoryBoard_iPad1 and changing the TARGETS > Summary > iPad deployment Info > Main Storyboard entry. For good measure also verifying the same in -Info.plist file and Build Phases accordingly... similar to #daniel-lima.
Hopefully, this may help others that did not fix based on above notes. This started after I fixed a CoreData related bug in a category-file. The issue was reproducible on another machine... and this fixed it on both machines.
My issue was only on iOS 5. The resolution was found at http://need-bee.com/b/2013/08/could-not-find-a-storyboard-in-xcode-5-for-ios-5-0/
To summarize:
In Xcode, open each story board file and uncheck "Base" under localization on the right hand side. It will prompt you to move to English. Select ok. Once rebuilt my issue was resolved.
Click target and there is Mainstoryboard with textfield. Click and select your storyboard named "Mainstoryboard_iPad" and clean your project and then run it.
Remove from the project all the StoryBoards and add all of them again, for me worked.
I got this problem today as well, for me, a Product > Clean solved the problem. After that, I can rebuild the app and run it inside the Simulator without any issue.
I was encountering the same problem as in the original question but for me there wasn't really a bug - rather, the storyboard which appeared in the project navigator as "Main.Storyboard" actually had a base name of "Main" in info.plist. So my attempts to use "MainStoryboard" and "Main.Storyboard" in my code were generating a crash, but once I changed it to "Main" it worked just fine - didn't need any of the elaborate workarounds above.
If the failure occurs after launch, check to make sure any references to a storyboard via storyboardWithName: refers to the correct name. You may have an incorrect name hardcoded in your binary.
In my case, I renamed the storyboard (based on a suggested workaround on stack overflow), but forgot to rename references to the storyboard in code. The symptoms were that changes to the storyboard weren't visible in the running application, but once I reset the simulator, the app stopped working completely. In that case, the old, stale copy of the storyboard was around at first and was used; once the simulator was reset, the stale copy disappeared and the "could not find a storyboard" message started appearing.

Could not insert new action connection Error

I get this error, when try to create new action for UIButton by dragging blue arrow from UIButton to my header file (you know, this new feature of XCode 4...)
When I create action in code by myself and connect it in old way, simply by dragging from button to File's Owner, it's works well
Here's screenshot:
Make sure your .m file exists in the project and on disk. Make sure it is correct with an #implementaiton-#end block. Open it in Xcode, close it, if the error persist, restart Xcode.
Xcode is trying to write to EditPUViewController.m (in the dealloc method etc.) but could not find it.
Also, it always helps to hard-clean the project with ⌘+⌥+⇧+K.
Try this:
Open Organizer then Project Tab.
Clear the "Derived Data". Xcode should re-index your project then and code sense should work. At least worked for me.
I had a comparable problem when trying to connect an action. To solve it I manually added the IBAction and then XCode allowed me to connect from the button to the code.
Go to Xcode -> preferences -> location tab -> derived data -> clear derived dat.
I ran into this issue myself but none of the methods presented here worked for me. The error described in the question above occurred when I tried to create an IBAction in my view's header file (.h), whereas to my implementation file (.m) I couldn't even drag a line. (Xcode wouldn't even show this little popup where you can name your action.)
After trying for hours I figured that the reason why I couldn't create the IBAction was because I had removed the very last line from my .m file. Xcode automatically adds an extra empty line after the #end delimiter when you create a new Objective-C file.
Don't ask me why - but if you remove that line Xcode doesn't let you create any actions or outlets. (This is obviously an Xcode bug.)
I noticed that .m file was moved inside en.lproj folder.
Just delete (reference only) the .m file from the Xcode and moved .m out of the en.lproj. Add it again.Don't worry, you will get all your connections back.
It will fix the issue.
I recently came across this problem. I soon realized that the cause had been my own doing.
I had previously disabled XCode indexing (which used to take forever & eat up my RAM), using the below code in a terminal window:
defaults write com.apple.dt.XCode IDEIndexDisable 1
To revert XCode to its default state, i used the following line in a terminal window:
defaults write com.apple.dt.XCode IDEIndexDisable 0
Voila! All's well again..
I got the same error. Restarting Xcode did not fix it for me (I didn't want to reboot). The file was also not in the en.lproj folder (nor in the usual project folder after I deleted it from within Xcode). The fix for me was to re-create the file with a different name (Using different case in the filename alone was not enough to fix it... must be a different name entirely).
I ran into this problem when I created a class, deleted it and then created a new one with the same name. The workaround was not to reuse the name of the deleted class, but use a new one. Thus, I'd say it's a bug on the XCode side.
Remove the newly created class (don’t delete it, just remove link and then re-add it);
Save Xib file;
Restart Xcode;
You may want to delete Derived Data as well if it does still not work.
This seems because of XCode is missing reference or need to refresh manually.
In my case, removing the reference of the nib(.xib) and adding it again solved the problem.
In my case I had by accident selected the arm64 build. When compiling I got an error but I did not notice that since I was working with the UI trying to connect an action.
The error however was exactly the same. After changing to another architecture so the project compiled I could connect the action by holding the ctrl button as usual.
user2175983 and AstroCB answer's worked well for me:
Just delete all Derived data by running this command line in a terminal:
rm -frd ~/Library/Developer/Xcode/DerivedData/*
Restart Xcode
I just deleted the reference to the file in the Xcode project and then re-added the file back to project from the finder...
In Xcode 9 I had the same error after moving .m files in project from one directory to another. Deleting references to .m files and add them again did solve the issue.
I found the ANSWER. When you create a new file (Objective C files) for each view controller, you must check by clicking the box, next to your project name. So that your project includes this file. Otherwise, this error will persist, because your project hasn't connected to the file even though it created it.

iPhone app opens to black screen after refactor proj name in xCode 4

Guys, i wonder if any one can help - My project was fully working in both the simulator and on a device, however, i renamed the project in xcode 4 (double clicking at the root of the project navigation pane, it was happy to rename any references - but now when i launch the app it only opens to the main window (yes it has outlets, all have outlets etc etc),
no code in the app delegate stops at a break point (even in didFinishLaunchingWithOptions)
so unsure what i could have missed, i have looked at other answers and everyone writes and says "missing outlet" etc.
I have dragged some backed up version of the app delegate that used to work and no difference, what could i be missing.
I do have source control, however currently in the process of merging from VSS to GIT.
thanks
lee
Check your Info.plist for what it uses as it's Main Nib File. Perhaps something changed there? Also, within the nib file itself you might have problematic connections to classes that are still named with the old name.