Additionally. The affected view controllers are the root view controller for navigation controller, that are in a tab bar controller.
Post
Replies
Boosts
Views
Activity
@darkpaw - Yes, I see the same behavior in my app, after a push / pop, it's then aligned centered correctly. Bug! Just hope it's fixed before release so I don't have to hack this.
@Rincewind Thanks! Pointing out that the latest RC of Xcode doesn't appear to have fixed it.
Interesting addition, my Podfile specifies:
platform :ios, '13.2'
...
post_install do |pi|
pi.pods_project.targets.each do |t|
t.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.2'
end
end
end
Is the error from a framework that is not compatible with apple arm arm64?
Me too. Any updates?
value for key 'NS.keys' was of unexpected class 'NSString' (0x1ee7d2970) [/System/Library/Frameworks/Foundation.framework].
Allowed classes are:
{(
"'NSDictionary' (0x1ee7cad38) [/System/Library/Frameworks/CoreFoundation.framework]"
)}
(null)
Printing description of exception->exception:
Exception while decoding argument 0 (#1 of invocation):
<NSInvocation: 0x28224e600>
return value: {v} void
target: {@?} 0x0 (block)
argument 1: {@} 0x0
argument 2: {@} 0x0
Exception: value for key 'NS.keys' was of unexpected class 'NSString' (0x1ee7d2970) [/System/Library/Frameworks/Foundation.framework].
Allowed classes are:
{(
"'NSDictionary' (0x1ee7cad38) [/System/Library/Frameworks/CoreFoundation.framework]"
)}
(
0 CoreFoundation 0x000000019d576684 5A6C1F41-BF70-32F6-A1D6-5B894DD21362 + 968324
...
)
This is interesting as well. I had a fix that was working, but now all of the sudden it's not.
[itemProvider loadDataRepresentationForTypeIdentifier:[UTTypePropertyList identifier] completionHandler:^(NSData * _Nullable data, NSError * _Nullable error) {
///use NSKeyedUnarchver to unarchive a dictionary.
}
The dictionary is decoded, but the result is empty:
{
NSExtensionJavaScriptPreprocessingResultsKey = {
};
}
@eskimo Do you have any internal Apple connections to help investigate this?
@eskimo Thanks. Yes here is the stack trace. I had to take an image because the forum is not letting me include it - it's saying something is inappropriate :).
Also to add a bit more info - this only happens from the Safari share button that's built into the window chrome. And I attached an another screen - the red circle is where this exception is thrown from.
@eskimo There's also a second exception but this doesn't appear to be the source.
@eskimo Correct. Any website. Not just the screenshot provided.
@eskimo Yes it worked in previous systems. It seemed to be the release iOS 17.3.1. As I mentioned in my first post. When the share button is pressed, Apple / Safari runs a preprocessor.js file, which has a callback that gets encoded as a plist, and passed to the share extension. Ours sends only two keys:
arguments.completionFunction({
"URL": document.URL
"title": document.title,
});
So the plist (dictionary) only contains NSString type. Which is currently not allowed to be decoded based on the exception thrown.
@eskimo Yes in iOS 17.4 simulator it still happens.
@eskimo I put together a demo. I actually stumbled across the solution as I was putting this together. The issue is Objective-C VS Swift. My project is using Objectice-C to ask for a plist from NSItemProvider. When I use swift however, there's no problem. My demo has both so you can see it. Look at ViewController for instructions, and ShareViewController for objective-c VS swift. Also make sure to set an exception breakpoint for all objc exceptions.
How can I send you this demo, I can't upload zip files here.
@eskimo http://gngrwzrd.com/NSItemProvider.zip