资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

ios开发注释,ios代码注入

iOS开发:SDK依赖第三方库及其踩过的坑

公司开发的SDK,是集成了各个平台的商品,包括购买、分享、提现等功能,为了加快进度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者还有,必须用到微信的SDK。考虑到后期的维护成本和集成,笔者采用了cocoapods管理第三方库。

十载的宁武网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整宁武建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“宁武网站设计”,“宁武网站推广”以来,每个客户项目都认真落实执行。

笔者有片文章专门介绍SDK的开发步骤的,大家可以参考,我这里就直接进入主题了。

首先,你创建一个静态的framework工程MyTestSDK,把这个工程集成cocpapods,至于如何集成cocpapods,网上有教程,自己搜索。这个时候把你项目中所用的第三方库添加到Podfile文件中,然后 pod install。这个时候你command + B 编译运行,如果你的第三方库中还有Bundle资源,那么编译后,第三方库的bundle资源会被编译,一起放到Products文件下的framework文件中,右键Show in Finder就会看到。如下图所示的MBProgressHUD文件夹,里面都是MBProgressHUD第三方的资源文件。

然后把你的项目放入SDK工程中,编译运行一下,看看有没有错误。之所以先把SDK工程选用cocoapods管理,就是怕你的项目放入SDK中运行报错。没有任何问题,直接编译即可。

由于SDK中的第三方是通过cocoapods管理的,所以接入者的项目也要用cocoapods管理。

1:把SDK工程中,Products文件夹下的framework文件copy到项目中,最好项目中建立一个文件夹,专门放SDK和bundle。我是放到了一个文件夹中,方便分类寻找。如下图所示:

2:打开终端,cd到SDK所在的文件夹下,执行如下命令,回车,创建spec文件。

其中,MyTestSDK是你的SDK名称。

创建出来的spec文件,是个很长的文件,但是大部分都是注释的,我这里只提取了有用的信息展示出来:

然后把spec中依赖的第三方库,逐个加入到项目中的Podfie文件中。然后 终端打开,cd到自己的项目中,pod install即可。

本人亲自测试过的,No Problem。当初感觉SDK如果依赖了第三方库,接入的项目中也有同样的第三方库,会不会冲突啊,感觉好难搞啊。事实证明,通过spec进行依赖,可以很好的解决这个问题,也就没有那么麻烦了。

首次开发SDK还是遇到了很多问题,运行出现很多bug,但是最后还是一一解决了,就是没有记录下bug和解决发的方法。

1;path路径不对,就会报错 ,如下

是因为我把路径写成了:

其实正确的写法是:把“/”放在前面

2:SDK中有第三方,但是项目中的Podfile里面没有这个第三方,报错如下所示:

解决办法是就是在项目中的 Podfile里面加入缺失的第三方库,重新 pod install。

在工作中IOS开发注释时候要写英文吗?英文就会26个字母可以学吗?

不用吧,可以写中文啊,关键是一个软件开发团队间能够互相看懂就ok吧

ios地图开发 怎么将注释的数据传给注释视图button调用的方法?????

思路:

拿到当前的位置,这个你应该可以做到吧。拿到后将位置的信息存储到一个数组中NSArray

根据数组来构建UITableView也不难吧。简单写一下吧

CLLocationCoordinate2D location=yourcurrentlocation;

NSArray list=@[location];

[self.tableView reloadData]; /////重新载入数据

接下来就是uitableview datasource的一些代理方法的调用了。

ios开发,下面这段注释的地方能帮我解释下什么意思么

前面第一个函数是CAAnimation 的代理方法,在 animation 完成以后调用

后面的@xxx.f 等于 [NSNumber numberWithFloat:xxx]

哪些不能错过的iOS Xcode必备插件

Xcode插件神器

插件管理器

第一神器:注释

