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代码注入
URL网址:http://scyanting.com/article/dscsojc.html