最近想试试 swift ,干写没什么意思,想把以前写的小工具重写一下。
这不,遇到问题了,请各位巨佬稍微喵一眼,稍微点拨下,我就受用无穷了。
项目结构,如图:
有主要有 3 个文件, 这里出问题的是 ecc.swift
这里原 oc 项目会调用一个 libsecp256k1 。a 的静态库,
搜索了下,说是 swift 必须把。a 封装成 。framework ,
好的,于是,我在工程下面添加一个 target , 编译成 framework
然后在 ecc.swift 中 import secp256k1 ,import 也没报错 ,但是也不能双击进入详情,
bridging header 也对应的设置了
但是使用头文件里面的类型时候,报错,Cannot find type 'secp256k1_context' in scope
1
DCELL 2022-03-09 11:19:25 +08:00 1
1. 这个 framework 编译出来就有问题 建议查看下产物对不对
2. 可能是 secp256k1_context 这个头文件,没有暴露出来,在 secp256k1.h 文件中 import 下 |
2
xtinput 2022-03-09 15:41:39 +08:00
你没把.a 文件相关的头文件弄进去呀
|
3
xtinput 2022-03-09 15:44:52 +08:00
看看你的 framework 结构呗
|
4
xtinput 2022-03-09 15:50:09 +08:00
我把极光的推送封装成 framework 之后的结构,是利用 cocoapods 来封装的
<img src="http://img.tcoding.cn/2022/03/09/a7fb316ab492e.png" alt="a7fb316ab492e"/> |
5
liuidetmks OP |
6
xtinput 2022-03-09 20:58:38 +08:00
https://github.com/darvintang/WeChatOpenSDK 参考这个
.a 文件替换 WeChatOpenSDK ,名字也改成和 framework 同名的 重点在 Modules 的 module.modulemap 文件里面,将 module.modulemap 也编辑好 头文件放到 Headers 里面 然后再把弄好的 framework 拖到项目去 |