- 博客(37)
- 收藏
- 关注
原创 iOS支付(包括支付宝、微信、银联)封装
前言最近在学习构架,感觉到构架的魅力,自己用构架思想封装了一个支付集合,欢迎使用!开发环境1、xcode 8以上2、iOS 7.0以上支付SDK的集成1、支付宝参照博客 支付宝支付集成 ,里面很详细这里就不多说了。2、微信支付参照博客 微信支付集成 3、银联支付银联支付要比支付宝及微信要简单 参照 银联支付集成工程目录结构依赖
2017-11-04 09:56:10 3331
原创 UIGestureRecognizer 获得target和action
NSArray *targets = [view gestureRecognizers]; if (targets.count != 1 ) { return; } //或者使用imageView. gestureRecognizers获取 for (UIGestureRecognizer *recognizer in targ...
2019-07-30 11:01:51 811
原创 UIControl(UIButton,UISegmentedControl等)获得target和action
UIButton *button = (UIButton *)view; NSSet *targets = [button allTargets]; if (targets.count==1) { id target = [targets anyObject]; NSArray * actions = [button ...
2019-07-30 10:57:56 417
原创 iOS 修改苹果开发者公司账号(Apple ID 更换)
公司之前申请开发者账号的人离职了,需要更换开发者公司账号,以免以后出问题。(只针对组织账号中的公司账号,非企业和个人账号)第一种方案:直接修改Apple id1、登录 苹果的Apple id管理网站https://appleid.apple.com/#!&page=signin,输入Apple id的账号密码,登录成功之。2、点击编辑,然后点击编辑Apple id,在下面的输...
2019-03-04 17:46:03 9896
翻译 升级Xcode 10必看 stdc++.6.0.9
Xcode 10发行说明 更新您的应用以使用新功能,并针对API更改测试您的应用。Xcode 10可在Mac App Store中使用,包括适用于iOS 12,watchOS 5,macOS 10.14和tvOS 12的SDK.Xcode 10支持iOS 8及更高版本,tvOS 9及更高版本以及watchOS 2及更高版本的设备上调试。Xcode 10需要Mac运行macOS 10.1...
2018-09-20 10:30:41 6960
原创 iOS数据持久化之NSUserDefaults动态加载
背景当我们用NSUserDefaults 存储数据时,对单例对象给成员变量复制时,会重写set,get方法。重复代码多。怎样动态添加属性并自动添加到NSUserDefaults 里。原理通过runtime 动态获得到成员变量名称,并通过@dynamic 手动添加set,get方法,并自动映射。实现自动保存NSUserDefaults里。代码使用1、XPPreferences...
2018-08-29 12:29:01 275
原创 OCR:iOS身份证(正反面)识别及银行卡识别
场景1、想要实现身份证识别及银行卡识别。2、不想用第三方(免费识别有上限,要想更多识别需要花钱)只想实现身份证和银行卡识别,没必要花钱。3、不想用第三方开源框架(OpenCV、TesseractOCRiOS等)集成内存太大,为了这两个功能,没必要app包过于增大。4、本demo就简单的搞了一下(通过c++,简单有效的识别身份证及银行卡)。5、不讲原理,只讲怎样使用demo,不...
2018-08-27 16:40:44 18663 16
原创 mac+Jenkins+gitLab+蒲公英 (iOS自动打包)
1、Jenkins的安装与启动方式一:直接下载安装包jenkins安装包下载 安装完成后在 Terminal (终端)中输入,即可打开 Jenkinsopen /Applications/Jenkins/jenkins.war方式二:使用homebrew安装 homebrew(如果已经安装,跳过此步)ruby -e "$(curl -fsSL https://raw.githubusercon...
2018-06-19 14:42:43 1720 1
原创 Java服务器的微信支付注意事项
服务器(微信支付)注意事情第一点:服务器订单签名(一次签名)注意事项一:订单号产生,服务器产生注意事项二:生产订单算法(采用微信提供算法)注意事项三:生成随机字符串(服务器,同样你也要采用微信API demo提供算法)注意事项四:商品描述格式(应用名称-商品名称)注意事项五:商品价格单位(价格:单位分)第二点:服务器调用统一下单接口,获取prepay_idAPI地址:https://pay.wei...
2018-05-05 10:31:27 532
原创 ARKit 介绍
iOS 11 引入了 ARKit,这是⼀个全新的框架,允许开发者轻松地为 iPhone 和 iPad 创建无与伦比 的增强现实体验。通过将虚拟对象和虚拟信息同⽤户周围的环境相互融合,ARKit 使得应用跳出 屏幕的限制,让它们能够以全新的方式与现实世界进⾏交互。基础技术视觉惯性⾥程计ARKit 使⽤视觉惯性⾥程计 (Visual Inertial Odometry, VIO) 来精准追踪周围的世界...
2018-04-26 10:28:57 1001
原创 Shell语言基础学习
1、第一个Shell程序?1.1 创建Shell文件命令:touch hello.sh1.2 编写Shell程序定义文件声明#!/bin/bashecho "Hello world!"#!:表示约定标记,他会告诉系统这个脚本需要什么样子的解释器来执行,既是一种脚本体现。echo:表示命令用于输出文本信息
2017-12-25 14:26:09 278
原创 版本更新管理
单例封装了一个版本更新管理类UI效果:+ (instancetype)sharedInstance { static UpdateVersionManage *sharedInstance =nil; static dispatch_once_t oncePredicate; dispatch_once(&onc
2017-11-21 08:59:09 879
原创 责任链模式Swift版
事件角色案例1、员工请假,要走流程。2、ceo可以批10天假。3、总监可以批5天假。4、项目负责人可以批3天假。5、由员工请假的天数决定哪个领导审批。运行环境1、xcode8以上2、iOS10以上3、swift3.0以上步骤第一步:新建抽象处理类->TXP_Leader(领导类) //领导抽象类//第一个特点:定义下一个节点
2017-11-08 11:23:40 343
原创 swift版webview加载网页(带进度条)
比较简单,直接上代码import UIKitimport WebKitimport SnapKitclass CMWebVC:UIViewController, WKNavigationDelegate { var webUrl: String? var webView: WKWebView
2017-11-08 09:19:15 3119
原创 Color管理(包括RGB,十六进制,增加缓存)类
颜色管理工具1、单例管理2、RGB管理3、十六进制(#FFFFFF,0xFFFFFF)管理4、缓存机制(色值进行了缓存,若存在则直接从缓存池取)5、内存释放机制(当颜色值存储大于30(可自己设置)个时或内存警告时,会释放缓存池)工程目录代码ColorValues 色值宏类#ifndef ColorValues_h#define Colo
2017-11-07 10:54:50 1003
转载 iOS 支付宝支付
原创地址:http://www.jianshu.com/p/1ca250b92ecb首先,支付宝支付的流程大致如下:1、下载和查看支付宝官方Demo直接进入支付宝的支付平台下载:doc.open.alipay.com/doc2/detail.htm集成过程基本就是按照上面的四个流程就可以完成iOS的支付宝SDK。那我们一起按着步骤来集成:1、下载SDK和Demo。SDK&DEM
2017-11-03 15:22:22 401 1
转载 IOS开发--微信支付
原创地址:http://www.cnblogs.com/goodboy-heyang/p/5255818.html前言:下面介绍微信支付的开发流程的细节,图文并茂,你可以按照我的随笔流程过一遍代码。包你也学会了微信支付。而且支付也是面试常问的内容。 正文: 1、首先在开始使用微信支付之前,有一些东西是开发者必须要知道的,打开下面链接:
2017-11-03 10:02:42 515
原创 封装AFNetworking3.0
前言由于公司原网络请求的框架比较乱,所以自己封装了一个轻量级的网络框架。配置AFNetworking环境AFNetWorking 更新了3.0,之前的工程一直用的2.63。这两个版本变化还是比较大的,以前的AFNetworking是NSURLConnection + NSOperation,但是3.0版本移除了对NSURLConnectionOperation的支持
2017-11-02 09:46:21 518
原创 观察者模式android版
1、观察者模式定义? 当一个对象状态发生改变,所有依赖于他订阅者都会发生改变(收到状态改变的通知)。 2、观察者模式-应用场景? 场景一:关联场景 场景二:事件多级触发 场景三:跨系统消息交互场景 3、观察者模式-角
2017-10-04 17:21:32 291
原创 观察者模式Swift版
1、观察者模式定义? 当一个对象状态发生改变,所有依赖于他订阅者都会发生改变(收到状态改变的通知)。 2、观察者模式-应用场景? 场景一:关联场景 场景二:事件多级触发 场景三:跨系统消息交互场景 3、观察者模式-角
2017-10-02 16:31:23 534
原创 观察者模式OC版
1、观察者模式定义? 当一个对象状态发生改变,所有依赖于他订阅者都会发生改变(收到状态改变的通知)。 2、观察者模式-应用场景? 场景一:关联场景 场景二:事件多级触发 场景三:跨系统消息交互场景 3、观察者模式-角色划分?
2017-10-01 15:49:14 391
原创 广播接收者BroadcastReceiver
1.广播接收者 BroadcastReceiver(四大组件之一)广播的作用:a.在不同的应用之间实现数据的传递和共享 b.在同一个应用中,不同组件中实现数据的传递接收系统发送的广播:a.开机b.网络状态的切换 c.电量的改变d.收到短信 ---》拦截短信(垃圾) 写一个广播接收者,频道调成跟系统收到短信发送的广播一致,然后将优先级设为最高,当它接收到
2017-09-27 21:24:33 350
原创 iOS多线程pthread
-(void)pthreadDemo{ /** pthread 是属于 POSIX多线程开发框架 参数: 1.指向线程代号的指针 2.线程的属性 3.指向函数的指针 4.传递给该函数的参数 返回值 -
2017-09-12 14:18:57 207
原创 android屏幕旋转,但是不重建生命周期
1.在清单文件中增加 权限声明2.声明Activity可以捕获的事件类型 android:name="com.example.widget_high_demo.MainActivity" android:label="@string/app_name" android:configChanges="orien
2017-08-06 19:42:52 1197
原创 swift-16进制颜色
func colorWithHexString(hexColor :String) -> UIColor { if hexColor.isEmpty { returnUIColor.clear } var cString = hexColor.trimm
2017-07-31 15:35:43 471
原创 判断是否是安卓设备
function isAndroid() { var u = navigator.userAgent; if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { return true; } }
2017-07-16 13:37:00 519
原创 swift-image上传图片时需要旋转在上传服务器代码
// 图片旋转,有时服务器不处理图片,显示客户端时没有正常显示 func fixOrientation() ->UIImage { ifself.imageOrientation == .up { returnself } var transform =
2017-07-02 19:04:49 784
原创 swift-字符串常用修正
//是否含表情符 func stringWithoutEmoji() -> String { var array = [Int]() var i =0 for scalarin unicodeScalars { switch scalar.value {
2017-06-28 10:50:17 247
原创 iOS,OC给button添加block点击事件扩展
- (void)handleClickCallBack:(ButtonClickCallback)callBack { [selfhandleClickEvent:UIControlEventTouchUpInsidecallBack:callBack];}- (void)handleClickEvent:(UIControlEvents)aEve
2017-06-25 18:54:57 1574
原创 swift给UIbutton添加闭包扩展,方便,简单实用
import UIKitlet cmButtonAssociatedkey = UnsafeRawPointer.init(bitPattern:"cmButtonAssociatedkey".hashValue)extension UIButton { func addAction(for controlEvents:UICont
2017-06-25 18:51:16 1045
原创 swift-判断是否已获得相机、相册权限
// 相机权限func isRightCamera() -> Bool { let authStatus =AVCaptureDevice.authorizationStatus(forMediaType:AVMediaTypeVideo) return authStatus != .restricted&& authStatus != .den
2017-06-25 18:46:38 3207
原创 跳转到系统设置页面
// 跳转到系统设置权限界面func goSettings() { let settingsUrl:URL =NSURL(string: UIApplicationOpenSettingsURLString)!as URL if UIApplication.shared.canOpenURL(settingsUrl) { UIA
2017-06-25 18:44:15 317
原创 html适配移动开发需要加一行代码
html适配移动开发需要加一行代码head> meta charset="UTF-8"> meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"/> title>titlet
2017-06-22 16:09:44 799
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人