Overview
当下移动端开发过程中大量使用前段H5、js等等技术,而这些web页面的调试在Xcode控制台中不太明了,经常我们移动app运行了就是方法,但是不能显示响应的效果,这时候或许就是已经报错了,但是我们在Xcode控制台是看不到这些错误。这时候我们就可以用功能强大的Safari浏览器
简单介绍以下几个宏:
1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。
2) __FILE__ 宏在
ios js 交互分为两块:
1.oc调用js
这一块实现起来比较简单,
我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择拷贝到工程中,(拖入的文件夹是蓝色的,相对路径),不然css,js 的路径会存在问题
加载本地html:
oc调用js:
#import <AVFoundation/AVFoundation.h>
// 初始化方法
AVSpeechSynthesizer *speech = [[AVSpeechSynthesizer alloc]init];
// 设置内容
AVSpeechUtterance *ut
从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢?
先从 NSDictionary 文档中来看这两个方法的定义:
objectForKey: returns the value associated with a
一,效果图。
二,代码。
RootViewController.h
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController
<UIAlertViewDelegate>
@end
UIWebView 是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf、word、doc 等等文件
生成webview 有两种方法,1、通过storyboard 拖拽 2、通过alloc init 来初始化
创建webview,下列文本中 _webView.dataDetect
AFNetworking在iOS网络请求第三方库中占据着半壁江山,前段时间将AFNetworking进行了3.0版本的迁移,运用面向对象的设计将代码进行封装整合,这篇文章主要为还在寻找AFNetworking集成代码或者准备3.0迁移的各位童鞋们提供思路,同时自定义了字典模型转换方法,需
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 滤镜效果
NSAr
1.对于strong:该对象强引用delegate,外界不能销毁delegate对象,会导致循环引用(Retain Cycles)
因为我们一般代理的都是当前的控制器 比如scrollView.delegate = self;这时候就成了上面的一个圈的循环引用。如果上图delegate为强指针,那
一,效果图。
二,代码。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//根据内容自动调整高度
NSStri
一,代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSLog(@"
碰见一个很奇葩的问题, 某些手机在设置了不知什么后, 某些 APP 死活 HTTPS 请求失败, 例如以 UMeng 统计HTTP 请求失败为例, Log如下:
UMLOG: (Error Applog) Error Domain=NSURLErrorDomain Code=-1202 "此服务
前言
文章相对来说比较复杂,特别是查找版本ID对应的步骤,这里推荐使用另一种方案,操作起来更简单。
本文介绍如何使用Workflow及Fiddler下载IOS旧版本APP应用。
实现原理
通过Workflow查找App的历史版本对应ID
通过抓包软件Fiddler修改下载请求,将请求中最新版本的ID
前言:一段时间没接触,很容易就忘记以前的知识。专写一篇,供几个月没接触,拿起却忘记了。
0、宏定义、系统相关
0-1)、宏定义、规范
变量:
//全局变量通常用小写g来提示
int gNumb=0;
//宏定义通常用小写k来提示,也不一定全是
#define kMaxValue(valu
文章转自:直播协议的选择:RTMP vs. HLS
前言
随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼。想要做一个直播业务,主要包括三个部分:采集推流端、流媒体服务端、播放端。这里不多说,就主要结合 iOS 平台,从观看端出发,介绍一
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImageView *ima
本文转自:在 Mac OS 上编译 OBS | www.samirchen.com
安装环境
第一步,做准备工作,安装编译 OBS 所需要的环境,流程如下:
// 给当前用户添加 /usr/local 文件夹的写权限,否则后面可能在安装其他环境时可能因为权限问题可遇到错误:
sudo chown -
一,工程图。
二,代码。
//点击任何处跳转到页面
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CATransition* animTrans = [CATransition animation]
armv7,armv7s,arm64,i386,x86_64 详解
一、概要
平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如:
在真机上编译报错:No architectures to compile for (ONLY_ACTIVE_A