Document Provider's dismissGrantingAccessToURL does not work in iOS 8.3 - ios

I build my app with Document Picker Extension & Document Porvider Extension and they worked well before iOS8.3.
With iOS 8.3, nothing happened if I called dismissGrantingAccessToURL. View controller of Picker did not dismiss and Host app's delegate function didPickDocumentAtURL was not called. There was not any error or warning message. It just...nothing happened!!!, like I did not call this function.
Anyone also has this issue?
XCode: 6.3
iOS: 8.3

We fixed this by removing the local property named navigationController that we redefined in our custom DocumentPickerVC. Turns out in 8.3 and later you have access to self.navigationController and by overriding the property you break Apples dismissal functions.

Related

What type of UI component is this?

I see this type of action sheet on iOS devices using the Google Drive application.
I want to know if it is already supported on iOS SDK or if it is a custom UI?
If it is already a standard component, what's name of it?
It was called UIActionSheet before iOS8 and after you can find this UI component under the UIAlerController. You can use this component to make some UI like this but development target should be more that iOS8.
You can check here for documentation.
I'm not aware of any custom components, but it looks to me like a standard UIAlertController with a ActionSheet style. As the alert controller extends UIViewController, you may add subviews to it.
The screenshots indicate that they added a UITableView as a subview to the alert controller:
Ok, got it. It's only for iOS 8 and later. It's named UIDocumentPickerExtensionViewController.

I got 'BSXPCMessage received error for message: Connection interrupted' in iOS 9

I've developed a social media app.
After iOS 9 launched, I've got a message
BSXPCMessage received error for message: Connection interrupted
XPC connection interrupted
Terminating since there is no system app.
and the simulator reboots by itself. and a real iPhone too.
when I touched UITextView on UIToolbar in CommentViewController. it's like text input UI of Message App, the base iOS app.
SIGKILL always occurs at any of lines in textViewDidBeginEditing: of UITextView's delegate methods, but not happen in textViewShouldBeginEditing:
But still works well in iOS 8.
THChatInput, SlackTextViewController, JSQMessagesViewController
, etc, I used many libraries, but all of those show me same crash.
I've already read a few of articles about this bug here, but their problem were caused by using CoreImage. unfortunately, I don't use anything about CoreImage
I appreciate in advance for helping me. Thank you.
I've found what causes this problem.
I've used a library called 'SWRevealViewController' for drawer menu in my project.
this is a wrapper class of view controller, so it includes some of view controllers and make a hierarchy.
In previous iOS9, it doesn't cause any problem.
In iOS9, its hierarchy of view controllers cause a problem, when popping up keyboard. it doesn't appear in other ordinary iOS9 project.
I don't say that some library I use have bugs, but some problems may be occured in iOS9.

Hiding Master View Controler (UISplitViewController) on iOS7 with iOS8.2 SDK

I'm creating application for iOS7.0 and higher versions. But due this i must use iOS8 SDK. But since iOS8 UISplitViewController delegate method "shouldHideViewController" is deprecated. So basically APPLE removed any known to me method to hide masterVC for iOS7 users..
Please tell me is there any way to solve this problem?
You can set the preferredPrimaryColumnWidthFraction
property on the detail VC.
self.splitViewController.preferredPrimaryColumnWidthFraction = 0;

UIActionSheet on iOS8

I have an app that connects to Chromecast - I referenced from the Chromecast Sample Code which uses UIActionSheet to display the list of Chromecast devices I can connect to.
This was working well for my app which has been running with BaseSDK=iOS6.1. Recently I tried to upgrade to BaseSDK=iOS8.1 and the UIActionSheet doesn't show anymore.
I understand that it has been deprecated in iOS8, but does that mean it wont work anymore? I thought deprecated methods typically take some time to "phase out".
So my main questions are:-
Can I still use only UIActionSheet? Is it just a matter of view hierarchies being changed which is why my ActionSheet is not showing anymore?
If the answer to question 1 is NO, what can I do to allow compatibility with both iOS7 and iOS8.
With iOS8.1 sdk UIActionSheet is deprecated, you should do runtime check to see if it is available and act accordingly using correct class:
if objc_getClass("UIAlertController") != nil {
// UIAlertController is available use it with style UIAlertControllerStyleActionSheet
} else {
// no UIAlertController use regular old action sheet
}
For iOS8 and you above, you will have to migrate to the UIAlertController for both the action sheet and alert pop up.
In all honesty, I find the new API easier to work with. There is a little more here (in Swift, but not any harder in Objective C).

UITableView dequeueReusableHeaderFooterViewWithIdentifier returns nil with VoiceOver on iOS 7

I am having some trouble with VoiceOver turned on starting in iOS 7. I did register an instance of UITableViewHeaderFooterView child class inside viewDidLoad but when I am dequeque-ing it with -[tableView dequeueReusableHeaderFooterViewWithIdentifier:] it is always returning nil object.
The issue started to appear on iOS 7.0. It was not there on the previous version and certainly it works fine if it runs perfectly without VoiceOver on both 6.0 and 7.0
I could just not having a custom header instead, or instantiate a new object when dequeueReusableHeaderFooterViewWithIdentifier: returns nil. But I was wondering whether there is a known issue regarding this.
Cheers,
You can use below method to create custom UITableViewHeaderFooterView
(void)registerClass:(Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier

Resources