自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张乾坤

代码改变世界

  • 博客(94)
  • 收藏
  • 关注

原创 如何拿到当前的控制器

//获取当前控制器- (UIViewController *)getCurrentController { UIWindow *window = [[UIApplication sharedApplication].windows firstObject]; if (!window) { return nil; } UIVi...

2017-11-22 11:09:54 286

原创 喷枪打字

#import "ViewController.h"@interface ViewController ()@property (strong,nonatomic) UILabel *contentLabel;@property (copy , nonatomic)NSString *contentStr;@end@imp

2017-11-13 16:21:22 267

原创 setValue和setObject的区别

在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有。1,先看看setValue: forKey:的定义@interface NSMutableDictionary(NSKeyValueCoding)/* Send -setObject:fo

2017-02-18 11:28:00 361

原创 iosiOS 10开发中经常遇到的问题总结

1.如何手动取消UIDispalaySearchController的取消搜索状态#pragma mark UISearchDisplayDelegate    - (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller    {        for (

2017-02-18 11:26:11 497

原创 面试中经常被问到的单例类

iOS系统的单例类:UIApplication(应用程序实例) NSNotificationCenter(消息中心):     NSFileManager(文件管理):    NSUserDefaults(应用程序设置):     NSURLCache(请求缓存):   NSHTTPCookieStorage(应用程序cookies池):

2017-02-18 11:17:07 339

翻译 iOS 10 的适配问题(二)

随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出.1.系统判断方法失效:在你的项目中,当需要判断系统版本的话,不要使用下面的方法:#define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]

2017-02-07 10:25:44 374

翻译 iOS 10 的适配问题

iOS10相册相机闪退bughttp://www.jianshu.com/p/5085430b029fiOS 10 因苹果健康导致闪退 crashhttp://www.jianshu.com/p/545bd1bf5a23麦克风、多媒体、地图、通讯录ios10相机等崩溃http://www.jianshu.com/p/ec15dadd38f3iOS10 配置须知htt

2017-02-07 10:24:01 245

翻译 兼容iOS 10 资料整理笔记

1.Notification(通知)自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。iOS 9 以前的通知1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很

2017-02-07 10:22:27 242

原创 Xcode空模板 路径

打开Finder  按快捷键 cmd + shift + G 跳出输入框  依次输入下面2个路径  并在每一个路径下拖进一个模版文件夹进去 即可 重启Xcode就有了  写纯代码必备工程模板路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope

2017-02-07 10:20:04 294

原创 关于dyld: Library not loaded Reason: image not found问题的解决方案

这个问题一般都是引用第三方framework导致,报错示例如下:dyld: Library not loaded: @loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle  Referenced from: /Users/songping/Library/Developer/Xcode/DerivedDat

2016-11-12 12:03:47 1232

原创 如何创建高质量视频

越来越的多的用户在与我们沟通时会谈及,为什么自己的视频码率很高,但是视频的画面质量却很差。这是因为大家在拍摄视频的时候不恰当的操作造成的,今天我们聊一下,如何更好地拍摄视频。1、使用支架,减少摄像机的抖动如果摄像机不稳固,那么拍摄的画面也还是处于颤动状态,颤动的画面相当增加了很多的信息,这些信息会增大数据速率,并带来宽带负荷。    2、使用好的照明技术光源的亮度很重要,很多摄

2016-07-07 08:58:31 331

原创 视频播放器原理

视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术。如果考虑到网络传输的话,还包括流媒体协议技术。视频播放器播放网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。过程如图所示。解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频

2016-07-07 08:56:57 524

原创 网络视频直播简介

网络视频直播是应用流媒体技术在网络上进行直播,同时支持进行录播功能(系统自动录制,方便用户随时点播),用户访问指定的直播网站页面(URL),其访问请求导向发布服务器节点,获得流媒体数据,通过网页浏览器直接观看直播视频内容。网络视频直播的整体构架是什么样的呢?网络视频直播由视、音频采集工具,编码工具,服务器,网络,播放器等部分组成。图1    网络视频直播模型视、音频采集

2016-07-07 08:56:02 1381

原创 什么是H.264?

H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式。H.264是在MPEG-4技术的基础之上建立起来的,其编解码流程主要包括5个部分:帧间和帧内预测(Estimation)、变换(Transform)和反变换、量化(Quantization)和反量化、环路滤波(Loop Filter)、熵编码(Entropy Coding)。

2016-07-07 08:54:59 1594

原创 如何计算视频流量?

如何计算视频流量,视频的大小就是观看视频时产生的流量吗?首先,我们要理清一个概念,流量是什么?流量是单位时间内收发的数据包的数量。也就是说在我们观看视频的时候,流量就随之而来。如何计算流量呢?有这么一个简单的计算公式:流量(kb)=观看视频时长(s)*当前视频码率(kbps)/8,同一个视频不同清晰度,即不同的码率所产生的流量大小是不一样的,那么视频有多少种码率呢,他们的对应关系是怎么样的呢?

2016-07-07 08:53:52 22675 1

原创 二.常见视频格式

上篇我们已经了解了avi、wmv、rm、rmvb、flv等六种视频格式,现在我们在了解其他的一些视频格式。1.Versioned Object Base (VOB)vob文件用来保存所有MPEG-2格式的音频和视频数据,这些数据不仅包含影片本身,而且还有供菜单和按钮用的画面以及多种字幕的子画面流。.ifo文件用于控制VOB文件的播放,在这个文件中可以找到如何控制.vob文件中数据播放的信息

2016-07-07 08:52:45 778

原创 一.常见的视频格式有哪些?

视频格式,想必大家都不陌生,随随便便大家都能够说出几个,想什么MOV、flv、MP4等等,那么大家对这些视频格式有多少了解呢?可能并不是很多,今天小编带着大家了解一下我们生活中经常接触的视频格式。1、AVI英文全称为Audio Video Interleaved,即音频视频交错格式。是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管面面质量不

2016-07-07 08:51:20 1729

原创 我们必须了解的视频参数有哪些?

一、分辨率(Resolution)视频分辨率是指视频成像产品所成图像的大小或尺寸,它的表达式为:“水平像素数*垂直像素数”。常见的图像分辨率有QCIF(176×144),CIF(352×288),D1(704×576),720P(1280×720),1080P(1920*1080)。摄像机成像的最大分辨率是由CCD或CMOS感光器件决定的。现在有些摄像机支持修改分辨率,是通过摄像机自带软件

2016-07-07 08:49:23 5645

原创 什么是HLS? 视频直播需要什么?

HLS(Http Live Streaming )是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。1、M3U8文件用文本方式对媒体文件进行描述,由一系列标签组成。标签描述#EXTM3U每个M3U8文件第一行必须是这个tag。

2016-07-07 08:47:41 5053

原创 判断字符串中是否含有表情iOS

//判断是否含有表情- (BOOL)stringContainsEmoji:(NSString*)string{    __block BOOL returnValue = NO;       [string enumerateSubstringsInRange:NSMakeRange(0, [string length])                   

2016-07-07 08:41:59 441

原创 针对苹果最新审核要求为应用兼容IPv6

在WWDC2015上苹果宣布iOS9将支持纯IPv6的网络服务。2016年初开始所有提交到App Store的应用必须支持IPv6。为确保现有的应用是兼容的,我们需要注意下面几点。不建议使用底层的网络API下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。                     

2016-07-07 08:39:13 244

原创 从2月14号开始,上传AppStore会经常碰到:Failed to locate or generate matchin

从2月14号开始,上传AppStore时可能会碰到这个问题:Failed to locate or generate matching signing assetsXcode attempted to locate or generate matching signing assets and failed to do so because of the following issues.

2016-03-30 19:42:00 279

原创 "_iconv", "_iconv_open", "_iconv_close",这种错误的解决办法

Undefined symbols for architecture armv7:  "_iconv", referenced from:      _avcodec_decode_subtitle2 in libavcodec.a(utils.o)  "_iconv_open", referenced from:      _avcodec_open2 in li

2016-03-24 09:38:00 4775

翻译 AVAudioSession后台播放

iOS4之后就支持后台播放音频了。只需下面两步就可以实现后台播放音频操作了:1、在Info.plist中,添加"Required background modes"键,其值设置如下图所示:2、添加AVFoundation框架,然后再添加如下两段代码添加后台播放代码:[cpp] view plain copy

2016-03-18 17:48:59 358

原创 HTTP错误大全 400 403 404 405

HTTP 400 - 请求无效HTTP 401.1 - 未授权:登录失败HTTP 401.2 - 未授权:服务器配置问题导致登录失败HTTP 401.3 - ACL 禁止访问资源HTTP 401.4 - 未授权:授权被筛选器拒绝HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败HTTP 403 - 禁止访问HTTP 403 - 对 Internet 服务

2016-03-01 14:14:58 1959

原创 iOS FMDB自己封装的单例类

#import "FMDatabase.h"@interface DataBaseHelper : NSObject+ (DataBaseHelper *)sharedDataBaseHelper;@property (nonatomic, strong) FMDatabase *db;@end////  DataBaseHelper.m//  FMDB

2015-12-22 22:13:15 348

原创 iOS KVO观察数组

import "RootTableViewController.h"#import "Stock.h"@interface RootTableViewController ()//数组属性@property (nonatomic, strong)NSMutableArray *dataSource;@end@implementation RootTableViewC

2015-12-22 22:10:43 819

翻译 iOS 9新系统下App Store应用上传新指南

(2015-10-15 21:18:15)转载▼ 最近频繁收到小伙伴们的反馈,说经过前期学习已对ASO规则略有了解,但APP的提交审核是由技术负责,很少接触iTunes Connect后台;还有部分小伙伴们抱怨自家没有iOS端的APP,无法进行实操。今天公子将从最起初的应用上传进行详细讲解,并重点说明上传过程中需要注意

2015-12-22 22:09:08 349

翻译 iOS 9适配技巧(更新版)

1. Demo1_iOS9网络适配_ATS:改用更安全的HTTPS[摘要]为了强制增强数据访问安全, iOS9 默认会把 所有的http请求 所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSes

2015-12-22 22:07:29 432

翻译 Xcode7 UI自动化测试详解 带demo UITests

UI Tests是什么?UI Tests是一个自动测试UI与交互的Testing组件UI Tests有什么用?它可以通过编写代码、或者是记录开发者的操作过程并代码化,来实现自动点击某个按钮、视图,或者自动输入文字等功能。UI Tests的重要性在实际的开发过程中,随着项目越做越大,功能越来越多,

2015-12-22 21:58:05 301

原创 iOS与内存管理

内存工具针对iOS开发,我们所能使用的内存排查工具选择其实并不算特别多。最主要的调试工具就是Instruments。然而,如果仔细探查细节,Instruments还是集成了很多不错的调试模板/Library的。本文针对如下几类应用场景,对通用的调试方法做基本介绍:最基本最常用的内存问题场景——内存泄露、过度释放mall

2015-12-22 21:56:59 344

翻译 iOS 代码规范实践总结

最近一个月除了专门抽时间和精力重构之外,还有就是遇到需要添加功能的模块的时候,由于项目中的代码历史因素比较多,第一件干的事情往往是重构整理代码,发现很多之前的代码写的时候没有注意的事情特别多,比如全局变量乱用;方法没有层次感,胡乱添加;对业务不了解的情况下,通过打补丁的方式实现功能等等。所以我决定写一篇文章,把自己的觉得实践中需要注意的一些事项,具体总结一下分享给大家。减少对象属性

2015-12-22 21:56:05 284

原创 iOS swift中导入OC第三方

新建一个header写入头文件buildsetting 搜bridg  .. 点击空白拖入header然后把根目录改为$SR(ROOT)/加上工程所在的相对目录

2015-12-22 21:55:18 298

原创 iOS 信鸽推送

#import "AppDelegate.h"#import "XGPush.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSD

2015-12-22 21:54:41 372

翻译 iOS的Mantle实战

公司项目之前的model层代码是我使用JSON工具直接生成Objective-C代码的,当时还是觉得相当省事的,毕竟我经历过无model层的NSDictionary“黑暗”时期。但是随着项目的推进,问题开始慢慢显现出来。 于是,在一个多月前,我在Objc.io上看到提及了Mantle,花了一点时间看了一下,决定先在分支上全套改用Mantle。使用了一段时间,性能没造成什么瓶颈,稳定性还是可

2015-12-22 21:53:54 276

原创 iOS 应用程序的生命周期

#import "AppDelegate.h"@interface AppDelegate ()@end@implementation AppDelegate-(void)dealloc{    [_window release];    [super dealloc];}//状态: 应

2015-12-22 21:53:05 247

转载 iOS 实现打印功能

#import "DHSmartScreenshot.h"  这个类库  //这个 要切记 !!!    UIImage *printImage = [detailTableView screenshot]; //打印就这一句话     PrintInfoViewController *printViewController = [[PrintInfoVie

2015-12-22 21:52:18 800

原创 iOS AFN下载

#import "ViewController.h"#import "AFNetworking.h"#import @interface ViewController ()@property (strong, nonatomic) IBOutlet UIView *progressView;@property (weak, nonatomic) IBOutlet UIProgr

2015-12-22 21:51:06 532

原创 iOS 百度地图

#import "ViewController.h"//使用地图的全部功能#import @interface ViewController ()BMKGeneralDelegate,BMKMapViewDelegate, BMKLocationServiceDelegate,BMKGeoCodeSearchDelegate, BMKRouteSearchDelegate>//百度

2015-12-22 21:49:55 591

原创 SVN 命令

在这儿在总结一下SVN使用频率比较高的而且比较重要的命令吧(当然,本人平时主要是用XCode自带的SVN可视化管理~)(1)、更新本地代码命令svn  up 更新版本svn info 查看当前版本信息(2)、代码的提交svn info 查看当前本地版本信息svn up 更新到最新版本信息svn st 查看文件状态 M-修改  D-删除

2015-12-22 21:47:41 309

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除