- 博客(514)
- 资源 (25)
- 收藏
- 关注

原创 总结iOS开发当中一些特别注意的问题
1. mutable的数据类型,不能声明为copy的属性,如@property(nonatomic, copy) NSMutableArray *array; @property(nonatomic, copy) NSMutableDictionary *dict;这样的声明,然后再初始化的时候会有问题,self.array = [[NSMutableArray alloc] init]; ...
2012-10-11 17:51:42
4652
1

原创 Windows技术文章汇集
缓冲区溢出研究http://www.abysssec.com/blog/2010/05/08/past-present-future-of-windows-exploitation/http://www.corelan.be/index.php/2009/07/19/exploit-writing-tutorial-part-1-stack-based-overflows/
2011-10-03 12:37:28
1941

原创 黑莓开发学习Trip
iOS开发差不多快两年了,在这两年当从不知道有现在的小有成就。到目前为止,我是专职iOS开发,而在国内真正红的是android,为了有更多的机会,更好的发展前景,我得不断学习进步才能紧跟社会主义快速进步的步伐,不然落后就会被歧视,没饭吃呀。c/c++出家的程序员,不太喜欢java
2011-09-17 16:58:59
2177
1

原创 菜鸟学驱动开发系列
我是一个菜鸟,最近开始学习驱动,随便把所学的知识做一份记录,因为记性实在是不太好,方便以后查询,更方便与大家一起学习进步。VS2010驱动开发环境搭建菜鸟之驱动开发1-一个最简单的驱动菜鸟之驱动开发2-添加驱动设备并创建派遣函数菜鸟之驱动开发3-读取SSDT菜鸟之驱动开发4-修改SSDT菜鸟之驱动开发5-应用层加载与卸载驱动菜鸟之驱动开发6-注册表加
2011-08-19 16:26:46
2673

