Troubleshooting tvOS 10 Apps Built With Xamarin
The following sections list some known issues that can occur when using tvOS 10 with Xamarin and the solution to those issues:
App Store
Known Issues:
- When testing In-App Purchases in the sandbox environment, the authentication dialog may appear twice.
- When testing In-App Purchases with hosted content in the sandbox environment, the password dialog will appear every time the app is brought to the foreground until the content download completes.
Binary Compatibility
Known Issues:
- Calling
NSObject.ValueForKey
will anull
key will result in an exception. - Referencing a font by name when calling
UIFont.WithName
will cause a crash. - Both
NSURLSession
andNSURLConnection
no longer RC4 cipher suites during the TLS handshake forhttp://
URLs. - Apps can hang if they modify a superview's geometry in either the
ViewWillLayoutSubviews
orLayoutSubviews
methods. - For all SSL/TLS connections, the RC4 symmetric cipher is now disabled by default. Additionally, the Secure Transport API no longer supports SSLv3 and it is recommended that the app stop using SHA-1 and 3DES cryptography as soon as possible.
CFNetwork HTTP Protocol
The HTTPBodyStream
property of the NSMutableURLRequest
class must be set to an unopened stream since NSURLConnection
and NSURLSession
now strictly enforce this requirement.
CloudKit
Long running operations will return a "You don't have permission to save the file." error.
Core Image
The CIImageProcessor
API now supports an arbitrary input image count. CIImageProcessor
API that was included in tvOS 10 beta 1 will be removed.
NSUserActivity
After a Handoff operation, the UserInfo
property of a NSUserActivity
object might be empty. Explicitly call BecomeCurrent
NSUserActivity` object as a current workaround.
UIKit
Known Issues:
- Changes to the background appearance of
UINavigationBar
,UITabBar
orUIToolBar
may result in a layout pass to resolve the new appearance. Attempting to modify these appearances inside of aLayoutSubviews
,UpdateConstraints
,WillLayoutSubviews
orDidUpdateSubviews
event can result in an infinite layout loop. - In tvOS 10, calling the
RemoveGestureRecognizer
method of aUIView
object explicitly cancels any in-progress Gesture Recognizer. - Presented View Controllers can now affect the appearance of the status bar.
- tvOS 10 requires the developer to call
base.AwakeFromNib
when subclassingUIViewController
and overriding theAwakeFromNib
method. - Apps with custom
UIView
subclasses that overrideLayoutSubviews
and dirty the layout before callingbase.LayoutSubviews
may trigger an infinite layout loop in tvOS 10. - Direction-specific or flippable images assets are no flipping when assigned to
UIButton
objects.