- 博客(39)
- 资源 (23)
- 收藏
- 关注
原创 WebRTC 入门 02 通过浏览器使用摄像头 I
这一节开始,我们通过JavaScript API来开发简单的Web应用程序来学习WebRTC框架。WebRTC框架提供的API既可以用于实现简单的功能,比如一对一的视频、音频通话。也有足够的灵活性可以让有经验的开发人员实现各种复杂的功能。WebRTC为开发人员提供的API大体上可以分为三类:本地和远端音频、视频的获取和管理:MediaStreamInterface连
2015-03-25 21:36:31 3228
原创 WebRTC 入门 01 简介 III
假设Alice和Bob要使用WebRTC的呼叫功能。要实现通信,他们需要同时连接到实现了呼叫服务的web服务器。当他们打开提供呼叫服务的web页面时,他们将下载包含JavaScript的HTML页面,JavaScript通过安全的HTTP或WebSocket将浏览器连接到服务器。
2015-03-24 22:28:15 1074
原创 WebRTC 入门 01 简介 II
转载请注明出处:信令WebRTC的设计目的是解决对多媒体层的控制而不是信令层,它将信令层的东西尽量多的留给了应用层来管理。
2015-03-24 08:49:18 1117
原创 WebRTC 入门 01 简介 I
Web Real-Time Communication(WebRTC)是一个基于Web浏览模型的新的扩展标准。有了这个技术,浏览器与浏览器之间开始可以建立p2p连接进行实时多媒体通信。W3C和IETF联合制定了JavaScript API、标准HTML5标签和在下一代web浏览器之间建立和管理可靠通信信道的下层的通信协议。定义标准WebRTC API的目的是为了让web应用程序可以在任意设备上运行,并且安全的通过输入设备(例如摄像头和麦克风)和远端对象以P2P的方式实时的交换多媒体数据。
2015-03-23 21:53:54 1079
转载 CSDN Code Git设置和项目初始化
Git设置:git config --global user.name "Your Name Here"# 设置Git提交时的默认用户名,推荐使用本站用户名:yamingwugit config --global user.email "your_email@example.com"# 设置Git提交时的默认邮箱,推荐使用本站注册邮箱:109012455@qq.
2015-03-22 12:25:02 584
转载 CODE CSDN Git 配制方法介绍
下面的就是配置本地客户端了,确认你在CSDN id,获取的方式是在登录后,进入passport.csdn.net,在“个人帐号”的最下端查看用户名:然后在命令行中输入:git config --global user.name "CSDN id"配置邮箱配置的Git邮箱应与CSDN passport中注册邮箱一致,系统判断用户名是依靠邮箱信息:git co
2015-03-22 12:07:47 492
原创 iOS AV Foundation 二维码扫描 05 缩放摄像头
最后一节,我们为程序添加通过手势对摄像头进行缩放控制的功能。添加实例变量,并在viewDidLoad方法的最后,进行初始化: CGFloat _initialPinchZoom; [_previewView addGestureRecognizer:[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@se
2015-03-22 10:11:32 3211 1
原创 iOS AV Foundation 二维码扫描 04 使用合成语音朗读二维码内容
前一节,我们为程序识别到的二维码提供了可视化的显示,这一节,我们使用合成语音朗读扫描到的二维码的内容。修改ViewController.m,定义以下实例变量并进行初始化:AVSpeechSynthesizer *_speechSynthesizer;_speechSynthesizer = [[AVSpeechSynthesizer alloc] init];初始化语音合成器十分简单。语音
2015-03-22 09:26:02 1777
原创 iOS AV Foundation 二维码扫描 03 为扫描到的二维码添加可视化效果
上一节,我们已经实现了二维码的扫描,这一节,我们利用元数据的bounds和corners实现一个可视化的扫描效果。bounds定义了包含二维码图像的矩形,corners定义了二维码图像的实际坐标:当摄像头和二维码图片完全对齐时,bounds和corners就是相同的。但是通常来说,几乎不可能让摄像头和二维码完全对齐。打开ViewController.m,添加以下实例变量,用于存放所有检
2015-03-21 18:08:55 2571 1
原创 iOS AV Foundation 二维码扫描 02 扫码
AVFoundation支持以下一维和二维码的扫描:QR codeAztecEAN13EAN8UPC-EPDF417Code 93Code 39Code 39 mode 41QR code就是我们所熟知的二维码。打开ViewController.m,添加以下实例变量:AVCaptureMetadataOutput *_metadataOutput;当从视频帧中检测到元数据时
2015-03-21 14:27:14 4105
原创 iOS AV Foundation 二维码扫描 01 使用摄像头
从这一节开始,我们使用AV Foundation制作一个条码(不仅仅是二维码)扫描程序,除了扫描二维码功能外,还具备语音合成和摄像头缩放功能。创建名为ColloQR的单view应用程序。打开storyboard,禁用sized class。选中view controller,通过editor菜单将其放入navigation controller中。最后修改标题为ColloQR:使用
2015-03-20 21:58:38 1740
原创 iOS UICollectionView 入门 07 点击cell放大图片
这一节,我们实现通过点击图片将图片放大显示的功能。首先我们创建一个名为FlickrPhotoViewConroller的类,这个类继承于UIViewController。修改头文件内容如下:#import @class FlickrPhoto;@interface FlickrPhotoViewConroller : UIViewController@property (nonat
2015-03-19 19:12:48 2755
原创 tftp Error on server : Access violation解决办法
在执行tftp put操作时,可能遇到Access violation错误。
2015-03-18 17:33:33 2431
原创 ubuntu tftp服务安装和配置
1、安装相关软件包:Ubuntu tftp(服务端),tftp(客户端),xinetdsudo apt-get install tftpd tftp xinetd 2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudo vim tftp在文件中输入以下内容:service tftp{ socket_type = dgram protocol =
2015-03-18 17:28:46 599
原创 iOS UICollectionView 入门 06 添加标题view
新建继承于UICollectionReusableView的类FlickrPhotoHeaderView,添加以下两个outlet:@interface FlickrPhotoHeaderView()@property (weak) IBOutlet UIImage *backgroundImageView;@property (weak) IBOutlet UILabel *search
2015-03-17 21:29:53 1225
原创 SVN和Git的代理proxy设置
Git:export http_proxy=http://yourproxyaddress:proxyportSVN:终端直接输入: sudo gedit ~/.subversion/servers在打开的文本编辑器中找到 [global] 修改# http-proxy-host = defaultproxy.whatever.com# http-proxy-port =
2015-03-17 12:43:51 2286
原创 iOS UICollectionView 入门 05 创建自定义UICollectionViewCell
默认情况下,除了改变背景色,UICollectionViewCell不允许我们进行太多的配置。我们需要创建UICollectionViewCell的子类来实现对cell的配置。创建名为FlickrPhotoCell的类,继承于UICollectionViewCell。修改FlickrPhotoCell.h,为cell创建imageView outlet和photo指针。@class F
2015-03-16 22:55:00 1977
原创 iOS UICollectionView 入门 04 使用UICollectionView的准备工作
使用UICollectionView和使用UITableView类似,需要为它们设置用于数据显示的事件处理的data source和delegate。数据源(UICollectionViewDataSource)返回collection view要显示的数量和view。delegate(UICollectionViewDelegate)在发生cell被点击或移除时被调用。UIColle
2015-03-16 21:04:09 1329
原创 iOS 链接错误file was built for archive which is not the architecture being linked (i386)
iOS 环境下,链接某个静态库(.a文件)时,Xcode 会出现链接错误:xxx file was built for archive which is not the architecture being linked (i386)这是因为静态库是为iOS 环境编译的,并不能在模拟器环境下使用,只要将Build 目标改成设备即可。如果是:ld: warning: ignoring fi
2015-03-14 23:13:29 4413
原创 iOS模拟器URLWithString The operation couldn't be completed. (Cocoa error 256.)
我遇到这个问题是在iPad Air的模拟器上使用NSURL的URLWithString方法从Flickr获取数据时,解决办法是换一个模拟器,我换成iPad 2,就没有问题了。
2015-03-14 21:23:47 1041
原创 iOS UICollectionView 入门 03 从Flickr获取数据
Flickr是国外一个照片分享网站,它提供了供开发人员使用的API,通过这些API,我们可以搜索相片,添加相片也可以对相片做评论。要使用Flickr API,需要通过以下网址进行注册:http://www.flickr.com/services/api/keys/apply/对于测试工程,Flickr有一个sample key,使用这个key无需注册。将以下语句贴到浏览器地址栏,进
2015-03-14 18:10:23 1059
原创 iOS UICollectionView 入门 01 简介
当第一代ipad发布时,相册程序相当吸引眼球,它以独特的方式以多样的布局来显示照片,可以使扁平的表格view:也可以是有层次的按分类进行查看:还可以使用手势,以很炫的方式在不同的布局之间进行切换。我们可以使用gridview和一些其它的布局来实现这些,但是太麻烦了,从iOS6开始,我们可以使用UICollectionView来实现它,我们可以很容易的为程序添加自定义布局
2015-03-14 11:10:37 1055
原创 iOS 自动布局 Auto Layout 入门 06 详情页面 (d) 对右侧标签进行排版
接下来,我们对详情页中间右侧的控件进行排版。首先将右侧这些空间拖动到合适的位置:在label之间添加水平间距约束:只有水平间距约束是不够的,还需要为这三个label添加y轴方向的约束,这里我们使用Editor菜单的Align\Baselines约束,分别为每行的两个label添加约束:接下来,我们通过编码的方式,为album value label添加内容,
2015-03-13 22:30:08 1168
原创 iOS 自动布局 Auto Layout 入门 06 详情页面 (c) 对左侧标签进行排版
前面两节我们解决了歌手名label和按钮的布局问题,接下来我们对界面中的一列标签进行自动布局。对label进行排版选中5个label选择Align\Right Edges:为这些label添加位置约束:Release Year标签到左边界的距离为0Notes标签到顶部的垂直间距为64每个label之间的垂直间距为14选择resolve auto la
2015-03-13 21:26:47 970
原创 iOS 自动布局 Auto Layout 入门 06 详情页面 (b) 按钮的布局
上一节我们完成了对歌手名称label的布局设置,这一节我们对最下方的三个按钮的布局进行配置。首先选中三个按钮,设置Size to Fit Content,让这三个按钮拥有合适的大小:为了方便查看按钮的大小,我们为按钮设置一个背景色并设置如下图所示的约束:在预览窗口,旋转界面为横屏,可以看到三个按钮的布局可以接受:如果三个按钮宽度一致,看起来会更好看一些, 接
2015-03-12 23:53:01 1245
原创 iOS 自动布局 Auto Layout 入门 06 详情页面 (a) 歌手名称Label
这一节开始,我们做一个更复杂的程序。我们需要为音乐播放程序构建一个详情页面,这个页面用于显示歌手的名字和专辑的一些详细信息:创建一个名为ArtistDetail的single view应用程序,disable size classes。如下图示是,将空间拖到view中,不用太关心这些空间的位置,大概差不多就行,后面我们会一步一步的让它们看起来好看的。歌手名Label我们
2015-03-12 20:45:10 1181
原创 iOS 自动布局 Auto Layout 入门 05 相册 (下)
这一节,我们添加其余3个头像到界面中。首先,我们将绿色view拖向屏幕的左上角,这将导致约束出现问题,我们使用‘Resolve Auto Layout Issues’的Update Constraints选项,通过更新约束的方法解决拖动导致的约束问题。之前我们使用的是‘Update Frames',‘Update Frames’的作用是通过移动和改变view的大小来满足约束。这里,我们希望的是
2015-03-11 23:12:32 1255
原创 iOS 自动布局 Auto Layout 入门 05 相册 (中)
这一节,我们为绿色view添加label和image view。添加UILabel为label添加约束,让其于绿色view下边界的间距为20:再通过Align菜单设置水平居中:完成后,label的约束如下图所示:添加UIImageView添加UIImageView到绿色view中,使用pin菜单,设置UIImageView和绿色view的之间
2015-03-11 22:45:29 969
原创 iOS 自动布局 Auto Layout 入门 05 相册 (上)
通过前面几节,我们已经了解了什么是约束,以及约束是如何工作的。这一节开始,我们使用自动布局来做一个相册应用程序。这个程序在水平和垂直模式都可以显示4副图片,效果如下:屏幕被分为4个区域,每个区域由一个Image view和一个Label组成。创建一个名为Gallery的single view应用程序。打开Main.storyboard,disable Size Classes。添加
2015-03-11 21:26:23 1829
原创 iOS 自动布局 Auto Layout 入门 04 约束的动态效果
前面几节使用的约束都是通过Interface Builder添加的,这一节我们来看看运行时约束是怎么样的。首先我们删除没有背景色的那个按钮添加以下方法到ViewController.m中:- (IBAction)buttonTapped:(UIButton *)sender{ if ([[sender titleForState:UIControlStateNorma
2015-03-10 22:30:13 883
原创 iOS 自动化集成和测试
通过前面两篇文章iOS单元测试和iOS自动化集成Jenkins。我们分别实现了单元测试用了,和自动化集成环境Jenkins,通过很简单的步骤,就能使Jenkins在执行完构建后,自动进行单元测试。配置如下,在构建命令的shell后,添加执行单元测试的shell:保存并执行构建,可以从Console Output看到,在构建成功后执行了单元测试,结果为成功,成功后,发送了邮件到我设定
2015-03-09 21:41:52 500
原创 iOS 单元测试
参考Apple官方文档,写一个单元测试的实例。从官方下载计算器代码:UnitTests.zip,这是一个计算器程序。进入测试tab,可以执行工程自带的测试用例。我们添加一个自己的测试用例SampleCalcTests:在生成的SampleCalcTest.m中添加头文件引用和成员变量:#import "iOS_CalcAppDelegate.
2015-03-09 20:44:58 756
原创 Jenkins 发邮件 553 Mail from must equal authorized user解决办法
如下配置了Jenkins邮件系统,但是没法发送测试邮件,错误553。在网上搜了下,有些人错误为501 mail from address must be same as authorization user;其实问题是一样的,需要在Jenkins Location中配置系统管理员邮件地址。做了这个设置后,测试邮件就可以成功发送了:
2015-03-09 00:06:55 10938
原创 iOS 自动布局 Auto Layout 入门 02 使用自动布局
在上一节中,我们使用autosizing+代码的方法使三个view按我们的需求显示在应用程序中,这一节,我们使用Auto Layout来实现同样的功能。
2015-03-08 14:01:08 886
原创 iOS 自动布局 Auto Layout 入门 01 背景介绍
如果你在考虑如何让我们的app在手机处于水平和垂直的情况下都保持很好的布局?如何让我们的程序很好的同时支持iPhone和iPad?请使用自动布局-Auto Layout!这一节,我们通过Autosizing来实现一个可以使用横屏和竖屏的布局,看看问题在哪里。
2015-03-07 21:30:30 1040
转载 Facebook发布Origami Live for iOS,并更新Origami
去年,Facebook免费发布了一款用于设计交互式用户界面的工具--Origami,Facebook在自家Facebook Paper、Instagram以及Messenger多款应用中使用了这款工具。出于某些原因,该工具仅适用于OS X 平台,设计师和开发者并不能在iOS上使用Origami原型。不过现在Origami Live可以让开发者和设计师在iOS上自由创作了。Origami
2015-03-03 12:57:53 855
Using Swift with Cocoa and Objective-C完整中文CocoaChina精校版
2015-02-05
iOS Programming- The Big Nerd Ranch Guide 4ed源码
2015-02-04
iOS Programming(英文第四版)- The Big Nerd Ranch Guide 4ed
2015-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人