UITextFields not responding in iOS 9.0 migrated project - ios

I'm migrating a project from iOS 7.0/8.0 to 8.0/9.0 and I'm facing this problem :
Any UITextField I have on my UI freezes the app but doesn't trigger a crash.
I've tried to remove delegates, even IBOutlets. I've created a new empty controller, with just one UITextField, that my appDelegate shows instead of any other, but nothing works...
Is anyone facing the same issue ?

Damn it, it solved itself...
My only move before that was creating a Watch Extension, which I deleted by rebasing my project on a previous commit.
Anyway it was truly stranged, I also had a crash on UIAlertController that I used nowhere in my app...
Thanks anyway !

Related

IB Designables: Failed to render and update auto layout status - The agent crashed

I am working on an existing iOS Project in Xcode 10.2.1 on macOS 10.14.4. The uses mainly Objectiv-C but also some Swift Pods (v. 1.5.2). Recently I have also added the first Swift based ViewController using Swift 5.
The Problem:
When working on the XIB file of this Swift bases ViewController after a short time the following error message is shown in the Xcode sidebar:
IB Designables: Failed to render and update auto layout status for
ViewXYZ (abc-de-123): The agent crashed
As soon as there error occur no changes in the Interface Builder (added view, changed colors, text, etc.) are shown anymore. When I re-open the XIB file it only show grey view placeholders instead of the real content.
The problem can only be solved by re-starting Xcode but when working on the XIB again it shows up after again after just a few moment.
Things that did NOT work
Since the problem is realted to IB Designabales I checked these first. Within the ViewController I am using two different custom views which are implemented in Objective-C and marked as IB_DESIGNABLE.
These views have not been changed recently and it was never a problem to use them before. Removing all custom code from these views did not change the problem. Thus there seems to be nothing wrong with the implementation.
I found other topics dealing with similar issues, but none of the different solutions worked for me:
Re-starting the Mac, re-starting Xcode, cleaning the build folder or deleting ~/Library/Developer/Xcode/DerivedData does NOT solve the problem
Adding this code to the pod file does NOT solve the problem
Adding all UIView constructors to the views as proposed here does NOT solve the problem.
Xcode shows that the designables are up to date and does NOT offer a debug button (as shown here)
The views do not have orphant outlets
Re-creating the XIB from scratch let to the same issue
Not using the Bundle or other device specific code within the custom views did NOT solve the problem. As described before I removed ALL custom code from the classes so that they where simple UIView subclasses without any changes.
So far nothing I tried had any effect. However, most answers I found are quite old. Are there are any new proposals to solve this issue?

How does one remove a IBAction link to main.storyboard

So I have this weird Problem where I have 4 UIButtons in my App not working at all, even though i have double checked on having them correctly linked to the Storyboard. So i tried to disconnect and reconnect them but the icon indicating that its linked didn´t disappear. So I checked what else the function is linked to and it seems somehow it got linked to the main.storyboard, and i guess for that reason, these are the only ones not working.
So I tried to disconnect it from Main.storyboard, but to no success so far.
How can I remove a connection to the storyboard as sender and why does it appear in the first place?
I too did it accidentally for a button.
Connected a correct segue to the button and accidentally connected one more to a UICollectionView and I was getting this :
Checked the storyboard on right clicking the button :
and found the two outlet connected. Removed it on clicking the cross icon and it worked.
If you click on the connection showing in UIViecontroller it will not redirect here.
you can also check all the connected referencing outlets here:
So i fixed the Problem by copying the code to another file and only "rewriting" the functions that were linked to the given problem.
All i could find to this problem was some old answer that explained that the link referrs to a ViewController that the Code originates from: https://stackoverflow.com/a/37324993/10160115
Even though the Code i wrote is not copied it seems that XCode has created exactly such a referral to the storyboard it was linked to, so it linked the function to itself but couldn´t find any Button to link it to so it just linked it to nothingness.
It fixed the problem and the buttons work the way they´re supposed to be now but it´s a weird way of fixing this, but since there seems to be no connections inspector for the storyboard itself i wouldn´t know how else to fix this
To solve this problem you should (for macOS Catalina 10.15.4, Xcode Version 11.1):
Close your project and close Xcode
Open /Users/XXXXX/Library/Developer/Xcode/DerivedData and delete your cache of project
Open /Users/ХХХХХ /Library/Developer/Xcode/DerivedData/ModuleCache.noindex and delete all cache from this directory
Open your project again and click Product > Build

