如何在 Xcode 导入七牛 objc-sdk
一、 使用 pod 包管理工具导入(推荐方式)。
在项目跟目录创建 PodFile 文件,输入:
platform :ios, "8.0" # 第一行指定平台和版本
pod 'AFNetworking', '~> 3.0'
pod "Qiniu", :git => 'https://github.com/qiniu/objc-sdk.git', :branch => 'AFNetworking-3.x'
pod 'HappyDNS', '~> 0.2'
项目跟目录下执行 pod install
,成功后使用 xcode 打开新生成的 Project.xcworkspace
文件。
参考:
http://www.yeolar.com/note/2015/01/02/cocoapods/
http://guides.cocoapods.org/using/getting-started.html
二、直接复制源码到项目
源码地址: https://github.com/qiniu/objc-sdk
- 右键,选择添加文件到项目
- 选择文件
Added folders
选择Create groups
完成后:
在 Build Phases
--- Compile Sources
中已自动添加了*.m
文件
导入依赖(源码导入参考)
7.0.12 后依赖 HappyDNS
: https://github.com/qiniu/happy-dns-objc 以上面相同方式导入HappyDNS
的源码。
至此,可正常编译、运行项目。
注意 :
若报
Undefined symbols for architecture x86_64: "_crc32", referenced from:
,项目中需导入libz.dylib
。(Build Phases
---Link Binary With Libraries
)若报
"_res_9_ninit", referenced from: _setup_dns_server in QNResolver.o
等,- 项目中需导入
libresolv.dylib
或libresolv.9.dylib
。(Build Phases
---Link Binary With Libraries
); 或 (
Build Settings
---Linking
---Other Linker Flags
) 添加-lresolv
选项报
Thread 1: EXC_BAD_ACCESS(code=1,address=0x180f4beb8)
类似错误,将QN
打头的都设置arc
(Build Phases
---Compile Sources
)
链接错误
有客户导入sdk后会报链接错误 (linker command failed with exit code 1),可以下载下这个打包好的文件,解压后直接导入工程使用