技术笔记
文章平均质量分 71
longlongValue
郑州的小伙伴有招开发的吗?
展开
-
微信公众号授权成功重定向后点击返回最上一层时显示空白页
为什么公众号网页授权返回最上面一层显示空白页面?小朋友…我现在有一些?原创 2022-09-16 17:23:24 · 3541 阅读 · 1 评论 -
VSCode代码风格笔记(Vetur)
安装Vetursetting.json旧配置(采用ESLint){ "editor.tabSize": 4, "eslint.format.enable": true, // 是否开启vscode的eslint "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, // 每次保存的时候将代码按eslint格式进行修复 "editor.formatOnSave":原创 2021-08-25 11:57:39 · 1226 阅读 · 0 评论 -
iOS富通知(Rich Notification)开发(包含按钮交互)
iOS Rich Notification1.概述2.背景3.开始a.新建项目b.自定义通知UIc.测试通知4.FQ5.文献1.概述经过很长时间熬夜脱发的开发,我又双叒叕遇到一个小问题。嗯~就是很小,也就这么大????。借用上家公司CTO经常对我说的话:这世界不可能存在完全没有bug的应用,如果有,那是测试案例还不够全!!!先附短视频符合你的需求就继续看,不符合你就赶紧换一家,别浪费时间。Emmm…视频还是算了,看图说话点击按钮后:2.背景经过3年前跟BlueTooth成为朋友以后,最近感原创 2021-03-26 23:55:58 · 618 阅读 · 0 评论 -
iOS混合开发之uni-app本地打包集成到iOS原生项目
iOS混合开发1.前言2.项目背景3.项目框架4.从入坑到踩坑5.从踩坑到挖坑1.前言 前端统一开发越来越多,公司为了大一统前端的所有页面显示问题,同时为节约人力资源成本,决定做前端统一开发的预研以及选型。2.项目背景 经过几次讨论后决定前端统一开发选型方案从以下几种方式进行:flutterreactnativeuniappionic各统一开发方案的优劣势与选型结...原创 2020-03-04 18:41:17 · 6878 阅读 · 3 评论 -
Vue axios获取token临时令牌封装
前言为什么非要写这个博客呢?因为这件事让我有一种蛋蛋的优疼。剩下的都别问,反正问我也不会说。因为流程图我都不想(懒得)画。开发架构前端页面:Vue网络请求:Axios;方式:vue add axios缓存方案全局变量:Vuex本地缓存:LocalStorage技术依赖你猜背景公司开发一个嵌入App的Web页面,安全方面使用老套路:App通过URL传参给前端(包含签...原创 2019-12-04 17:50:03 · 934 阅读 · 0 评论 -
Python中测试用例(unittest)简单使用
前言最近一直出差很久没有更新博客了。刚好应朋友的需求需要了解学习python的测试用例入坑之旅。我先默默替他祈祷一下。其实python是一个功能非常强大的脚本语言。爬虫、服务器等等有时候你会感觉它无所不能。 从2017年GitHub的程序语言排行榜可以看出而如今python在崛起啊。公司的很多python大神请先收下我的膝盖。好了废话少说吧,下面让我这个菜鸟给大家简单介绍一个我去原创 2018-01-05 17:47:49 · 1757 阅读 · 0 评论 -
iOS 公钥获取 公钥验签 证书验签
上一篇博客有点儿乱,到最后把自己都快绕晕了。那么现在我还是简单讲一下快速入门的证书验签过程吧,尽量保准新人直接复制粘贴代码就可以实现功能,以实现效率最大化。1.证书验证书第一步加载证书 如果你的证书是cer格式用下面的代码// 加载证书到 X509 结构void loadCert( NSString * string, X509 * x){ NSData * certData;原创 2017-08-30 19:42:25 · 4674 阅读 · 1 评论 -
iOS 共钥验签 证书验签
坑爹的共钥验签浪费了我一周时间!!!!!!!!!!由于公司为了某些代码的安全性决定采用证书的方式解决。但是验证证书的问题还必须本地去做,尽量减少或者说避免与服务器的任何交互,所以研究本地证书验签的重任还是落到了我的头上。首先我曾经试过使用AF的方式,但是这种工作一般都是与服务器交互服务器去做的验签工作。后来发现Secrty.framework的官方框架也可以做,但是发现此框架功能太少了,根本难以满足原创 2017-08-30 18:55:09 · 1184 阅读 · 0 评论 -
iOS NSData与long long的互转
#pragma mark - NSData转long long- (long long) NSDataToUInt:(NSData *)data{ long long datatemplength; [data getBytes:&datatemplength length:sizeof(datatemplength)]; long long result = CFSwapI原创 2017-09-06 13:13:30 · 2844 阅读 · 0 评论 -
iOS 等待异步线程结束再执行后续代码
今天遇到一个关于蓝牙传值方法的问题,我将蓝牙通讯模块封装到了一个工具类中,另外我定义了一个Block代码块当我从外部向蓝牙发送了一个数据的时候我要用定义的block代码块返回给外部调用者。但是外部调用者却要在block代码块外使用这个数据。例如一个Demo代码如下:#import "ViewController.h"typedef void(^SuccessBlock)(NSString *Obj)原创 2017-08-15 18:23:48 · 6339 阅读 · 2 评论 -
j2objc
谷歌推出的j2objc可以将不涉及UI的java代码转换(翻译)为objective-c的代码。推出此工具的目的是能够使用java编写的逻辑部分、数据处理部分等不涉及UI的核心代码,而这些代码能够轻松的使用在web端,Android客户端,和ios客户端(j2objc)。前2个因为本身就是java环境,所以java的核心代码重复使用没有太大的问题,而ios客户端采用Objective-c作为编程语原创 2018-01-08 14:34:20 · 2520 阅读 · 0 评论 -
利用消息转发机制与Try Catch代码块防止崩溃
在实际应用中我们经常遇到程序崩溃的问题:例如数组下标越界、字符串下标越界、调用了未识别的方法等等,这给我们带来的很多困扰。然而这种情况其实我们不仅可以避免而且我们可以做到更健壮的,尤其是开发过程中对于此种情况崩溃的定位是很有帮助的。首先说说消息转发机制: 程序在崩溃前系统会给你3次机会进行补救, 可以通过重写+ (BOOL)resolveInstanceMethod:(SEL)a原创 2018-01-18 17:49:02 · 782 阅读 · 0 评论 -
Mac下NATAPP将内网映射到外网
在做微信开发的时候,调用微信接口成功之后,微信会回调我们事先配置好的一个接口。由于微信的服务是在外网的,所以这个回调接口也只能是外网,而且微信要求回调接口只能是通过ICP备案的域名,不能使用IP。所以在开发调试的时候,需要把代码部署到线上的服务器,通过打log来跟踪接口调用情况,很明显这样开发效率非常低。本来qq浏览器有一个微信调试工具。该工具很方便使用,特别适合这种内网映射外网工作。但是现在下架...原创 2018-03-06 14:51:16 · 9962 阅读 · 3 评论 -
微信小程序分享参数传递(微信小程序获取分享path参数)
原因:在写一个小程序,需要为每个人分配一个userId,通过分享统计每个人分享次数以及用户事通过哪个人分享链接成为新用户的。小程序官方文档:onShareAppMessage: function (res) { if (res.from === 'button') { // 来自页面内转发按钮 console.log(res.target) ...原创 2018-03-29 17:03:52 · 28761 阅读 · 5 评论 -
iOS 利用运行时将对象序列化与反序列化
在iOS中想要把一些对象数据存储到本地需要那个对象实现NSCoding协议下的两个方法-(void) encodeWithCoder:(NSCoder *)encoder;-(id) initWithCoder:(NSCoder *)decoder;然后在这两个方法中实现对象序列化与反序列化的操作. 例如: Person类有两个属性@property (nonatomi...原创 2018-07-16 10:13:15 · 1455 阅读 · 0 评论 -
Vue CLI 3项目笔记(一)
从vue-cli2.x升级到vue cli 3.x之后新建的项目目录出现明显的差别。具体差别不一一列举,自己感受。一、首先说一下环境变量的问题,官网上基本上说的很清楚,但是对于我这种半吊子而言还是出现了误区。1.首先我们需要了解VUE CLI有三种模式:test、development、production。[官网](https://cli.vuejs.org/guide/mode-and...原创 2019-03-07 16:50:08 · 547 阅读 · 0 评论 -
vuecli3打包规范
使用VUECLI进行的项目打包上线时发现包很大,并且不管是js还是css都分别在chunk-vendors.js和chunk-vendors.css文件下。虽说VUECLI3中集成的webpack4已经会帮我们做一些按需引入等打包工作,但是对我们来说这些在开发过程中依然是有些不够的。下面我简单说一下近期小白开发过程中进行的打包操作。1.最重要的也是最基本的操作,不生成map文件在 vue....原创 2019-06-26 14:20:02 · 6107 阅读 · 0 评论 -
iOS 13 beta 3 NFC的读写功能
苹果的NFC功能之前一直仅支持读取,并且读取格式为type1到5的NDEF。Your app can read tags to give users more information about their physical environment and the real-world objects in it. Using Core NFC, you can read Near Field...原创 2019-07-18 17:18:10 · 10851 阅读 · 9 评论 -
iOS Invalid bitcode signature(Linker command falied with exit code 1 (use -v to see invocation))
Xcode 7 的时候打包了一个静态库文件,想在Xcode 8.3了想拿来用发现导入文件之后直接报红,于是我找出源码重新编译了一下这个静态库,重新导出,结果还是报红:右键“Reveal in Log”之后: 然后我去网上找了很多种方法 例如1: 例如2: 等等统统行不通。 后来看到有人说,如果你重新下载老版本的Xcode 7再重新编译运行就没问题。于是想着是不是支持的版本问题。因为原创 2017-08-14 14:32:58 · 2109 阅读 · 0 评论 -
ios各种编码格式范围深坑
写了一个二维码,闸机读出来竟然不对,我就问你尴不尴尬?因为我二维码传的是原始的字符串,读出来之后是303232333435等,这分明是要反加密的节奏啊,于是utf-8反加密,当数据中每个字节全部小于80时完全正常无压力。但是当数据大于80时就加了c2 80或c3 80,c2 90 或c3 90.这就更尴尬了。找了半天没有丝毫头绪。就知道可能是加密方式错了,可是变换各种加密方式无果。整整一天发现生成二原创 2017-07-26 17:32:09 · 2365 阅读 · 0 评论 -
在图片UIImage上绘制文字(字符串文字转图片)
很多时候我们需要在一张背景图上面绘制文字并且重新生成一张带有绘制好文字的图片,一开始我使用的是我上篇博客中提到的先自定义一个UIView然后再UIView上面绘制文字,绘制完成之后再通过将UIView转换成图片UIImage。即下面的代码自定义一个UIView.h中@interface MyOtherView : UIView@property (nonatomic,copy) NSString*原创 2016-08-19 11:29:20 · 3933 阅读 · 0 评论 -
ios 图片像素点取颜色,判断颜色是否为亮色,颜色对比
颜色对比,判断颜色是否为亮色(可修改),图片某一像素点取色原创 2016-10-09 17:58:17 · 3914 阅读 · 1 评论 -
视图横屏
页面大部分是竖屏,个别页面可以旋转手机时页面变为横屏实现步骤: 1.使应用可以横屏,新创建的默认就可以 2.在需要横屏的视图控制器里面实现以下方法if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_9_0(NSUInteger)supportedInterfaceOrientationselse(UIInterfaceOrientationMask)原创 2016-07-26 17:00:35 · 535 阅读 · 0 评论 -
iOS wallet开发
wallet的前身为passbook,2015年WWDC大会苹果正式改名wallet,passbook是苹果2012年iOS6开放出来的新功能.可以帮助用户管理五种类型(Boarding passes(登机牌),Coupons(优惠券),Store cards(购物卡),Event tickets(入场券),Generic(通用卡))的票据。既然一个票据就是一个Pass,那么什么是Pass呢?在iO原创 2017-02-09 16:49:07 · 2834 阅读 · 1 评论 -
UIBezierPath基本用法及画圆角
首先说一下画圆角吧,其实UIBezierPath的画角规则是这样的: 代码:#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) CAShapeLayer *shapeLayer;@property (nonatomic, strong) UIBezierPath *path原创 2017-02-13 10:11:37 · 2829 阅读 · 0 评论 -
CSS3 超有用的Flexbox 口诀
看到很有用的flexbox布局:转载 2017-03-06 11:57:11 · 653 阅读 · 0 评论 -
iOS 蓝牙协议 NSData+CRC验证 NSData转义 .c文件导入Xcode
这两天做了iOS蓝牙的数据交互,起初公司的方案是手机作为蓝牙从设备让公司平台扫描手机上面代码获取的蓝牙地址作为唯一标示去定向连接的。不过由于苹果手机关于用户个人隐私的安全性在iOS7之后就已经失效了,所以这个方案被驳回。后来公司提议手机作为主设备不通过扫描直接连接给定的蓝牙,因为本人刚刚学习蓝牙就我了解iOS这边蓝牙必须通过扫描哪怕给定扫描设备的名称也需要扫描才能建立蓝牙连接。最后的方案公司还在商原创 2017-05-08 14:39:59 · 1849 阅读 · 1 评论 -
Python(Pycharm)连接Oracle数据库之cx_Oracle的使用(cx_Oracle在pyCharm中报错)
首先声明Python27+Windows32安装我的电脑Windows版本是64位的,但是由于Pycharm中的pycrypto中使用了C语言的代码所以我在装Pycharm的时候装的是32位的,不需要下载其他插件去支持它。其次,为了兼容32位Pycharm所以我安装了32位的Oracle,这也是需要特别注意的一点,Pycharm的版本必须和Oracle数据库版本相对应。否则安装上去之后连接不了。我原创 2017-04-26 12:47:36 · 18932 阅读 · 1 评论 -
iOS App作为从设备自动订阅特征值(initWithType:properties:value:permissions)
随着公司对蓝牙业务的深入,公司对蓝牙设备的要求也越来越精准。当手机作为从设备时目前一次交互100byte的数据耗时250毫秒左右。但是听说别的公司只需要150毫秒,所以我们还在努力靠近的路上。手机App作为从设备在交互过程中,安卓那边可以通过提前改变订阅状态即广播之前就设置订阅状态不需要主设备改变的情况下,大约可以节约50毫秒的时间,所以想让苹果这边也这么做,首先我想到的是查看Characteris原创 2017-06-05 16:05:20 · 805 阅读 · 0 评论 -
iOS App作为外设(从设备)设置广播间隙和连接间隙最大值最小值问题
根据公司对蓝牙BLE通信时间的进一步缩短要求,我们开始了从设备广播间隙和连接范围间隙的最大最小值下手了。然而经过查找从设备属性和方法列表只找到了这个:/*! * @method setDesiredConnectionLatency:forCentral: * * @param latency The desired connection latency. * @param cen原创 2017-06-06 17:21:01 · 2632 阅读 · 1 评论 -
MBProgressHUD不能立即显示问题
今天使用HUD在tableview的代理方法didSelectRowAtIndexPath中使用HUD不能立即显示问题原因UIKit 不能在当前run loop结束前重画,即需要在下一个run loop 周期才能重画,更新UI。解决方案手动运行NSRunLoop 即:// Setup and show HUD here[[NSRunLoop currentRunLoop] runUntilDate原创 2017-06-29 13:54:41 · 494 阅读 · 0 评论 -
NSPredicate中like模糊查询不起作用
今天再次用到了模糊查询却发现一个问题:对一个对象数组NSArray NSPredicate *predecate = [NSPredicate predicateWithFormat:@"name like[cd] '*%@*'",searchText];却发现这个过滤结果始终为空,不管我使用NSArray *temArray = [sectionArray filteredArrayUsing原创 2017-06-29 16:20:50 · 838 阅读 · 0 评论 -
didSelectRowAtIndexPath中改变自定义Cell属性问题
今天翻了一个很低级的问题,而这个问题还让我找了很长时间才发现。 我在自定义cell中定义了一个属性@property (assign, nonatomic) BOOL isChecked;并且重写了它的set方法实现了内部一个属性改变- (void)setIsChecked:(BOOL)isChecked{ _checkBoxView.checked = isChecked;}当我改变原创 2017-06-30 11:05:47 · 1028 阅读 · 0 评论 -
CocoaPods安装后出现[!] Unable to find a pod with name, author, summary, or description matching
CocoaPods安装使用阿里ruby: 1.删除自带的ruby镜像,终端输入:gem sources --remove https://rubygems.org/2.添加阿里的镜像,终端输入:gem sources -a http://rubygems-china.oss.aliyuncs.com3.用命令查看是否修改源成功gem sources -l4.出现以下则成功*** CURRENT S原创 2017-06-30 18:03:21 · 925 阅读 · 0 评论 -
iOS 对象数组的深拷贝(NSCoding协议)
项目过程中遇到了对象数组的使用:联系人界面——需要分区显示,如果我存放在一个数组然后每次显示都重新分组发现会有一个计算的延迟,所有我先进行分区放在了一个单例类中的字典中。当我需要用到这个联系人的界面额外定义一个NSDictionary对它赋值,试图修改NSDictionary时发现存放在单例类中的数组对象也被修改了。感觉很无语啊。当时我的嵌套是这样的NSDictionary@{key1:NSMuta原创 2017-07-11 14:29:18 · 2810 阅读 · 0 评论 -
打开Xcode9 beta之后Xcode8.3.3模拟器消失不见了
由于工作需要使用CoreNFC框架,于是到官网上下载了一个Xcode9 beta版本。而当我调试完毕NFC相关东西之后再打开Xcode8.3.3发现模拟器不见了。心头瞬间一万头草泥马奔腾而过。。。在网上搜了一大顿关于模拟器不见的相关解决方案 例如:1.新建模拟器 2.删除项目包内容中xcuserdata文件夹 打开你的项目文件夹,右键项目名.xcodeproj,删除xcuserdata文件原创 2017-07-03 15:00:59 · 3762 阅读 · 0 评论 -
iOS 11 NFC开发及遇到的坑
上篇文章既然提到了NFC开发我就简单说一下我开发过程中遇到的坑。首先推荐大家去看一篇官方翻译文档【链接】iOS11新特性开发初探之-CoreNFC 另外使用NFC需要注意几点儿1.开启一个session,并且同时只能开启一个2.App完全在前台模式,切入后台失效3.session最多扫存活60s,超时必须重启新session4.NFC读取权限接下里我们就说正事儿了1.打开苹果开发者中心支持原创 2017-07-03 16:25:57 · 10943 阅读 · 2 评论 -
将view转成图片image
最近做了一个项目,需要把相片放到一个控制器中可以旋转,缩放,并且移动,然后截取固定的区域生成另一张图片。我研究了了底层的UIGraphics框架通过将控制器的view先转换成图片再进行图片截图工作。1.转换图片-(UIImage*)convertViewToImage:(UIView*)v{ CGSize s = v.bounds.size; // 下面方法,第一个参数表示区域大小原创 2016-07-27 09:32:40 · 3205 阅读 · 1 评论