iOS 9 Segue Causes App To Freeze (no crash or error thrown)

I have been working on this app for months now and from as far back as I can remember I have never had an issue with segues. The code is unchanged in terms of calling performSegueWithIdentifier but since my recent update to Xcode 7 and iOS 9 I have not been able to tack this issue.
I have tried:
Deleting button and creating new button w/ segue link
Using a direct segue from button to view, without the use of performSegueWithIdentifier
Connecting button to new blank viewController
When I press the button, no initial load functions are called on the destination VC (Ex: ViewDidLoad, ViewWillAppear, etc). When I connect it to a blank view, the segue works fine with the same code in place.
Since the code never stops, or breaks, and just seems to "freeze" in place while still running on Xcode I can't seem to even narrow this down to whats causing the issue. I have a similar segue that is also called from another button on the same ViewController that has no issues whatsoever.
Any thoughts on the matter are greatly appreciated!
EDIT: I have narrowed the issue down to the UITextView's causing the problem. Once the Text Views were removed the page loads fine via segue. I wonder what changed between iOS 8 and iOS 9 in terms of UITextView as I will have to remove the text views and completely re add new text views.
So basically the segue was freezing because of the UITextView's I was using in the destinationViewController. The following fixed the issue:
Delete all UITextView's
Add new UITextView's
you must leave the default lorem imposed text and change this programmatically in the viewDidLoad()
This was the fix for me, and from the research I have done on the issue it seems this is a bug in iOS 9 and Xcode 7.
Cheers!
NOTE: Removing the text in the UITextView (or making it longer then ~12 characters) is sufficient to work around it, no need to delete and recreate them. This is fixed in Xcode 7.1.1 and later.
I ran into the same issue and the fixes in this post (Xcode 7 crash: [NSLocalizableString length] 30000) solved the issue for me.
The first is to enable a localisation other than the base for the storyboard (see https://stackoverflow.com/a/32688815/3718974)
The second is to turn off the base localisation (see https://stackoverflow.com/a/32719247/3718974)
I think I have the same problem: I have a UITabelView with cells created from a nib file, when a user tap a cell this method is called:
and when I have the following method prepareForSegue:: the application crashes:
if I delete the line 129 Everything is ok , the method prepareForSegue:: open the right view and the label contactName is shown with its default text.
If I modify the method as follows prepareForSegue:: get exactly what you expect, without having any type of error:
let me know if you also get the same result
Any one who is facing this issue, i solved it by turning off the "Optimize rendering for windows scale" option in Debug of simulator window. I already had tried all of the above answers but could not solve the issue.
In the method in the first viewController where you activate the segue, do you have beginIgnoringInteractionEvents anywhere? If so the screen you segue to will be frozen and will ignore interaction events like you describe. If this is the case you can fix this by adding an endIgnoringInteractionEvents method before your segue method:
UIApplication.sharedApplication().endIgnoringInteractionEvents()
self.performSegueWithIdentifier("editItemToMyGearSegue", sender: self)
I realize this is an old topic, but appears to be still relevant. I was facing the same problem in Xcode 9, iOS11. My UITextViews are embedded inside UITableViewCells. Same symptoms as described here. The tricks with default text and placeholders did nothing for me, but I solved it by turning off the scrolling indicators for the text view in the xib. They were on by default, I guess, though unused.
Edit: this is probably an important detail... the views that were hanging all had an image NSTextAttachment in the attributed string of the text view. I think the image was wider than the available table cell content. With scrolling turned off, they appear to downscale.

Custom Classes not appearing in Storyboard

My project is using a storyboard that has been working great so far. However, just yesterday something very strange happened - here are the details:
Any new IBOutlets or IBActions I create aren't listed under "Referencing Outlets" in the Connections inspector.
If I remove any of my existing referencing connections in the storyboard - they disappear completely from the list and I can't re-connect them.
If I try to set the custom class under the identity inspector, I can't see any of my classes being pre-populated or appearing in the dropdown list.
I have tried cleaning, cleaning derived data, quitting XCode and restarting my computer but no luck! This problem hasn't affected any other projects though.
If anyone has any thoughts on how this could be resolved that would be amazing!
Kind regards,
Jeremy
I was able to fix the problem by restarting my computer again!
I think that you must need to clean your build folder and then restart.
Thanks guys for your comments!
I was looking for this answer to everywhere! None of this solution worked for me!
All you have to do is:
Step 1: Check your selected class have the right "Subclass" when you have created this class for a storyboard reference!
Step 2: If the subclass is wrong, delete this class and create it again with right Subclass, for example it can be UIView or UITabelView or UIViewController or anything else!
I have recreated this class with right subclasses and it worked for me
The new Xcode 14 has a toolchain feature which we recently used .. and I ran into this same problem without noticing I have to change it back .. so if like me you changed the toolchain for some purpose change it back to Xcode and force restart Xcode

Storyboard crashes Xcode when opened

Whenever I attempt to open up my storyboard, Xcode crashes with the following error report
The funny thing is, the app works fine in the simulator and builds without errors. What is causing this crash? I see two possible crashes:
Exception reason: UITableView dataSource is not set
, but that shouldn't make the storyboard crash right?
Details: Failed to compute auto layout status IBLayoutConstraint, IBUIButton, IBUIDatePicker, IBUITextField, IBUIView, IBUIViewController, and IBUIViewControllerAutolayoutGuide.
Which doesn't give much information at all.
I have been using a storyboard with Xcode 5 for some time, so the question does not appear to be related to moving from Xcode 4 to 5. I can open the storyboard as XML and I can open my iPhone storyboard just fine.
If you are using git, I would recommend reverting to a time before this problem started.
If you are not using git, and you are absolutely sure you did not edit the xml for the storyboard then I would say:
1)find the storyboard file using the finder.
2)copy it to your desktop.
3)go back to Xcode and delete the storyboard from your project, select "move to trash". 4)re-import the storyboard file into your project.
Ive had similar problems with Xcode 5 and either reverting using git or the steps above usually get me back up and running.
Exception reason: UITableView dataSource is not set
Details: Failed to compute auto layout status IBLayoutConstraint, IBUIButton, IBUIDatePicker, IBUITextField, IBUIView, IBUIViewController, and IBUIViewControllerAutolayoutGuide.
The errors described above lead me to think that one if not all viewcontroller(s) for the items listed above lost their connectivity to viewcontroller.h / viewcontroller.m files. I would make sure you have everything wired up correctly, and you can check this by making sure the items in your viewcontroller have a circle in the gutter (next to the line numbers) that is filled in (solid) if the circle is not filled in then it means your items are not wired up to your viewcontroller. I would post a picture of your .h / .m file of your viewcontroller so we can further investigate.
I ended up copying each view controller scene (in XML) into a new storyboard. Some view controllers could not be copied without the storyboard crashing so I had to recreate about 4 of them, but by and large I got the majority of my work back.
What you need to do is reopen the project again in Xcode 5 and then go to the storyboard. Then at the right side choose for "Identity and type" and then set "opens in" to Xcode 4.6 to be able to open it in Xcode 4.6. And disable auto layout, somehow when you open it in xcode 5 it asks you to update it, I think you did that without a thought, happened to me as well :)

Resources