ios - 如何从我的 iOS NativeScript UIView 获取指针?

标签 ios nativescript nativescript-plugin

我正在从自定义 NativeScript 插件集成 iOS 框架 (Vidyo https://developer.vidyo.io/#/documentation/4.1.25.30 )。我可以从我的插件实例化 iOS 类,但无法正确调用此 iOS 函数:

(id) init:(void*)view RemoteParticipants:(unsigned int)remoteParticipants LogFileFilter:(const char*)logFileFilter LogFileName:(const char*)logFileName

来自 nativescript 命令

TNS_DEBUG_METADATA_PATH="$(pwd)/metadata" tns build ios

我能够看到 NativeScript 正在等待的签名:

- Name:            'init:ViewStyle:RemoteParticipants:LogFileFilter:LogFileName:'
        JsName:          initViewStyleRemoteParticipantsLogFileFilterLogFileName
        Filename:        [...].h
        Module:          
        [...]
        Type:            Method
        Signature:       
          - Type:            Instancetype
          - Type:            Pointer
            PointerType:     
              Type:            Void
          - Type:            Enum
            Name:            VCConnectorViewStyle
          - Type:            UInt
          - Type:            CString
          - Type:            CString

当我给出一个空指针时,它正在工作,但是该函数正在等待 View 来显示视频,因此该函数正在执行其工作,但我在我的 iOS 应用程序上看不到任何内容。现在我有我的 UIView :

this.nativeView = UIView.alloc().initWithFrame(UIScreen.mainScreen.bounds)
initViewStyleRemoteParticipantsLogFileFilterLogFileName(this.nativeView, [...]) 

它不起作用,因为我有一个错误:

 ERROR Error: Value is not a pointer.

问题:如何从我的 UIView 获取指针?

最佳答案

终于找到了解决方案,老实说,运气不错:

this.nativeView = UIView.alloc().initWithFrame(UIScreen.mainScreen.bounds)
let ref = new interop.Reference(interop.Pointer, this.nativeView)
initViewStyleRemoteParticipantsLogFileFilterLogFileName(ref, [...])

非常简单,但文档对此并不清楚。希望这有帮助

关于ios - 如何从我的 iOS NativeScript UIView 获取指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55105144/

相关文章:

iphone - Cocos2d 有哪些好的测试工具?

ios - 在进行 interactivePopGestureRecognizer 转换时禁用滚动

ios - 难以从 iPhone X 上的 2D 区域获取面部标志点的深度(SceneKit/ARKit 应用程序)

ios - NativeScript iOS 发布 : Error ITMS-90096 "not optimized for iPhone 5

ios - NativeScript 静态库实现如何生成 TypeScript 声明

iphone - 显示 CALayer 动画的帧速率 (FPS)

javascript - 使用 NativeScript 在 Android 上删除按钮的边距

android - 如何在 Android 上使用 NativeScript 和 Angular 更改 StatusBar 颜色或将其设置为透明?

ios - iOS 上的 Nativescript 联系人权限

javascript - 如何使用 javaScript 获取从 java 类传递到 native 脚本 jar 文件的变量数据