1.前往GitHub下载工程文件:VVDocumenter-Xcode 2.用Xcode打开工程,Command + B Build成功后,可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins目录下看到生成的xcplugin文件: 3.重启Xcode,在某个方法前输入三个“ / ”,自动生成对应的注释: 然后tab并保全就可以了。 4.打开Xcode菜单,在Window选项下可以看到已经安装的插件: 点击打开,可以设置该插件的选项: 感觉还是挺实用的,最重要是安装过程非一般的简单。

第二神器:XVim

第三神器:XToDo

第四神器:Cocoapods

第五神器:DXXcodeConsoleUnicodePlugin

第六神器:FuzzyAutocomplete

第七神器:GitDiff

第八神器:PrettyPrintJSON

第九神器:SCXcodeSwitchExpander

第十神器:Auto-Import

Xcode升级后插件失效解决方案

Xcode插件神器

作为iOS开发人员,不了解些常用的插件,不使用插件,开发效率怎么会够快呢?那么问题来了,现在的你,使用过哪些xcode插件?如果没有使用过插件,那么很遗憾,您错过了很多好用的工具!

插件管理器

既然使用xcode插件,就应该想想有没有插件管理器呢?是的,有一个灰常有名的插件管理器叫Alcatraz,关于这个插件管理器如何安装,请参考官方文档

如果您已经安装过这个插件管理器,那么恭喜您可以直接看下面的内容了!!!

安装完成以后,需要重启Xcode后,然后在Xcode的菜单栏上就可以看到这样package manager:

第一神器:注释

开发必须有规范,不然维护成本就会提高。那么写api时就应该配上非常明确的注释,而有一个插件VVDocument就是一个注释神器。有了它,我们只需要使用///就会自动触发生成格式化的注释。看下面的例子,我们写好这个API后,直接输入///,就会生成下面这样的注释!!!当然格式是可以调整的,这个插件提供了一个配置界面,可以修改触发方式以及生成的样式等。

/*!

* @author 黄仪标, 15-11-11 23:11:04

*

* #Description#

*

* @param patientModel #patientModel description#

* @param resultBlock #resultBlock description#

*

* @return #return value description#

*/

- ( instancetype ) initWithPatientModel : ( HYBPatientModel * ) patientModel resultBlock: ( HYBResultBlock ) resultBlock ;

看下图,就是当前我的配置界面,如果想要修改就可以在这个界面直接修改!!!

1.前往GitHub下载工程文件:VVDocumenter-Xcode

2.用Xcode打开工程,Command + B

Build成功后,可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins目录下看到生成的xcplugin文件:

3.重启Xcode,在某个方法前输入三个“ / ”,自动生成对应的注释:

然后tab并保全就可以了。

4.打开Xcode菜单,在Window选项下可以看到已经安装的插件:

点击打开,可以设置该插件的选项:

感觉还是挺实用的,最重要是安装过程非一般的简单。

第二神器:XVim

我相信对于做过Web开发的人员,对vim这个工具是相当熟悉的吧。说真的,刚开始我也觉得这个东西不好用,不过那是因为不会用。后来看到有个同事是后端转iOS的,他一直在使用XVim插件操作好快,于是就想学习一下这个东西怎么用。

事实如此,真的是相当棒的插件。现在我的Xcode一直都有这个插件,而且对这个vim已经熟悉了,其常用的操作命令都记住了。

现在,本人也在学习HTML5,使用Sublime Text3开发工具,这个也是神器,支持很多的插件,而且也支持vim,简单是爽死了!!!如果您也在使用,一定要学习这个工具如何使用。

如果不想使用Alcatraz插件管理器来插件,可以直接到下载运行。

第三神器:XToDo

首先,其开源github地址为:

如果想要下载运行安装,可以直接下载然后用xcode运行。

我们在开发时,经常使用#warning来添加提醒信息,但是实际上很多项目里面有很多这样的信息,这让我们非常难找。有了XToDo这个神器,我们可以通过这个插件所提供的工具,直接查看。

