Comments
完整根据这个代码来的,运行后发现找不到这个方法,提示: |
@bijiabo 这个提示是 JS调用native的一个日志,可以参考一下这个例子 swiftExample |
@acton393 sorry,复制错了内容,提示是这样的: |
如果非http请求的图片资源而是项目中内部的图片资源,ios是如何读取的 |
@lenvonsam 可以参考WXURLRewriteProtocol 这个协议,有默认实现 |
请问那个 WeexDemo-Swift 是源自哪里的? |
@15130886370 文档中有链接 |
按照文档所说的,
|
@XImoon you have to import the XCode generated header files. |
@xeha-gmbh |
@XImoon 和你遇到同样的问题,通过swift的extension方式提示找不到方式,完全使用OC代码实现是ok的,不知道哪个步骤不对找到坑了,现在用的是swift 4.0,默认去掉了自动增加的
|
@zhongdom |
请问有没有swift weex component相关的代码 |
@XImoon @TheCoRsAiR 我也是遇到这个问题,我是 OC/Swift 新手,经验不太足,花了一整天测试,最后找到一个办法。 一开始试了上面提到的 @objc 办法,但在我这里并不生效,我尝试了不带任何参数的函数签名,通过 WX_EXPORT_METHOD 暴露,是完全正常的,所以就定位问题到 “函数签名” 上了。 Weex Vue Code: *-Swift.h 头文件里的签名形式 .swift 文件里的 extension 扩展实现(特别注意参数前面的 _ ) .m 文件里的暴露(你的函数是几个参数,就几个冒号) 应该写对了函数签名,这个问题就可以解决,但我就没有花更多时间去深挖了,目前能让项目进行下去就 OK。 希望对大家有帮助。 |
试了你的方法完美解决,谢谢 |
Swift In Weex
参考之前 Swift和Objective-C 混编的文档
Weex iOS SDK 是使用
Objective-C
,结合部分C
实现的,引入 Swift,需要混编,直接进入正题
一个例子
SDK集成 参考
使用 Swift 进行 module 扩展
doc
因为 module 暴露 method 是通过
Objective-C
宏来做的,调用的时候是通过反射,所以Swift扩展 module 通过extension
Objective-C
的类,以下操作,可以直接在weex 的iOS playground 中进行新建
WXSwiftTestModule.h/m
和WXSwiftTestModule.swift
文件, 在新建Swift文件的时候会提示选择
Create Bridging Header
, 因为我们要在 Swift 中访问Objective-C
的一些类,正是通过这个 header暴露 OC 的类给 Swift,header 格式为yourTarget-Bridging-Header.h
,我这里创建完header文件名称为:WeexDemo-Bridging-Header.h
WXSwiftTestModule.h/m
中实现WXSwiftTestModule.h 中
WXSwiftTestModule.m 中
WeexDemo-Swift.h 这个文件需要编译一下才可以搜索到,具体的路径
路径具体需要根据自己工程而定
Swift 中实现
扩展 OC 的类
WXSwiftTestModule
,增加了一个方法,这个方法就是我们要暴露出来,在 js 中可以调到的WXSwiftTestModule.swift
WXSwiftTestModule
和WXModuleCallback
因为是 OC 的,需要在WeexDemo-Bridging-Header
中暴露WeexDemo-Bridging-Header.h中
至此这个使用 Swift 开发的简单的 module 已经完成
module 使用
注册 module
we 文件中使用
The text was updated successfully, but these errors were encountered: