自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaoyu的博客

提供移动开发解决方案

  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 NSString为什么使用copy修饰

NSstring为什么使用copy修饰1,先复习下深copy和浅copy深拷贝: 拷贝出来的对象与源对象地址不一致! 这意味着我修改拷贝对象的值对源对象的值没有任何影响,拷贝后的对象的引用计数为1。浅拷贝: 拷贝出来的对象与源对象地址一致! 这意味着我修改拷贝对象的值会直接影响到源对象,拷贝后的对象的引用计数加1。如下图:2,理解下copy和strong修饰符的区别属性定义@property (nonatomic, strong) NSString *strongSt...

2021-05-05 10:48:46 279

原创 MAC动态库加载问题

最近公司项目在使用动态库时,在运行时经常会报dyld: Library not loaded的问题,现总结下:1,在 Mac 系统中,默认搜索库的路径是 /usr/lib ,并不像 Windows 一样 dll 放在和 exe 同级目录下也会被搜索到。即便你把动态库放到了.app的包里面了,在打开app运行时还是不能加载。因此会产生dyld: Library not loaded的问题。2,掌握下mac xcode里面的几个路径含义:@executable_path 这个变量表示可执行程序.

2020-07-10 13:53:03 7229

原创 cef中c++和javascript数据交互的几种方法

基础知识cef中有两种进程,render进程和browser进程。render进程render进程负责显示web页面,运行javascript代码。v8引擎的初始化是在render进程中调用的,所以你的javascript代码是在render进程中执行的。即使你在browser进程中调用frame->ExecuteJavaScript()你也要清楚,代码是发送到rend...

2020-01-29 21:09:48 1662

原创 NSOperation的使用

一种加入NSOperationQueue:分为重写main和重写start,重写main不用关心operation对象的释放问题,不要处理任务状态重写start方法,需要在start方法或者main方法中对finished赋值为yes,operation对象才会释放,并且需要主动调用main方法 另一种直接调用NSOperation,[operation start]为了防止外...

2018-08-26 11:24:28 1701

原创 JS和UIWebview以及WKWebView的交互

最近做了几个hybrid的应用,有一些JS和Webview的交互经验得总结下:看了很多大框架源码,无论是cordova还是WebViewJavascriptBridge他们核心的通信方式就都是 假跳转请求拦截 下面我们就慢慢分析:一、WebViewJavascriptBridge分析1,首先讲讲为什么需要WebViewJavascriptBridge:WebViewJava...

2018-08-24 15:07:38 825

原创 typedef

int*p; 指向一个整型的指针如果,在前面我们使用了  typedef int *Pint;则上面的声明方法,可以改为:Pint p;同样是声明一个指向整型的指针 同理:struct objc_class { Class _Nonnull isa OBJC_ISA_AVAILABILITY;#if !__OBJC2__ Class _Nullable ...

2018-08-02 16:44:27 289

原创 IOS中图片处理

图片库的一般操作核心都是:1,开启子线程2,缓存 一、图片加载的过程   (1)假设我们使用+imageWithContentsOfFile:方法从磁盘加载图片,这个时候图片并没有解压缩   (2)然后将生成的UIImage赋值给了UIImageView   (3)在图片要渲染到界面上时步骤:            1.分配内存缓冲区用于管理文件和解压缩操作  ...

2018-08-02 13:56:29 263

原创 Runloop

前言:我们会发现所有的source如果要起作用,就得加到runloop中去,如果一个runloop里面不包含任何资源的话,运行该runloop时会立马退出。APP的主线程的runloop我们没有往其中添加任何资源,为什么它还好好的运行。我们不添加,不代表框架没有添加,打印下main thread的runloop,会发现有很多资源。 NSRunloop只处理两种源,1.输入源 2.时间源...

2018-08-02 11:29:32 103

原创 AFNetWorking3.0使用时遇到的问题

1,后台只接受json字符串,不接收json对象,也就是默认的传字典对象不可以方案: NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:params options:0 error:&error]; NSString *jsonString = [[NSStr...

2018-07-31 09:33:10 428

原创 C语言指针

0,一维数组    int a[]={3,4,5,7,3,6,6};    int *p=a;    printf("%p\n", p);    printf("%p\n", a);    printf("%p\n", &a[0]);        printf("%d\n", p[0]);    printf("%d\n", a[0]);输出:0x7ffeef..

2018-07-29 10:59:03 207

原创 文件上传NSStream和NSData

最近在看AFNetworking的源码,发现它内部上传文件主要分两个步骤的:1,表单的保存2,表单的拼接这个表单的拼接就是在NSInputStream的- (NSInteger)read:(uint8_t *)buffer maxLength:(NSUInteger)len;方法里面处理的。 我就在想为什么不直接在外面通过nsdata传呢,后来上传大文件时发现了原因。...

2018-07-20 21:21:37 754

原创 Cordova热更新(三、版本控制)

需求:1,由于app审核的限制,app审核状态和发布上线状态展示内容有区别2,各大应用市场审核状态不一致,有的在审核,有的审核失败了,有的审核通过了,所以各大应用市场的app版本是不一样的,如果不同版本的app里面的内容发生bug又如何解决所以这就需要一个发布的版本控制了。这里先整理下app中几个要素:项目号,渠道号,版本号...

2018-07-12 11:48:41 1256

原创 Cordova热更新(二、更新遇到的问题)

今天打开app发现,app热更新遇到问题了:问题描述:1,使用的是自动更新的方式,热更新在app的config.xml里面配置如下:<chcp> <auto-download enabled="true" /> <auto-install enabled="true" /> <native-interface...

2018-07-12 11:36:50 4243

原创 Nodejs中exports和module.exports与ES6中的export default 和 export 区别

一、Nodejs中exports与module.exports的区别1.exports只是module.exports的引用。2.require()返回的是 module.exports 而不是 exports3.module.exports 初始值为一个空对象 {}每一个Nodejs的执行文件都会自动地创建一个module对象,同时module.exports会创建一个叫exports的属性,初...

2018-07-06 19:42:51 2182

原创 快速自定义Cordova插件(-配置文件)

之前写过两篇cordova自定义插件的文章,都是没使用到第三方库,也没有提供用户自定义配置变量,这篇文章主要就来处理这些问题。例子是用的cordova-plugin-wechat这个插件一、动态改变插件参数变量...

2018-07-02 10:59:56 2947

原创 移动开发需要了解的UI设计知识

下面我列出了自己做项目时遇到的需求,及解决方案1,安卓各大应用市场图标、闪屏页、应用截图要求如下:360:图标——圆角半径弧度:70PX,尺寸:512*512PX,图片格式:PNG截图——支持JPG、PNG格式。截图尺寸要求:480×800,单张图片不能超过3M。请去除截图中的顶部通知栏。应用宝:小图标-尺寸16×16,大小20K以内,PNG格式图标-尺寸512*512,大小2...

2018-06-18 22:16:29 2521

原创 快速自定义Cordova插件(-IOS篇)

之前写过一篇安卓中如何创建插件的,最近有时间了把ios中创建插件也总结下吧。1,安装plugman,Cordova需要用这个来创建插件命令: npm install -g plugman2,plugman安装完之后就可以创建一个插件了cordova plugin命令:plugman create --name [插件名] --plugin_id [插件ID] --plugin_version [插...

2018-06-14 23:07:59 5300

原创 Android:不同drawable文件夹的区别

4.0后,新建android工程,会自动生成drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi,drawable-xxhdpi六个文件夹,除drawable外,其他5个文件夹对应四种级别的density:120dip(low),160dip(medium),240dip(high),320dip(xhigh),480d...

2018-05-31 13:38:45 997

原创 竖屏Activity跳到横屏Activity,返回时界面卡住了

今天发现项目中有个问题,竖屏Activity A跳到横屏Activity B,B操作结束后finish然后返回A,A里面调用了两次oncreate()方法,效果就是A界面卡在了横屏上一会儿,这种现象目前只是部分手机会出现,目前发现华为P20,android8.1上会出现最后找到原因:Activity A跳转到Activity B后A被系统destroy掉了,但有的系统上不会destroy掉A,只要...

2018-05-28 20:37:58 2526 2

原创 Fragment中调用getActivity为null的问题

最近在友盟上经常看到getActivity()为null的情况,今天来把它彻底解决掉。这种问题应该主要有两方面原因:1,         如果系统内存不足、切换横竖屏、app长时间在后台运行,Activity都可能会被系统回收然后重建,但Fragment并不会随着Activity的回收而被回收,创建的所有Fragment会被保存到Bundle里面,从而导致Fragment丢失对应的Activity...

2018-05-26 10:56:55 1069 3

原创 ios项目中app分辨率变化了

今天跑了下ios项目的app,发现分辨率变化了,经过一番查找发现是启动图的原因我要的图片分辨率是640 × 1136,结果拿到的是640 × 1135放上去的,导致app屏幕分辨率变化了,以后要注意。...

2018-05-22 17:43:56 943

原创 Cordova app中点击打开微信功能

最近在项目需要一个功能就是,在cordova app中点击然后直接跳转到微信的公众号中让用户关注公众号,但后来发现微信sdk现在不支持这个接口了,无奈只能实现点击打开微信这个功能了。本来是使用下面这种方式实现的 try { if (typeof cordova != undefined) { let ref = cordova.InAppB...

2018-05-22 10:22:05 3606

原创 Cordova热更新(一、流程与原理篇)

最近需要上线app,所以需要对cordova热更新的整个流程整理下,防止出现问题,项目的结构大致如下:一个是vue开发的工程叫Vue-mobile,一个是cordova打包app的工程叫Cordova-appVue-mobile工程:Cordova-app工程:cordova-app工程中的www文件夹里面的html等文件是软链接的Vue-mobile工程中的dist文件夹的链接方法:比如这两个工...

2018-05-07 20:42:38 6121 2

原创 最近在reactnative开发中经常报isMounted(...) is deprecated warning 错误

最近升级下react native版本为最新"react-native": "0.55.3"后发现,报isMounted(...) is deprecated warning 错误,检查自己代码后未发现问题,所以猜测是三方库的问题,排查后发现是react-navigation库的问题,报错如下:这个得等react-navigation库的作者去解决了,目前可以暂时屏蔽这个警告,添加下面的代码到in...

2018-04-24 19:18:26 611

转载 react native项目的位置移动时报错

今天将react native项目的位置移动后ios运行后发现报错了,如下PCH was compiled with module cache path '/Users/tyler/workspace/html5space/HappyTime/ios/build/ModuleCache/HST39TUTS9TS', but the path is currently '/Users/tyler/w...

2018-04-24 11:50:02 248

原创 react native中遇到的问题

1,今天用vscode在写react native项目时发现编辑器里面报错后来查了好久发现原因:最新的react已经支持typescript的语法和类型检测,所以有这种写法,但是vscode编辑器不支持在babel里有typescript的语法,所以会有警示,通过vscode编辑器忽略就ok...

2018-04-22 09:05:14 243

原创 今天Gradle升级了发现cordova项目报错了

今天Gradle升级了发现cordova项目报错了,如下最后发现原来是因为android support library互相不兼容导致的,这些support library的版本不一致,导致项目中Crosswalk插件里面报了android:attr/fontVariationSettings not found等等这些错误,好了找到问题解决就快了:让这些support library强制统一版本...

2018-03-18 12:28:59 3696

空空如也

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

TA关注的人

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