Skip to content

Add more descriptive errors to iOS JS extensions #778

@KVSRoyal

Description

@KVSRoyal

Is your feature request related to a problem? Please describe.

When I create a JSBasePlugin in ios-land, like this:

public class MyPlugin: JSBasePlugin {
    public convenience init() {
        self.init(fileName: "MyPlugin.native", pluginName: "MyPluginModule.MyPlugin")
    }
}

if I set it up incorrectly (e.g. forgot to make the .native.js files, used the wrong module name, used the wrong file name, used the wrong plugin name, used the wrong bundle, etc.), the error message is opaque.

As a user of player ios, I would like to see more descriptive error messages.

Describe the solution you'd like

Our upcoming open source project, Devtools, has a list of such possible errors and an implementation that uses them. This is a good starting point that provides more comprehensive errors.

enum JSBaseError: Error {
    case noSuchFile
    case failedToParseScript
    case failedToMakeContext
    case noSuchJSModule
    case noSuchJSClass
    case couldNotInstantiateClass
}

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions