如何在Mac上使用Swift调用C接口开发条形码应用
2015-08-25 11:07
1521 查看
虽然Objective-C还活的很好,但是苹果已经把重心转移到Swift上。未来Mac和iOS的开发必然是以Swift为主。因为Swift还比较新,很多SDK还没有提供Swift版本。这里分享下如何使用Swift来调用C。
参考原文:How to Bridge C Code to Create Swift Barcode Reader
on Mac
作者:Xiao Ling
翻译:yushulx
Dynamsoft
Barcode SDK for Mac
Xcode 6.4
苹果在iBooks里提供了电子书Using Swift with Cocoa and Objective-C。在网页上可以阅读Interacting
with C APIs。
Swift和C类型映射关系参考:
在Xcode中使用快捷键Command+Shift+N创建新工程。
头文件和依赖的库直接拖入工程就行了。Xcode会自动关联。
Command+N创建一个C文件,用于调用底层的C动态链接库(Dynamsoft Barcode dylib)。
完成之后,Xcode会弹出提示:
确认之后,Xcode会自动生成一个桥接头文件。把C用到的头文件添加进去:
?
参考Dynamsoft Barcode SDK的在线代码示例做一些修改:
修改下生成的头文件:
把Swift中的String转换成char *:
注释掉的接口bridgeToObjectiveC 在早期的Swift版本中是可以用的。Xcode
6.4中已经去掉了。
命令行获取Barcode结果:
在AppDelegate.swift中创建按钮和文本控件:
创建按钮响应函数:
在Interface Builder中把代码和UI元素关联起来:
使用NSOpenPanel 加载文件:
创建DBR.swift用于读取条形码:
运行1D/2D条形码应用:
https://github.com/yushulx/swift-barcode-reader
参考原文:How to Bridge C Code to Create Swift Barcode Reader
on Mac
作者:Xiao Ling
翻译:yushulx
软件下载
DynamsoftBarcode SDK for Mac
Xcode 6.4
混合使用Swift和C
苹果在iBooks里提供了电子书Using Swift with Cocoa and Objective-C。在网页上可以阅读Interactingwith C APIs。
Swift和C类型映射关系参考:
使用Swift和C在Mac上实现1D/2D条形码应用
在Xcode中使用快捷键Command+Shift+N创建新工程。头文件和依赖的库直接拖入工程就行了。Xcode会自动关联。
Command+N创建一个C文件,用于调用底层的C动态链接库(Dynamsoft Barcode dylib)。
完成之后,Xcode会弹出提示:
确认之后,Xcode会自动生成一个桥接头文件。把C用到的头文件添加进去:
?
修改下生成的头文件:
用Swift编写命令行工具
把Swift中的String转换成char *:注释掉的接口bridgeToObjectiveC 在早期的Swift版本中是可以用的。Xcode
6.4中已经去掉了。
命令行获取Barcode结果:
用Swift创建Cocoa应用
在AppDelegate.swift中创建按钮和文本控件:创建按钮响应函数:
在Interface Builder中把代码和UI元素关联起来:
使用NSOpenPanel 加载文件:
运行1D/2D条形码应用:
源码
https://github.com/yushulx/swift-barcode-reader
相关文章推荐
- 什么是Mac OS X?跟Linux有什么区别
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- Apple Swift学习教程
- Linux C函数参考手册(PDF版)
- Linux vs Mac:Linux 比 Mac 好的 7 个原因
- 苹果mac OS X上安装metasploit
- Validation of viewstate MAC failed.的解决方法
- Lua教程(十七):C API简介
- Mac平台中编译安装Lua运行环境及Hello Lua实例
- 在Mac OS中安装Lua的教程
- vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
- MAC官方菜单纯CSS实现灰色会换色
- C#实现打造气泡屏幕保护效果
- 在Mac OS下使用Node.js的简单教程
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略