Swift工程下,合并真机和模拟器framework

最近做项目,抛弃了之前常用的objective语言,开始使用新的swift语言,

首先遇到的问题就是网络请求和Json解析,经过一番考察,决定使用Alamofire做网络请求,使用SwiftJson做Json解析

Almofire和SwiftJson,我是使用carthage从网上下载,详细的步骤可以参照网络上的其他教程,这里,我只列出用的几个命令:

brew update

brew install carthage(如果已经安装过,需要更新,则使用命令:brew upgrade carthage)

进入到carthage主目录:

vi Cartfile ,添加:

github "Alamofire/Alamofire" ~> 4.4
然后运行命令: carthage update

之后经过等待,alamofire就已经下载到本地,


根据类似得到提示:*** xcodebuild output can be found in /var/folders/2p/2gxdy6s55rl0b7dy9m8m2r540000gn/T/carthage-xcodebuild.4YGWU1.log

去日志文件,查看对应的下载地址,将Products下编译好的对应文件,导入到自己工程即可使用,


SwiftJson的下载流程与上面完全相同:

只需在Cartfile,添加一行:github "SwiftyJSON/SwiftyJSON"

然后执行:carthage update


这里要着重说明的是如何将真机和模拟器framework合并,

拿Alamofire来说:

为方便起见,我将Products目录整个复制到桌面:

通过命令:$ lipo -info /Users/njwangdou1/Desktop/Products/Release-iphonesimulator/Alamofire.framework/Alamofire
结果如下:Architectures in the fat file: /Users/njwangdou1/Desktop/Products/Release-iphonesimulator/Alamofire.framework/Alamofire are: i386 x86_64

通过命令:lipo -info /Users/njwangdou1/Desktop/Products/Release-iphoneos/Alamofire.framework/Alamofire
结果如下:Architectures in the fat file: /Users/njwangdou1/Desktop/Products/Release-iphoneos/Alamofire.framework/Alamofire are: armv7 arm64

下面合并framework:

$ lipo -create -output Alamofire ./Release-iphoneos/Alamofire.framework/Alamofire ./Release-iphonesimulator/Alamofire.framework/Alamofire

查看新和成的文件支持的架构:

lipo -info Alamofire

结果如下:

Architectures in the fat file: Alamofire are: i386 x86_64 armv7 arm64

然后进入如下路径:

第一步:

cd /Users/njwangdou1/Desktop/Products/Release-iphoneos/Alamofire.framework/Alamofire

将新生成的Alamofire覆盖掉旧有的文件


第二步:

进入如下目录

cd /Users/njwangdou1/Desktop/Products/Release-iphonesimulator/Alamofire.framework/Modules/Alamofire.swiftmodule/

复制里面的文件到如下路径:

/Users/njwangdou1/Desktop/Products/Release-iphoneos/Alamofire.framework/Modules/Alamofire.swiftmodule/

OK

退回到目录Users/njwangdou1/Desktop/Products/Release-iphoneos

则此时的Alamofire.framework就支持真机和模拟器调试了

你可能感兴趣的:(swift编译)