Posts

Post not yet marked as solved
25 Replies
@eskimo We've already updated ours to use the Swift equivalent API and it fixes it. If I open a DTS TSI for this does it count against us? Can you just forward my demo to your contact at Apple?
Post not yet marked as solved
25 Replies
@qiuyg Have you seen updates from this thread? I put together a demo project. What I see is Objc throws the exception, but a swift implementation doesn't have any errors.
Post not yet marked as solved
25 Replies
@eskimo Were you able to see the demo I built?
Post not yet marked as solved
25 Replies
@eskimo http://gngrwzrd.com/NSItemProvider.zip
Post not yet marked as solved
25 Replies
@eskimo http://gngrwzrd.com/NSItemProvider.zip
Post not yet marked as solved
25 Replies
@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.
Post not yet marked as solved
25 Replies
@eskimo Yes in iOS 17.4 simulator it still happens.
Post not yet marked as solved
25 Replies
@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.
Post not yet marked as solved
25 Replies
@eskimo Correct. Any website. Not just the screenshot provided.
Post not yet marked as solved
25 Replies
@eskimo There's also a second exception but this doesn't appear to be the source.
Post not yet marked as solved
25 Replies
@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.
Post not yet marked as solved
25 Replies
@eskimo Do you have any internal Apple connections to help investigate this?
Post not yet marked as solved
25 Replies
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 = { }; }
Post not yet marked as solved
25 Replies
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 ... )
Post not yet marked as solved
11 Replies
Me too. Any updates?