支持的写法:TODO,FIXME,???,!!!!。看到这几个应该可以猜得出来是什么意思了吧。没错,就是事项的意思。

我们在代码中可以这样添加:

// TODO: 在上线前需要将这个值设置为111(假设)

const NSUInteger kAppInterfaceVersion = 111 ;

// FIXME: 这里是写死的假数据

NSString *title = @"假数据" ;

// ???: 这里是什么意思?

NSString *value = [ self test ] ;

// !!!!: 警告区

NSString *warningVersion = @"1"

第四神器:Cocoapods

现在新的项目中几乎都使用了Cocoapods来管理第三方库了,因此,这个插件也是必备神器啊!关于这个Cocoapods怎么使用,请阅读这篇文章:[),这篇文章介绍了其基本使用,并且也教大家让自己的开源项目也支持`Cocoapods`。

有了这个插件,就可以通过直观的界面来操作了。当然,喜欢使用命令的也是可以的,本人就更喜欢直接操作命令。

第五神器:DXXcodeConsoleUnicodePlugin

你知道吗?为什么Xcode控制台Console打印出来的JSON数据中有中文时都是看不懂的字符?这让人非常难受,只能通过断点调试才能单步进去看到这个值。那么现在有了这个神器就不用这么麻烦了!!!直接就可以打印出来看了!!!

1.快捷键 option+c 会转换当前 剪贴板 中的内容并用一个对话框把转换后的内容显示出来。

2.在 Xcode 的 Edit 菜单中勾选 ConvertUnicodeInConsole,然后 console 中再出现 \u4e0e 时,就会自动转换成 与 显示。

第六神器:FuzzyAutocomplete

这个FuzzyAutocomplete可是相当好用的家伙,可以自动匹配所有的变量、函数名等,而且不要求顺序。比如,Xcode自带的智能提示,我们只能是顺序的写了前面的字符才能匹配出来提示。那么这个神器就不一样了,不要求记得API的写法顺序,只要记住其中几个字母,就可以匹配出来了,然后选择就可以了。

看下图,是不是很明智:

第七神器:GitDiff

对于项目使用了git这个来管理版本的开发人员来说,这可就是一个神器了。我们在文件中发动了任何地方,在左边的代码行号这里都会有相应颜色显示,一看就可以看出来了。

当然,对于不是使用git来管理的人来说,这个插件就没有必要了。

看下图的左边,是不是不一样了:

还可以点击还原:

第八神器:PrettyPrintJSON

开发一定需要到调试接口,那么打印出来的JSON数据又是乱乱的,根本不能直观看出来是什么结构嘛。那么安装这个东西就好办了,直接可以显示出很好的结构。当然我们可以使用浏览器插件:JSON-handle插件,这个是google浏览器的插件,有了这个东西,将接口放到浏览器时,返回的JSON数据会自动格式化。

第九神器:SCXcodeSwitchExpander

这个插件也是好东西哦,当我们定义了枚举结构时,我们使用SCXcodeSwitchExpander插件就相当容易了。

我们定义一个枚举:

typedef NS_ENUM ( NSUInteger , HYBErrorType ) {

kErrorTypeNetworkFail ,

kErrorTypeNetworkTimeout ,

kErrorTypeArgumentLess

}

当我们在使用时,我们声明一个枚举变量,然后输入switch (枚举变量)就会自动地展开了:

HYBErrorType errorType ;

switch ( errorType ) {

case kErrorTypeNetworkFail :

break ;

case kErrorTypeNetworkTimeout :

break ;

case kErrorTypeArgumentLess :

break ;

default :

break ;

}

这是不是很方便呢?必须的!!!

第十神器:Auto-Import

这个Auto-Import插件是可以快速导入头文件的插件。这个就不多说了,看图吧!!!

其实到现在我也没有这么使用过。所以只能排第十了!!!

附上出处链接:{{page}}


新闻名称:ios开发注释,ios代码注入
分享地址:http://cdkjz.cn/article/dscsojc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220