• IOS 定位CoreLocation代码

    IOS 定位CoreLocation代码

  • 获取手机通讯录 iOS去除数字以外的所有字符

    获取手机通讯录 iOS去除数字以外的所有字符

  • 手机号码 验证

    手机号码 验证

  • ios常用动画

    ios常用动画

  • ios数据类型转换

    ios数据类型转换

  • UIWebView自适应高度

    UIWebView自适应高度

  • iOS使用视听媒体框架AVFoundation实现照片拍摄

    iOS使用视听媒体框架AVFoundation实现照片拍摄 用系统自带的视听媒体的框架,AVFoundation实现照片拍摄.相比UIKit框架(UIImagePickerController高度封装),AVFoundation框架让开发者有更大的发挥空间. 首先看一下效果图: 下面贴上核心控制器代码: #import "HWPhotoVC.h" #import <AVFoundation/AVFoundation.h> @interface HWPhotoVC () @p

  • iOS自定义UIButton点击动画特效

    iOS自定义UIButton点击动画特效 借鉴相关资料,整理了一个很有意思的button动画效果,iOS自定义UIButton点击动画特效 先看一下效果图: 下面贴上代码: ViewController: #import <UIKit/UIKit.h> @interface ViewController : UIViewController @end #import "ViewController.h" #import "HWButton.h" #def

  • iOS扫描二维码实现手势拉近拉远镜头

    iOS扫描二维码实现手势拉近拉远镜头 在做扫码需求,往往会有放大镜头需求. 苹果提供了AVCaptureConnection中,videoScaleAndCropFactor:缩放裁剪系数,使用该属性,可以实现拉近拉远镜头.再结合手势UIPinchGestureRecognizer,就很简单实现手势拉近拉远镜头. 手势代码 ///记录开始的缩放比例 @property(nonatomic,assign)CGFloat beginGestureScale; ///最后的缩放比例 @property(nona

  • 如何去掉Xcode工程中某种类型的警告

    如何去掉Xcode工程中某种类型的警告 问题描述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧.我们怎么去掉警告呢? 1. 最直接.最一劳永逸.最安全的方式,直接找到警告的那段代码,改为不警告.这个方式最安全. 可是它有一个问题,就是,当我们很多文件都有这种类型的警告的时候,我们就需要改动很多很

  • iOS常用调试方法之静态分析详解

    iOS常用调试方法之静态分析详解 前言 在iOS项目开发过程中,常用到静态分析(Analyze).断点(BreakPoint)和控制台(Console)进行代码调试.本篇文章介绍Xcode常用调试方法之"静态分析". 本文来自360奇舞团QiShare团队投稿. 一.简介 Xcode的静态分析功能是在程序未运行的情况下,对代码的上下文语义.语法.和内存情况进行分析,可以检测出代码潜在的文本本地化问题(Localizability Issue).逻辑问题(Logic error).内存问

  • iOS与Unity交互笔记之参数传递

    iOS与Unity交互笔记之参数传递 1. 调用方法一 Unity调方法传参,有返回值 // Unity代码 [DllImport("__Internal")] // 给iOS传string参数,有返回值,返回值通过iOS的return方法返回给Unity private static extern string getIPv6(string mHost, string mPort) // iOS代码 extern "C" const char * getIPv6(

  • iOS Xcode自定义代码块及迁移的实现方法

    iOS Xcode自定义代码块及迁移的实现方法 前言 文中将要介绍以下四点内容 代码块的意义 自定义代码块入口 代码块迁移 代码块的编写 下面话不多说了,来一起看看详细的介绍吧 一 . 意义在于节约时间成本 like 我在编译器键入 strong, 回车 自动生成 @property (nonatomic, strong) <#Class#> *<#object#>; 二 . 如何自定义代码块 如下图所示 选中一行代码右键 crate code snippet 右上角方框快速进入

  • iOS开发技巧之自定义相机

    iOS开发技巧之自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以.就花时间简单研究了一下相机的自定义. 相机属于系统硬件,这就需要我们来手动调用iPhone的相机硬件,分为以下步骤: 1.首先声明以下对象 #import <AVFoundation/AVFoundation.h> //捕获设备,通常是前置摄像头,后置摄像头,麦克风(音频输入) @property (nonatomic, strong) AVCaptureDevice *device

  • iOS使用AVFoundation展示视频

    iOS使用AVFoundation展示视频 本文实例为大家分享了iOS使用AVFoundation展示视频的具体代码,供大家参考,具体内容如下 // // Capter2ViewController.m // IosTest // // Created by garin on 13-7-19. // Copyright (c) 2013年 garin. All rights reserved. // #import "Capter2ViewController.h" @interfac

  • iOS自定义相机实现拍照、录制视频

    iOS自定义相机实现拍照、录制视频 本文实例为大家分享了iOS自定义相机实现拍照.录制视频的具体代码,供大家参考,具体内容如下 使用AVFoundation框架. 这里是Demo 首先声明以下对象: #import "CustomeCameraViewController.h" #import <AVFoundation/AVFoundation.h> #import <AssetsLibrary/AssetsLibrary.h> @interface Cust

  • iOS逆向开发之微信自动添加好友功能

    iOS逆向开发之微信自动添加好友功能 这一次,小程演示怎么让一个APP自动地运行,从而代替手工的操作.同样以"微信"以例,实现在一个微信群里面,对所有的成员,自动地一个一个地发出添加好友的请求. 知识点还是之前介绍的东西,流程方面还是跟踪与最终注入.因为这是一个系列的文章讲解(微信公众号"广州小程" -> 逆向开发),所以读者可以联系前面的文章来理解,用自己的话"翻译"成自己的知识与经验. 本文解决一个问题:如何让第三方程序自动化地运行.

  • iOS中NSPredicate谓词的使用

    iOS中NSPredicate谓词的使用 前言 NSPredicate 谓词, 其实 NSPredicate 有时候完全可以被 [for...][if..else] 替换来实现功能, 但会造成代码不够优雅, 一堆的判断循环 有时一句 NSPredicate 便可实现. 今天作者就聊一聊谓词的使用. 一 NSPredicate 理解说明 NSPredicate : 中文直译谓词, 用来定义逻辑条件约束的搜索 或 内存中的过滤. 如同语法中的谓词, 如 [3 大于 2]中"大于"就是一个就

  • iOS应用脚本重签名的实现方法

    iOS应用脚本重签名的实现方法 上一篇iOS APP签名详解我们了解了iOS签名的机制和原理,这一篇我们一起来动手写一个自动重签名的脚本,懒是程序员乃至人类进步的终极力量,造轮子写工具可以极大的避免重复性工作,为我们节省更多的时间放在思考上,话不多说撸起袖子开始干: 第一步:获取脱壳的ipa包 从iTunes 12.6.3及以前的版本上直接下载 (macOS Mojave Doesn't Support),这样获取到的是正版ipa,需要用Clutch.dumdecrypted等工具先脱壳,否则别人

  • iOS自定义字体设置和系统自带的字体详解

    iOS自定义字体设置和系统自带的字体详解 前言 有时候我们写app的时候不想使用默认的字体,我们会用到UI给我们设计好的字体,或者别的字体,那么我们改如何设置呢. 首先先看一下我自己导入的字体和苹果给我们自带的字体都有哪些吧. 看一下样式 首先说一下.我们如何设置字体的样式呢,我们可以这样设置: label.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.f]; 那么我们该如何得到我们想要的字符串呢? 我们可以这样得到所有的字

  • iOS登录时验证手机号与倒计时发送验证码问题详解

    iOS登录时验证手机号与倒计时发送验证码问题详解 前言 我们做登录的时候经常会使用到,验证手机号是否正确.向手机发送验证码倒计时60s的问题,我们改如何解决呢?让我们一起来探讨一下吧. 如下图: 首先,我们先说说判断手机号码是否正确的问题吧,我的想法是给字符串添加一个分类,然后写上这样的代码: + (BOOL)valiMobile:(NSString *)mobile{         if (mobile.length != 11){             //判断手机号码是否为11位        

  • iOS 12+ 中检测网络访问的方法

    iOS 12+ 中检测网络访问的方法 我最近写了一篇文章,来介绍 iOS 在连接新的 Wi-Fi 网络时,如何在弹出一个 web view 以让用户登录或注册之前,检测 Captive Portals (强制网络门户).如果你连接过诸如酒店.酒吧或咖啡店等地的公共 Wi-Fi 网络,对这个应该会比较熟悉.如果你不熟悉 iOS 中 Captive Portals 的工作方式,可以查看 Solving the Captive Portal Problem on iOS 这篇文章,以了解一些背景知识. 多年来,

  • iOS中谓词(NSPredicate)的基本入门使用教程

    iOS中谓词(NSPredicate)的基本入门使用教程 前言 首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索. 可以使用谓词来表示逻辑条件,用于描述对象持久性存储在内

  • iOS中表单列表样式键盘遮挡的解决方案

    iOS中表单列表样式键盘遮挡的解决方案 前言 近期参与了一个招聘类app的开发,注册流程比较多,基本都是cell带输入框的表单列表样式,避免不了的就会遇到键盘遮挡问题.相信大家也一定遇到过类似的问题,今天在这里就给大家分享一下,这个问题的解决思路. 实现方案 我们先来分析一下这个需求,首先,这个表单是一个列表list(UITableView或者UICollectionView),如图1所示,当用户点击输入框1.2.3.4.5的时候,弹出键盘但不会被遮挡,这种情况,不用做处理,当用户点击输入框6.7.8,弹

  • iOS Moya实现OAuth请求的方法

    iOS Moya实现OAuth请求的方法 0. 起源 开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 而作为第三方软件,为用户提供 OAuth 登录是更好的选择,可以有效打消用户对于个人账户密码泄露的顾虑,同时也能有效避免用户反复登录,进而增加用户的舒适度,提高用户粘性. 1. 环境 项目使用 MVVM 架构,引入了 Rx 全家桶,网络请求框架使用了 Moya,以及处理 Oauth 相关的

  • 详解iOS中position:fixed吸底时的滑动出现抖动的解决方案

    详解iOS中position:fixed吸底时的滑动出现抖动的解决方案 两种抖动 为什么抖动还会有两种? 其实是我碰到过两种抖动的场景,第一个场景是native的抖动,第二个场景是h5的抖动. native的抖动 前端开发人员会在app中打开webview,这个时候iOS中position:fixed吸底时的滑动出现抖动应该是native造成的抖动,整个viewport跟着动,所以可以在生成schema的时候将参数bounce_disable(可能不一定都有这个参数,就看有没有类似的参数进行控制)设置为1

  • iOS11.3以下modal中input光标错位的解决方法

    iOS11.3以下modal中input光标错位的解决方法 先看一下错位的效果: 这本是iOS系统的一个BUG,不过在iOS11.3以后的系统中修复了: 解决办法: 在body标签中添加样式: body { position: fixed; width: 100%; } 或者 body { overflow: hidden; height: 100%; } ios11,弹出层内的input框光标错位 之前开发了一个微信项目,安全上线,维护期中苹果手机突然出现光标错位现象,经过排查,发现是最新的ios11系

  • iOS中的实时远程配置全纪录

    iOS中的实时远程配置全纪录 前言 当您需要快速推出远程配置更改时该怎么办?也许你做的上次更改没有成功,你想尽快撤消它们.或者您的应用中出现了问题,您需要禁用整个功能. 更频繁地调用fetchWithExpirationDuration:completionHandler: (具有较少的到期时间)是一种方法,但Firebase不鼓励这样做.你冒着被下架的风险. 如果您需要使远程配置缓存无效,而不必对短暂的到期时间进行硬编码,该怎么办?而不是反复询问服务器更新,让服务器在有更改时通知您. Firebase远

  • iOS关联对象示例详解

    iOS关联对象示例详解 背景 在iOS开发中如果我们想给一个对象动态添加属性或者给category添加属性的时候,都是通过runtime的关联对象去实现,那我们添加的属性到底是如何存取的呢?是直接添加到了对象自身的内存中了去吗?带着这些疑问让我们看一runtime的源码,解开关联对象的神秘面纱. 关联对象源码 存值 void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy polic

  • 详解iOS 用于解决循环引用的block timer

    详解iOS 用于解决循环引用的block timer 一.什么是回调函数? 回调函数,本质上也是个函数(搁置函数和方法的争议,就当这二者是一回事).由"声明"."实现"."调用"三部分组成. 在上面的例子中,我可以看出,函数amount(其实是Block),的声明和调用在A类中,而实现部分在B类中.也就是说,B类实现了amount函数,但并没有权限调用,最终还是 由A类触发调用.我们称这样的机制为"回调".意思是"虽

 4 5 6 7 8 9 10 11 12 13