原创 Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验)
自己在研究驱动开发,第一步就是开发环境的搭建,网上已有很多的教程一,我也是按着教程一步一步搭建的,但在搭建过程的过程当中遇到一些问题,也花了我不少时间。第一个难题就是,我是Windows7+VS2010+WDK的开发环境。首先我参考了网上的一篇文章:http://www.
2011-08-12 23:30:24
35864
3
原创 Mac下VSCode调试skynet的lua环境配置
https://github.com/Tencent/LuaPanda/tree/master/Debugger里面的LuaPanda.lua下载下来放到skynet/lualib目录下。LuaPanda需要luasocket这个第三方库,我们使用Luarocks来安装,Luarocks是Lua的包管理器,就像npm一样,它可以帮助我们下载、查找、删除Lua包。首先安装Luarocks, 到http://luarocks.org/releases/下载源码,我下载的是最新的3.11.1版本。
2025-02-24 14:58:15
529
原创 Xcode编译的时候运行python脚本
写好了python脚本,结果python3 xxx.py运行会失败,原来是xode的shell环境与Terminal环境不一致,所以需要source ~/.zshrc刷新一下环境变量。为了解决系统python3与brew安卓的python冲突,如果需要优先使用brew安装的python, 请在~/.zshrc中添加下面这行。为了不影响系统的python环境,我们采用了虚拟环境。需要再~/.zshrc中添加sqlcipher的头文件与库文件,这样编译sqlcipher3才能成功。所以需要在系统重安装这个库。
2024-12-09 16:08:17
672
原创 ReactNative集成到已有iOS项目
最近在维护一个项目,需要引入ReactNative开发新UI。记录一下过程,表示我搞过。需要安装node环境接着创建一个目录用来保存工程文件,并在目录项目下面创建一个package.json文件加下来安装react native必须的库, 0.71.7版本是支持xcode14.2的,大于这个版本就需要xcode14.3了,我的电脑是MBP 2015 Mid,只能升级到xcode14.2,所以也只能用这个react-native版本。
2024-05-30 00:23:17
1040
2
原创 使用UIActivityViewController分享图片,没有preview
首先看看协议的订阅,当我看到有一个返回thumbimage的接口时候,第一感觉就是它是我需要的。结果测试发现,这个方法再iOS17上根本不触发,应该是iOS13以前就用上面几个,iOS13后就用LPLinkMetadata的方法。以前都是用第三方sdk来分享的,最近使用官方的UIActivityViewController来做分享,结果分享图片的时候preview不了分享的图片。感觉完成了,但是测试的时候有发现问题了,preview没有铺满那个区域。搜索了一下,发现是图片有alpha透明的区域。
2023-11-23 18:23:41
1048
原创 SwiftUI与UIKit混编,键盘出现后CPU 100%的原因
但是我们在开发的时候很正常,发布sit后,测试人员反馈了一个奇怪的问题,就是当键盘出现后,整个UI就hold住了,无法相应用户事件。关键这这个问题就像是随机出现的一样,有的机器上能复现,有的机器上打死无法复现。SwiftUI已经出来了一段时间,有幸在最近的一个大项目中使用SwiftUI, 作为现代化的UI框架,以后的趋势,我们iOS开发的同学势必要掌握它,提升自己的竞争力,以至于更好的混口饭吃。查看CPU占有的问题,Profile看到是底层SwiftUI的函数占用的CPU的,但是还是没有找到原因。
2023-03-21 09:29:55
704
原创 SwiftUI获取子View的frame
用了backgroundPreferenceValue,是因为onPreferenceChange会丢失信息,可以通过PreferenceKey获取子View的Frame, 直接上货。
2022-12-23 10:57:12
531
原创 Flutter高斯模糊
最近我在GridView中,对每个item进行高斯模糊,结果整个GridView会被高斯模糊。最后解决方式是在BackdropFilter外面包裹一个ClipRect.在Flutter中,我们可以用BackdropFilter实现高斯模糊。
2022-12-10 21:10:31
753
原创 Android内购+IM
比如,测试账号获取不到商品列表(Google Play中如果付费栏为空就不行)。很久以前做了一遍,最近又要弄了一天才弄好,主要是忘记了很多。业余时间研究了一下Android内购与IM推送。关联项目,配置权限,配置应用权限等。2.内购服务端与服务端实时通知Pub/Sub。1.内购服务端凭证验证。3.IM用FCM来推送。...
2022-08-06 22:36:07
864
原创 技术Ebook阅读记录
iOS Application Security全书介绍了iOS Application开发过程中安全需要注意的地方。也有一些关于越狱相关知识的介绍。otool -fh Snapchat 查看有几种架构lipo -thin armv7 myBinary -output myBinary-thin 只保留armv7架构otool -arch armv7s -l Snapchat 查看各段信息cryptoff 16384cryptsize 7995392cryptid 1iOS设备上启用debu
2022-07-08 17:55:42
487
原创 Flutter获取Widge的大小与位置
在开发的时候,有时候我们需要获取Widget的位置与大小的需求,比如输入框激活状态,键盘出现有可能会遮挡输入框,这个时候我们就需要获取widget的位置与大小,然后计算页面偏移,然后滚动让页面可见。方法很简单,就是给Widget设置GlobalKey,然后就可以通过key获取对应的RenderObject, 通过RenderObject就可以获取Size与Position.这样就可以获取位置与大小了,剩下的事情就交给你了。😄...
2022-06-15 21:52:45
2532
原创 SwiftUI中使用UITextField遇到的一个坑:宽度顶出屏幕
最近在使用SwiftUI开发,在开发一个搜索框的时候,因为有许多的验证逻辑,所以我们没有使用SwiftUI中的TextField,而是桥接了UIKit中的UITextField。但是遇到一个问题,就是当我们在不断输入内容的时候,UITextField会随内容的增加,最后等于屏幕宽度,如果有padding的情况下,最外面的body会被挤出屏幕,即使maxWith是小于屏幕宽度也会有同样的问题。最后发现是需要设置UITextField抗压缩参数,设置小一点就可以。顺便说说,什么是抗压缩与抗拉伸?我的理解就是
2022-06-15 17:20:03
698
原创 是时候升级dart null-safety了
出来了这么久了,是时候把项目升级并支持null-safety了。记录一下我的步骤。升级所有依赖的第三方库。如果有问题就找替代库。比如我使用了一个分享的插件,但是作者没有更新并支持null-safety, 但是有热心的网友会提供null-safety版本,直接git引用。social_share_plugin: git: url: https://github.com/fareesh/social_share_plugin.git ref: master确保所有
2021-11-21 14:34:34
2197
1
原创 Flutter类冲突
自己写的类与Flutter Framework里面的类同名了,就会冲突。如何解决呢?引入的时候取别名import ‘xxxx.dart’ as Util;这时候就可以再你的类前面加Util.YourWidget进行使用。也可以将不用的隐藏的import ‘xxx.dart’ hide XXXWidget;当然你还可以改你自己的类名避免冲突目前就知道这三种方法。...
2021-11-21 10:34:28
1914
原创 Flutter多SDK管理
python,node这些语言都有多版本管理器。 flutter其实也有,叫fvm。我用了几个版本的fvm,发现befovy/taps版本的fvm是最好用的。我记录一下在Mac电脑上的安装,方便以后查询。首先是安装,用homebrew吧,方便!!!brew tap befovy/tapsbrew install fvm我想把flutter sdk安装到/opt/fvm目录下,所以我们需要手动创建这个目录,并将该目录的拥有者设为当前用户,获取当前用户的命令是whoamisudo mkdir -p
2021-11-09 00:36:32
2155
原创 Flutter多线程
在用flutter写IM的时候,当用户很久没有上线过,再次上线的时候,会收到很多离线消息。我是用一个while循环收的,直到收完离线消息,这样可想而知,一点会影响UI的。 消息不多的情况还好,当消息多的时候必然会阻塞UI.于是这样的任务必须放到子线程去做。而dart中多线程的实现是isolate的方式实现的。在flutter中对Isolate有一定的封装,使用compute, 下面我就用这两种方式各实现一个demo.isolate的方式, 通讯是用ReceivePort与SendPort,一个用于发消
2021-11-07 11:51:08
3533
原创 Flutter CustomPainter一直重绘
本以为重写CustomPainter 中下面的方法,返回false就不重绘了,结果每次还是会触发paint方法@override bool shouldRepaint(CustomPainter oldDelegate) { return false; }查询资料后,原来是要在外面包一层。RepaintBoundary( child: CustomPaint( painter: YourPainter(), ))...
2021-09-11 13:40:51
844
原创 Android内购踩坑
开始注册了一个美国区的Android developer账号,结果内购收款出了问题。然后我就讲应用转移到国内的账号了。结果内购服务器验证的401了。服务账号没有改动啊!很蒙,不知道原因,也解决不了。结果我就重新关联一下项目就可以了,害的我瞎弄了一天,浪费时间!!!...
2021-09-04 21:23:20
489
转载 Xcode编译时脚本中获取当前scheme的name
再次记录一下https://stackoverflow.com/questions/18776626/get-current-scheme-name-from-run-script-phase
2021-07-23 22:41:31
996
原创 Flutter CustomPaint paint方法每帧都会调用
本以为shouldRepaint方法返回false就不会触发了,结果还是会。@override bool shouldRepaint(CustomPainter oldDelegate) { return false; }结果发现需要在CustomPaint外面用RepaintBoundary包装一层。这下就不会每帧都触发了,开森哦!!...
2021-07-11 11:42:26
566
1
原创 2021-07-09
Swift Codable的使用这是swift4的功能,可以将json与model进行相互转换。这儿总结一下遇到的坑。json中没有的字段,decode会失败,比如json中只有firstName与lastName,如果模型中还有一个nickName并且有默认值就会失败,要说明映射字段才可以,如下定义就正确。struct Person: Codable { var firstName: String var lastName: String var nickName: Stri
2021-07-09 09:46:17
149
原创 Flutter中跟随移动
做弹出层下拉列表的时候,我们想要下拉列表跟随输入框滚动。可以使用CompositedTransformFollower,CompositedTransformTarget,然后LayerLinkclass CountriesField extends StatefulWidget { @override _CountriesFieldState createState() => _CountriesFieldState();}class _CountriesFieldState ex
2021-06-30 22:32:15
694
2
原创 Flutter简单的弹出层
弹出提示,如果不想集成第三方的,用Overlay就可以实现直接上示例:showOverlay(BuildContext context) async { OverlayState overlayState = Overlay.of(context); OverlayEntry overlayEntry = OverlayEntry( opaque: false, builder: (context) => Positioned( child: CircleAvatar(
2021-06-30 22:17:51
1322
原创 Pod私有库包装第三方framework问题, swift call Objective-C
以前都是一个人一个项目就没有模块化,最近项目是严格按照模块化开发,每个模块一个Pod。 最近在一个模块中集成第三方framework的时候,遇到问题了。项目使用swift开发,但是这个第三方framework是OC开发的。引入第三方库后编译遇到了很多问题。Could not build Objective-C module ‘xxx’这个问题再网上找到了解决方法https://github.com/CocoaPods/CocoaPods/issues/8342生成的-swift.h中xxx
2021-06-23 18:56:23
2816
2
原创 mybatisplus分页查询中有group by要注意
最近在查询置顶用户的时候,写了这样的sql@Select("select t2.create_date_time, t1.* from user t1 left join user_top t2 on t1.user_id = t2.user_id where t2.state = 1 group by t1.user_id order by t2.create_date_time desc") List<UserInforDto> toppedUsers(@Param("userId
2021-05-28 21:54:55
6449
原创 AltDeploy无法运行
运行下面两行命令,我这边就可以运行了。sudo codesign -f -s - /Applications/AltDeploy.app/Contents/MacOS/AltDeploysudo xattr -r -d com.apple.quarantine /Applications/AltDeploy.app
2021-05-17 12:13:22
616
原创 Oracle修改表空间
测试反馈了一个问题,update表的时候会失败,看日志是USERS表空间没有权限。线上项目,没有权限连接Oracle, 运维反馈表的表空间是对的。后来我又按照测试反馈的步骤去线上重新问题。 百思不得解,后来我测试发现如果clob字段的字符串小于4000就可以成功更新;大于4000就会报错。冷静分析一下,应该是字符串长度大于4000了,clob就需要更多的空间来存储,就到表空间去分配,结果clob的表空间还指向USERS的,这时候没有权限就出问题了。Google一搜索,原来有Clob,Blob字段的表,
2021-05-13 18:46:41
294
2
原创 Java HttpURLConnection setRequestProperty(“content-length“, “0“)不起作用
Post验证Url合法的时候,今天突然遇到一个用IIS的客户,结果返回411的status code. 搜索原因是请求头中没有设置Content-Lenght。 网上的教程说用 setRequestProperty(“content-length”, “0”)设置一下,结果我测试还是返回411.调试发现:为了安全,这些头默认是不允许指自定义的。可以通过下面方法打开,尽量将下面的语句放到main中:System.setProperty("sun.net.http.allowRestrictedHead
2021-04-29 18:41:36
1684
原创 Flutter OutlinedButton圆角与边框自定义
OutlinedButton(style: OutlinedButton.styleFrom(shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(18.0),),side: BorderSide(width: 2, color: Colors.green),),onPressed: () {},child: Text(‘Button’),)shape: StadiumBorder(),是体育场外框。...
2021-04-16 16:25:47
8416
原创 oracle中根据时间查询,时间字符串有T,Z并有毫秒
前端传入的时间字符串是有T,Z与毫秒的,如:2021-02-07T00:00:00.000Z写sql的时候,我首先用to_date('2021-02-07T00:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.SSS"Z")提示无效的format,查询资料发现原来是to_date是不支持毫秒的,所以用不了。注意Oracle是忽略大小写,所以毫秒用SSS是不对的,得用ff3, 3表示3位,可以是9位。后来发现可以用to_timestamp函数,示例select to
2021-04-08 15:01:29
2685
原创 Flutter放一个隐藏的webview
最近在用google的recaptcha, 要调用js。我的办法就是在页面中放一个隐藏的webview.有两个方法实现用IndexedStack, 将webview放在最底部。第二种是用Opacity,设置opacity为0
2021-03-26 21:03:59
728
原创 Flutter运行项目等太长时间
原因是gradle默认的是google与jcenter的源,修改为国内阿里的镜像。首先是工程目录下的修改然后是flutter按照目录下的两个文件maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/public' }然后用AS打开android目录下的android工程, 更新完依赖,关闭后再打开flutter工程,运行就快了。
2021-02-04 20:56:23
4337
原创 Android模拟器沙盒路径
有时候需要拿取沙盒路径下的文件,比如sqlite文件。通过Android studio可以先找到对应的问文件(右侧栏中的Device File Explorer),再下载。
2021-01-26 20:55:47
1158
Mac系统强制休息,番茄时钟Tomo.zip
2020-01-05
Threejs技术指南2版 + Learn Threejs third
2019-05-07
iOS应用逆向工程(第2版)
2019-02-27
windows mobile下用libmad播放MP3
2009-11-02
Windows Mobile上GDI+开发库
2009-09-24
Qt Designer and KDevelop-3.0
2008-07-09
3D图形编程指南
2008-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人