iPhone开发如何管理第三方依赖库

Posted by Jimney Lee at 2013-11-26 with tags git, submodule, cocoapods

采用git submoduleCocoaPods结合管理,如果依赖的库支持CocoaPads,优先采用CocoaPads,类似Ruby环境的gem工具。如果被依赖库不支持,则采用git submodule。通过依赖管理第三方库,主要为了日后更新方便,与原版本保持同步,及时修复因依赖引入的bug。

1、查看是否可以CocoaPads依赖

$ pod search libname

2 、git submodule

  • a、添加一个新的库依赖,如添加nimbus框架
$ git submodule add https://github.com/jverkoey/nimbus.git vendor/nimbus
  • b、已有库依赖,初始化和更新 当从github clone一个项目时,发现如果有.gitmodule文件,则说明有git submodule依赖,则需要做一下两步操作:
$ git submodule init & git submodule update

3、CocoaPods使用参考: http://blog.devtang.com/blog/2012/12/02/use-cocoapod-to-manage-ios-lib-dependency/https://github.com/CocoaPods/CocoaPods

iOS7 修改导航栏和状态栏背景

Posted by Jimney Lee at 2013-11-25 with tags ios7, barstyle

如果我们APP的主色调偏深,那就需要修改导航栏(navigationbar)和状态栏(statusbar)背景及字体颜色

1、修改导航栏字体和背景

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];//字体
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];//背景

2、修改状态栏字体白色

a、plist中添加UIViewControllerBasedStatusBarAppearance字段并设置为NO,默认YES

b、AppDelegate中添加如下代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

CocoaPods问题出错

Posted by Jimney Lee at 2013-11-11 with tags cocoapods

CocoaPods问题:Unable to activate xcodeproj-0.14.1 出现下面这个问题,由于在pod install,未使用sudo权限去执行,有时候犯的错误就是2,分享一下,不想其他同学也为这个问题浪费不必要的时间。

/Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1990:in raise_if_conflicts': Unable to activate xcodeproj-0.14.1, because activesupport-4.0.0.rc1 conflicts with activesupport (~> 3.0) (Gem::LoadError) from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1163:in activate’ from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1199:in block in activate_dependencies' from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1185:in each’ from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1185:in activate_dependencies' from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1167:in activate’ from /Users/jimney/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:48:in `gem’ from /Users/jimney/.rvm/gems/ruby-2.0.0-p0/bin/pod:22:in

CocoaPods出错

Posted by Jimney Lee at 2013-11-10 with tags cocoapods

CocoaPods问题:diff: /../Podfile.lock: No such file or directory 解决方法转自此处:http://www.cnblogs.com/ios-wmm/p/3360958.html

工程使用CocoaPods管理第三方库,在新的目录update版本的时候出现如下问题

  • 问题1描述:

diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run ‘pod install’ or update your CocoaPods installation.

解决办法: 进入到工程目录重新pod install一下

上面步骤进行过之后运行工程可能会有下面错误,那是因为当前用户的权限所致。

  • 问题2描述:

/Users/wmm-mac/Documents/Program-SVN/Versions/code/iPhone/GeneralProject/Pods/Pods-resources.sh: line 5: /Users/wmm-mac/Documents/Program-SVN/Versions/code/iPhone/GeneralProject/Pods/resources-to-copy-GeneralProject.txt: Permission denied

Pod没有权限: 如果没有权限,可执行下面代码

$ sudo chmod 777 Pods

开源基于nimbus的新浪微博iPhone客户端框架

Posted by Jimney Lee at 2013-11-04 with tags weibo, nimbus, opensource

基于轻量级iOS开发框架nimbus,网络层采用AFNetworking

在此基础上进行二次构建,可以简单、便捷地处理和显示列表数据,

通过制作iOS7上新浪微博APP的首页,介绍框架的使用,通过开源分享,一起交流进步。

主要分享的技术点如下:

1、二次构建,简化tableView网络数据请求和显示

2、类似官方APP富文本的布局和关键字的识别和交互

3、发布微博、拍照及获取地理位置

4、微博列表中查看原图功能

PS:以前项目中主要使用three20开发APP,了解过three20的同学,应该比较熟悉nimbus的作者,不熟悉请google之。

开源分享Ruby China社区的iPhone 客户端

Posted by Jimney Lee at 2013-11-04 with tags rubychina, nimbus, opensource

最近利用业余时间,用我之前基于nimbus的sina微博框架做了一个Ruby China社区的iPhone客户端。实现社区开放的10来个接口,结合自己的UI审美,制作了一个还算能用的APP,与大家一起学习交流。

注:由于新浪的接口现在阉割的太多,不足以做一个完整的APP,参考http://www.cocoachina.com/bbs/read.php?tid=165636

因为只用了一周多的时间,也没有单元测试,固然会有很多问题,欢迎fork和pull request,独乐乐,不如众乐乐。

GitHub代码传送门: https://github.com/jimneylee/JLRubyChina-iPhone

DONE

  • 1、首页热门帖子显示

  • 2、帖子详细浏览、帖子回复列表

  • 3、帖子关注、收藏、@某人

  • 4、回复帖子支持表情选择

  • 5、发帖到指定分类,支持markdown语法

  • 6、分类节点列表查看

  • 7、酷站分组显示

  • 8、会员TOP N查看

  • 9、我的主页,已发帖子、收藏帖子查看

  • 10、Ruby China Wiki

  • 11、更多功能包含:清空缓存、更新检测、给我评分、关于APP

  • 12、帖子列表支持markdown语法解析显示(仅使用于7.x)

  • 13、网络2G/3G/WIFI切换提示

TODO

  • 1、与后台API接口修改确认,参见API Problem文档说明

  • 2、发帖添加表情选择

  • ~~3、帖子列表支持markdown语法解析显示~~

  • ~~4、分类节点做分组与排序~~

  • 5、个人主页详细资料

  • ~~6、网络2G/3G/WIFI切换提示~~

  • 7、发布模式下需屏蔽No Point分类

  • 8、增加社交组件分享

  • ~~9、经公测稳定,提交AppStore审核,方便大家下载使用~~

  • 10、如果需要的话,添加友盟统计

UPDATE:2013.12.19


  • 1、发帖支持markdown
  • 2、回复支持emoji表情选择

UPDATE:2013.12.26


  • 1、帖子正文支持makrdown语法显示,不过正则识别还需进一步完善,欢迎大家讨论交流。

UPDATE:2013.12.31


  • 1、帖子正文支持markdown语法,正则匹配还有很多问题,待完善
  • 2、显示帖子和回复中图片
  • 3、兼容ios6
  • 4、添加网络断开/2g3g/wifi切换的时间侦听和提示