ios xcode在xcode中怎么使用cvd数学库

博客分类:
这篇文章旨在给自己以后需要时能及时的查到,省得每次都去baidu.
1. xml解析库-GDataXML
参考文章:http://blog.csdn.net/tangren03/article/details/7868246
GDataXML下载地址:
(1)GDataXML.h/m文件
/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/
(2)DGataDefines.h GDataTargetNamespace.h 文件
/p/gdata-objectivec-client/source/browse/trunk/Source/
配置过程:
(1).引入GDataXML(4个文件)
&arc模式下&.对GDataXML.m增加非arc注释 -fno-objc-arc
(2).添加系统库 libxml2.dylib
(3).Head Search Path中添加 /usr/include/libxml2
(4).Other linker flags中添加 -lxml2
(5).xml格式
==================================
&?xml version="1.0" encoding="utf-8"?&&
&&& &User id="001"&&
&&&&&&& &name&Ryan&/name&&
&&&&&&& &age&24&/age&&
&&& &/User&&
&&& &User id="002"&&
&&&&&&& &name&Tang&/name&&
&&&&&&& &age&23&/age&&
&&& &/User&&
&/Users&
==================================
(6).应用
==================================
//获取工程目录的xml文件&
&&& NSString *filePath = [[NSBundle mainBundle] pathForResource:@"users" ofType:@"xml"];&
&&& NSData *xmlData = [[NSData alloc] initWithContentsOfFile:filePath];&
&&& //使用NSData对象初始化&
&&& GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData& options:0 error:nil];&
&&& //获取根节点(Users)&
&&& GDataXMLElement *rootElement = [doc rootElement];&
&&& //获取根节点下的节点(User)&
&&& NSArray *users = [rootElement elementsForName:@"User"];&
&&& for (GDataXMLElement *user in users) {&
&&&&&&& //User节点的id属性&
&&&&&&& NSString *userId = [[user attributeForName:@"id"] stringValue];&
&&&&&&& NSLog(@"User id is:%@",userId);&
&&&&&&& //获取name节点的值&
&&&&&&& GDataXMLElement *nameElement = [[user elementsForName:@"name"] objectAtIndex:0];&
&&&&&&& NSString *name = [nameElement stringValue];&
&&&&&&& NSLog(@"User name is:%@",name);&
&&&&&&& //获取age节点的值&
&&&&&&& GDataXMLElement *ageElement = [[user elementsForName:@"age"] objectAtIndex:0];&
&&&&&&& NSString *age = [ageElement stringValue];&
&&&&&&& NSLog(@"User age is:%@",age);&
&&&&&&& NSLog(@"-------------------");&
&&& }
==================================
shuixian361
浏览: 81741 次
来自: 济南
sendJSON(Result.SUCCESS, respon ...之前写了一篇&&,今天记录一下如何用Pods的方式来管理第三方库,包括Swift/Object-C的库。
在这之前请先查阅如何使用的,安装:&,安装遇到问题:。
好的,接下来回到我们的项目中,先把之前引用的五个库删掉,没错,就是下面选中的五个。
删除后记得把SexyGallery-Bridging-Header.h的桥接文件也删除,并将 Objective-C Bridging Header 的Value值也抹掉,如下图:
第一步:Cmmand+空格,搜索"终端",使用cd命令进入到我们项目的根目录,就是.xcodeproj文件的同级目录。
第二步:分为以下几个操作:
输入vim Podfile命令,添加并编辑Podfile文件。 
按i进入编辑,内容如下&
编辑完成按Esc键退出编辑,输入 :wq 回车
输入 Pod Install 命令下载第三方库,这里要多等一会,时间比较久。
  安装成功后的截图:
第三步:找到我们的项目根目录,会发现多了如下文件及文件夹:
podfile里的内容就是在终端使用vim podfile编辑的内容,podfile.lock也可以用记事本打开查看,里面是一些依赖项内容,第三方库的版本号什么的。
OK,进项目看看,这时候就不要在打开.xcodeproj了,直接进入.xcworkspace工作空间。
看,引用的第三方库都在这里了! SO COOL!&
使用:在需要使用第三方类库的viewcontroller的头部使用import导入相应的类,如下图
日更新: 使用pod install命令会一直卡在Updating local specs repositories,换下面命令就可正常pod第三方库:
pod install --verbose --no-repo-update
日更新:将cocospod版本更新到1.0后,使用pod install --verbose --no-repo-update命令会提示这些库没有使用到依赖的项目:。
解决办法:
将podfile里的内容替换为如下:
source '/CocoaPods/Specs.git'
platform :ios,'8.0'
use_frameworks!
target 'TargetName' to
pod 'AMap2DMap','~& 3.2.0'
pod 'AMapSearch'
pod 'MMDrawerController'
pod 'SwiftyJSON'
pod 'Alamofire'
pod 'MJExtension'
pod 'SwiftForms'
pod 'SDWebImage'
阅读(...) 评论()主题 : xcode能否直接调用c++编写的库?
级别: 精灵王
可可豆: 5235 CB
威望: 5235 点
在线时间: 410(时)
发自: Web Page
来源于&&分类
xcode能否直接调用c++编写的库?&&&
xCode能否直接调用c++编写的链接库呢?我现在别写出来的是lib跟dll文件,不知道该怎么调用,或者说需要怎么处理才能调用呢?谢谢!已解决:只能写c的库,通过xcode的编写,来解决[ 此帖被lydit在 17:59重新编辑 ]
级别: 精灵王
可可豆: 5235 CB
威望: 5235 点
在线时间: 410(时)
发自: Web Page
还是没有人回复啊
级别: 新手上路
可可豆: 350 CB
威望: 350 点
在线时间: 152(时)
发自: Web Page
iOS上现在只能用.a的静态库。dll那是windows平台的东西,不能直接用
级别: 精灵王
可可豆: 5235 CB
威望: 5235 点
在线时间: 410(时)
发自: Web Page
回 2楼(domob) 的帖子
那需要如何处理呢?没有弄过iphone,就是如何将手上原有的c++代码处理下然后生成库给xcode调用呢?
级别: 新手上路
可可豆: 80 CB
威望: 80 点
在线时间: 4(时)
发自: Web Page
我也想知道。。以前用纯c写过一个算法,怎么修改才能在ios里面引用啊。。 直接复制过来似乎没戏。。
级别: 骑士
可可豆: 1695 CB
威望: 1695 点
在线时间: 270(时)
发自: Web Page
把代码复制过来
级别: 精灵王
可可豆: 5235 CB
威望: 5235 点
在线时间: 410(时)
发自: Web Page
回 5楼(cobranail) 的帖子
貌似没用啊
级别: 新手上路
可可豆: 160 CB
威望: 160 点
在线时间: 59(时)
发自: Web Page
dll那是windows的专用格式,当然不能用。静态链接的lib倒应该可以,不过当然也不能把windows上编译的lib拷贝过来直接用。我觉得你需要补充一下操作系统和编译器的常识。mac os x基于unix内核,用gcc做底层编译器,我想它用c/c++的库是没问题的。你有unix编程经验就比较容易了
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 0(时)
发自: Web Page
回 楼主(lydit) 的帖子
最近 自己遇到个项目,是将c语言写的office软件移植到iphone上,cto说 下层的东西 全封住好了,(貌似全封装为c库了),在网上查相关资料,说obj-c可以直接调用c的库,但不知道如何用啊。。。(对c语言很模糊了),是先将库加入xcode的source,然后再 到obj-c的类里包含库么(想foundation一样)?如果是的话,包含后 又怎样调用里面的方法,不知道在哪看???求 大神&&指导呀。。。。。小弟 在此&&先 感谢了。。。
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版【转载】在你的iOS&App中使用OpenSSL库
在你的&iOS
App中 使用 OpenSSL 库
——译自x2on的“Tutorial: iPhone App with compiled OpenSSL 1.0.0a
原文地址:&,本文有少许地方做了调整。
1、下载OpenSSL源代码库:
当前最新版本1.0.0d。
下载后,将其中的&openssl-1.0.0x
目录解压出来放在合适的地方。
2、编译OpenSSL
openssl是一个c语言函数库,为方便在Xcode中使用,我们需要把它编译为静态库。
打开crypto/ui/ui_openssl.c进行编辑。
static&volatile&sig_atomic_t
intr_signal;
volatile int intr_
否则会出现一个编译错误。
2.1 编译 i386
库(用于iPhone模拟器)
执行以下命令:
将在用户主目录下建立ssllibs目录。
切换到openssl-1.0.0a安装(解压)目录,在其下建立3个子目录:
openssl-1.0.0a
openssl_armv6 openssl_armv7 openssl_i386
执行目录下的congfigure:
./configure
BSD-generic32
--openssldir=/Users//openssl-1.0.0a/openssl_i386
编辑&makefile 文件,找到:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc
-arch i386
下一行,在CFLAG =
的后面增加
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk
进行编译:
检查&openssl_i386/lib目录下 libcrypto.a 和 libssl.a
是否生成。
2.2 编译 armv6
库(armv6架构的iOS使用)
先将编译好的&i386 库保存到 ssllibs 目录:
openssl_i386 ../ssllibs
清除上次编译的配置:
执行configure,重新生成新的编译配置:
./configure
BSD-generic32
--openssldir=/Users//openssl-1.0.0a/openssl_armv6
修改&makefile 文件,将
CC=gcc修改为:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch
注意,这里是iPhoneOS.platform而不是先前的
iPhoneSimulator.platform了。
同样,需要在CFLAG=后面加上:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk
可以进行编译了:
检查&openssl_armv6/lib 目录下 libcrypto.a 和 libssl.a
是否生成。
2.3 编译 armv7 库(armv7
架构的 iOS 使用)
先将先前编译好的&armv6 库移到 ssllibs 目录。
openssl_armv6 ../ssllibs
清除前面编译配置:
执行configure配置编译环境:
./configure
BSD-generic32
--openssldir=/Users//openssl-1.0.0a/openssl_armv7
修改&makefile 文件,将 CC=cc修改为:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch
注意,gcc 编译选项 arch
由 armv6 变为了 armv7。
同时,在CFLAG=后面添加:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk
进行编译:
检查&openssl_armv7/lib 目录下 libcrypto.a 和 libssl.a
是否生成。
把编译结果移到ssllibs目录:
openssl_armv7 ../ssllibs
制作“通用”静态库
通用静态库是一个“多架构”文件,它是多个单一架构静态库的融合。
制作“通用”静态库需要使用&Mac OS X 的 lipo 命令(具体请参考 Mac OS X
合并&libcrypto.a 库:
-create ../ssllibs/openssl_i386/lib/libcrypto.a
../ssllibs/openssl_armv6/lib/libcrypto.a
../ssllibs/openssl_armv7/lib/libcrypto.a -output
../ssllibs/libcrypto.a
合并&libssl.a 库:
-create ../ssllibs/openssl_i386/lib/libssl.a
../ssllibs/openssl_armv6/lib/libssl.a
../ssllibs/openssl_armv7/lib/libssl.a -output
../ssllibs/libssl.a
3、在 Xcode
项目的进行设置
把&OpenSSL 的 include 目录拷贝到项目文件夹。
把&libcrypto.a 和 libssl.a 文件拷贝到项目文件夹。
把&libcrypto.a 和 libssl.a 文件拖到项目的 Framework
在&target 上右键,选择 Get Info,将 Library Search
Path 设置为:
$(inherited)
“$(SRCROOT)”
将&User Header Search Paths 设为
选中&Always Search User Paths
现在可以在你的iPhone项目中实用OpenSSL了。
4、写一个应用 OpenSSL
新建&Window-based
application,命名为OpenSSLTest.
“Add&&&Existing
Frameworks&&&Others…”,把libssl.a和libcrypto.a加进来(即我们前面制作的“通用”库)。
打开项目info 的 Build
设置,在 Header Search Paths 中加入 OpenSSL 的头文件路径,如:
/Users//Library/openssl-1.0.0a/include
注意,勾上“Recursive”(搜索子目录)。
接下来写点简单的代码。为求省事,我们把所有代码写在main.m里:
void&Md5(&NSString&*);
int&main(&int&argc,&char&*argv[])
&&&&NSAutoreleasePool&*
pool = [[&NSAutoreleasePool&alloc&]&init&];
Md5&(&@"12345"&);
&&&&int&retVal
=&UIApplicationMain&(argc,
argv,&nil&,&nil&);
&&&&[pool&release&];
&&&&return&retV
void&Md5(&NSString&*
//&输入参数&1&:要生成&md5&值的字符串,&NSString--&uchar*
&&&&unsigned&char&*inStrg
= (&unsigned&char&*)[[string&dataUsingEncoding&:&NSASCIIStringEncoding&]
&&&&//&输入参数&2&:字符串长度
unsigned&long&lngth
= [string&length&];
//&输出参数&3&:要返回的&md5&值,&MD5_DIGEST_LENGTH&为&16bytes&,&128
unsigned&char&result[&MD5_DIGEST_LENGTH&];
//&临时&NSString&变量,用于把&uchar*&组装成可以显示的字符串:&2&个字符一&byte&的&16&进制数
NSMutableString&*outStrg
= [&NSMutableString&string&];
//&调用&OpenSSL&函数
&&&&&&MD5&(inStrg,
lngth, result);
&&&&unsigned&int&i;
&&&&for&(i
&&MD5_DIGEST_LENGTH&;
&&&&&&&&[outStrg&appendFormat&:&@"x"&,
result[i]];
NSLog&(&@"input
string:%@"&,string);
NSLog&(&@"md5:%@"&,outStrg);
你可以在控制台查看程序的输出:
string:12345
md5:827ccb0eea8a706c4c34a16891f84e7b
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 xcode8 ios11 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信