自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

原创 反编译一个so文件

目的:反编译一个安卓项目中的so库,已经知道了这个库中保存着密钥等信息。尝试用hopper和IDA进行反编译,最终用IDA得到密钥。软件:MacOS10.15.6IDA Pro 7.0 ida64Hopper Disassembler v4步骤:用IDA打开so文件后,发现左侧的Function window中只有746行,依次过一遍,...

2020-10-14 17:39:52 19778

原创 进一步理解GCD

之前转了一篇GCD的文章–iOS中的GCD,近日重新理解了一下GCD。 iOS中实现并行的方式有三种:操作队列(Operation Queue),调度队列(Dispatch Queue)和线程。 注意:Swift将GCD进行了对象化。我们可以使用DispatchQueue和DispatchGroup的实例方法操作GCD,更符合面向对象的思想。文中代码在Swift4中运行良好。GCD(...

2018-03-01 10:32:37 253

原创 Swift项目引入百度地图SDK过程中踩过的坑

项目中原本使用了高德地图,最近为了做一个小探索需求需要引入查找附近人的雷达功能,高德没有而百度有,遂打算引入百度地图看看效果。n年前在OC中引入百度地图过程中遇到过的问题也就是Key不匹配时显示不出地图之类的问题。这次在Swift上遇到的比较麻烦,网上没有找到合适的答案,记录一下。问题1:通过pod引入百度地图,执行pod install时,报错:target has libraries with

2018-01-25 14:17:08 1771

原创 Swift3.2 到Swift4 的升级工作(要处理SDK API的bug)

最近完成了公司项目由Swift3.2 -> Swift4的升级工作,记录一下。 这里将Swift4较Swift3.2的新特性以及必要的处理列出来:1,private关键字作用域扩大到整个文件。 说明:可以用private替代fileprivate了 处理建议:考虑到private没有向后兼容性(在swift3.2及之前版本无法在extension中使用),所以建议保留原来的fileprivat

2018-01-17 18:20:26 3113

原创 一张图记住所有Git常用命令

一张图记住所有Git命令在Microsoft的VSS,小乌龟SVN都已经作古,Git大行其道的今天,我们每天都跟Git打着交道。在Mac工作环境下我们习惯使用图形化的工具sourceTree,但是如果对Git命令不了解的话,也是挺可怕的。所以今天从最常用的操作开始整理。说明:

2017-10-20 21:08:00 3345

原创 iOS11中的定位授权

前台定位权限1,增加NSLocationWhenInUseUsageDescription。 2,创建CLLocationManager对象,在使用定位服务前调用requestWhenInUseAuthorization()。 3,通过func locationManager(_ manager: CLLocationManager, didCha

2017-09-13 14:09:22 28964 1

原创 升级到XCode9(BaseSDK:iOS11)的各种坑 持续更新中

XCode9和iOS11 beta了不知多少版本了,正式版本还没有正式发布。我也终于忍不了了,还是都做了升级。设备版本分别为: XCode:Version 9.0 beta 6 (9M214v) 10月13日更新GM版 iPhone:11.0(15A5370a)下面的问题都是在iOS11之前的版本运行完好,但是升级后出现的问题: 1,定位相关 问题描述:无法定位,而且程序在安装后第一次访问定

2017-09-13 13:55:05 18866 11

原创 渗透技术学习之二--docker搭建vulhub靶场进行nginx服务漏洞分析

docker搭建vulhub靶场进行nginx服务漏洞分析

2021-03-09 22:42:45 1309

原创 渗透技术学习之一--虚拟机安装KaliLinux

今年打算学习一些渗透测试的技术。KaliLinux是最好的入门对象。今天讲下如何安装KaliLinux中遇到的虚拟机方面的问题。相对于安装双系统来说,将Kali安装在虚拟机中更为省时省力。硬件:MacBook Pro (15-inch, 2018)软件:1,macOS Catalina 10.15.72,VirtualBox 6.1 免费3,KaliLinux镜像文件(.ova):链接: https://pan.baidu.com/s/1c0hLI6gNddwzEHsi7PBXsg 密码:

2021-03-08 22:30:39 379

原创 在内测版本中增加地址切换动能

需求:在内部测试的App版本中,增加一个可以切换后端接口地址的功能。方案:为工程增加一个配置(Configration),在打包内测版本时使用该配置,在该配置中增加自定义宏,在代码中使用该宏包裹住内测版本中地址切换部分的代码。步骤:1,在Project - Info Tab中的Configrations中点击“+”,选择“Duplicate ‘Release’ Configuration”,增加配置“InternalTest”。2,在Targets - xxx - Build Settings -

2020-10-26 22:03:26 210

原创 iOS project.pbxproj文件解析

代码合并后经常出现.xcodeproj文件无法打开的情况,原因是其包内的project.pbxproj文件格式出了问题。一、project.pbxproj文件格式如下:/* Begin PBXBuildFile section *//* Begin PBXBuildRule section *//* Begin PBXContainerItemProxy section *//* Begin PBXCopyFilesBuildPhase section *//* Begin PBXFileRef

2020-09-02 14:09:07 740

原创 自动布局中的对齐矩阵(Alignment Rect)

看个需求:需要实现一个带有阴影和圆角的蓝色按钮,按钮右上方还有一个红色数字角标。要求蓝色按钮的本身(不包括阴影和角标)位于屏幕X方向中间。

2020-06-22 18:25:33 1586

原创 自动布局(AutoLayout)中更新视图布局的几种方式

根据视图的类型,分为以下几种情况:1,对于具有固有内容尺寸(intrinsicContentSize)的视图类型,如UILabel, UIButton, UIImageView, UITextView等,其高度取决于内容的高度,所以我们不用显示的设置其约束中的高度属性。2,对于UIScrollView,我们设置好子视图的约束后,系统会自动自动调整大小。3,对于UITableView、UICollectionView等存在复用内容的视图,如果需要将其作为一个子视图插入到其他视图中时(例如UITableV

2020-06-18 23:25:51 698

原创 对使用自动布局的UITableView进行上拉加载更多操作时,tableView向上跳动一定的高度

问题:对使用自动布局的UITableView进行上拉加载更多操作时,tableView向上跳动一定的高度。分析:搜索 UITableView 自动布局 加载数据 reloadData 跳动之类的关键字,搜出来的是手动布局下设置estimatedRowHeight = 0;自动布局下在VC中增加一个字典来缓存indexPath对应的高度之类的答案。成员变量private var cellH...

2020-04-10 14:59:15 562

原创 通过Universal Link进行微信分享

参考:1,官方接入文档。2,通用链接的一点整理。3,微信分享,一直跳转二次,版本:1.8.6.1SDK?注意点1:正确的配置通用链接,详见上面参考1和参考2。注意点2:在info.plist中添加URL scheme为微信开放平台的AppID。注意点3:其他步骤按照参考1的官方文档去做。问题1:拉起微信后提示“由于应用universal link校验不通过,无法完成微信分享”原因...

2020-03-07 01:06:42 5580

原创 iOS13上基于UIScene的应用在WKWebView中崩溃

WKWebView使用了UIAlertView,导致在iOS13上UICoreFoundation中崩溃。暂时没有解决办法,标记。参考:https://stackoverflow.com/questions/58181815/wkwebview-thread-1-signal-sigabrt-when-using-location...

2019-12-19 17:44:10 544

原创 WebViewJavascriptBridge分析及扩展

WebViewJavascriptBridge的原理参考这篇[iOS 开发] WebViewJavascriptBridge 从原理到实战,写的不错。对它做了一点改动:H5调用原生方法时,如果该方法并不是原生要处理的函数的话,原生返回指定内容给H5。WebViewJavascriptBridgeBase.m- (void)flushMessageQueue:(NSString *)messa...

2019-12-05 21:16:30 160

原创 App启动时间优化

先挖坑官方视频:Optimizing App Launch

2019-12-04 23:04:25 121

原创 iOS13适配之SceneDelegte

老项目升级到了XCode11 + iOS13,但是通过第三方平台还是收集到了崩溃信息。以这个最为棘手:崩溃时发生的异常:崩溃调用栈:0 CoreFoundation ___exceptionPreprocess + 2201 libobjc.A.dylib objc_exception_throw + 562 CoreFoundation +[_CFXNotificationToken...

2019-12-04 00:10:36 3301

原创 XCode归档(Archive)过程及部分错误的分析

先介绍一下iOS开发中使用的编译器LLVM开发iOSApp的Objective-C / Swift是编译型语言,从XCode5之后其对应的编译器正式有GCC过渡到LLVM(5.0)。经典编译器设计:LLVM的设计简介:这种前端-优化器-后端的设计,可以方便的接入多种语言,和多种CPU架构。LLVM包括:LLVM核心库:LLVM提供一个独立的链接代码优化器为许多流行CPU(以及一...

2019-12-01 19:23:53 2468

原创 Swift4升级到Swift4.2修改内容记录

本文记录了将工作项目由Swift4版本升级到Swift4.2中修改的内容,需要修改876处错误:‘UIImageOrientation’ has been renamed to ‘UIImage.Orientation’‘UIApplicationWillResignActive’ has been renamed to ‘UIApplication.willResignActiveNot...

2019-11-12 16:06:43 972

原创 ApplePay开发过程中遇到的问题--调试时可以支付,打包后无法支付

最近对接银联的ApplePay支付功能,按照说明文档一切都很顺利,调试过程中也可以支付。其中merchantID的设置方式如下:1,创建了两个merchantID:正式merchantID,测试merchantID。2,为正式App ID绑定上面两个merchatID。3,为测试App ID绑定上面两个merchatID。遇到的问题如下:【问题1】:对测试App打包后进行测试时,即使是在...

2019-08-07 16:02:38 548

原创 TabbarController架构的App中tabbar的控制

之前的代码中将self.hidesBottomBarWhenPushed = true放在了ViewController基类的下列方法中:override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?)required init?(coder aDecoder: NSCoder)在不需要隐藏tabbar...

2019-07-09 23:05:32 189

原创 iOS库开发中遇到的问题

1,创建一个工程SDK.proj,开发一个lib.a。它依赖于一些第三方框架比如AFNetworking等等,在SDK工程中使用pod,那么SDK工程会被扩展为一个SDK.workspace。另外创建一个测试工程SDKTest.proj,无法引入SDK.workspace,调试不方便。最后只能将第三方源文件手动添加到SDK.proj中。...

2019-07-05 19:03:10 126

原创 PHP后台环境搭建与数据迁移

1,数据库导出

2019-06-19 21:27:51 632

原创 JavaWeb学习(一)-- 图书系统

1,将IDEA工程导入Eclipse1.11.21.31.42,连接MySqlMySql版本8.0,只能用JDK1.8以下为TomcatServer启动时的错误:Q:Data source rejected establishment of connection, message from server: “Too many connections”。A:将my.ini中...

2018-11-20 23:16:37 723

原创 Mac中批量删除包含特定字符的行

对于目录下的文件,删除所有包含关键字“Txx”的行。find ./ -name "*.txt" -exec sed -i "" '/T/d' {} \;注意:1,sed命令的-i参数是直接修改源文件。2,mac下需要在参数后面跟一个字符串作为备份文件。空字符串则不备份。3,{}与;之间有空格。...

2018-11-19 17:52:09 2688 1

原创 Mac上批量修改文件的编码格式

在Windows上创建的.txt文件在Mac上是乱码,批量转换文件命令如下:mkdir outputfind *.txt -exec sh -c "iconv -f GB2312 -t UTF-8 {} > output/{}" \;

2018-11-19 11:18:37 2134

原创 git代码提交时二进制文件冲突

如题。问题背景:开发中遇到了一个奇怪的问题–调试时的App正常,但是代码上传后通过服务器打包后的App运行不正常。由于无法调试,所以只能通过加log的方式定位问题。后来发现加的log并没有输出,忽然意识到在用sourceTree提交自己做的framework的代码时发生了冲突,而我解决冲突的方式是直接选择了让sourceTree自己解决冲突。sourceTree解决文本文件的冲突还可以,但是看...

2018-10-31 19:43:37 1789

原创 Java Web开发学习笔记(一) Tomcat

1,什么是TomcatTomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。2,Tomcat的体系结构3,Tomcat的目录作业:在浏览器输入http://dangyalin/DangYalin直接显示到页面(1)设置临时域名。修改hosts文件,增加127.0.0.1 dangyalin(2)将tomcat...

2018-10-16 15:39:02 168

原创 App支付宝H5支付回调函数编写记录

记录一下从零开始开发App支付宝H5支付的回调函数的过程。 系统环境:64位Win10 JDK版本:1.8.0_181 思路:搭建Java环境,编写简单的Web项目,用Servlet实现接口功能。1,下载安装Eclipse 用eclipse_v4.7.0进行下载 链接:https://pan.baidu.com/s/1JHskgf7DkLi_XkEnyOuxxg 密码:wcnc ...

2018-09-11 18:40:48 1740

原创 【机器学习】台湾大学林轩田机器学习笔记(20180828更新)

1-4 机器学习的构成 作为银行要不要发给用户信用卡?1-5 机器学习:希望用资料找出假设g,跟目标f最接近。 数据挖掘:用大量数据发现有趣的属性。与机器学习很接近。 人工智能:计算一些聪明的行为。机器学习是实现人工智能的一种方式。 统计:统计是实现机器学习的一种方法。2-1 感知器假设集 算法A使用数据集合D和假设集合H得到结论g ∑ Wi*Xi > thresho...

2018-08-28 15:27:31 335 1

原创 如何将私有云内的基于GitLab的平台(包括代码、Wiki、JIRA、Jenkins)迁移到GitLab共有云平台上面

一、代码1,从原库下载代码git clone https://[email protected]/app/runner-ios.git如果成功,则显示: 如果传输过程中网络中断,可能显示: 2,跟踪远程分支git branch -r | grep -v '\->' | while read remote; do git branch --track ...

2018-08-03 17:32:02 1002

原创 如何从基于GitLab的主机平台(包括代码、Wiki、JIRA、Jenkins)迁移到Bitbucket云平台上面

首先去Bitbucket官网进行试用。https://bitbucket.org/一、代码迁移1,注册账号需要翻墙,否则无法显示人及验证的图片。 2,根据提示创建用户信息。 3,从现有Git库克隆代码。–bare参数的作用是不跟踪远程分支,没有拷贝工作区。git clone --bare https://[email protected]/exampleuser/ol...

2018-07-31 13:25:54 2122

原创 iPhone屏幕尺寸

设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches (62.1 mm) 4.5 inches (115.5 mm) 3.5-inch320x480 @1x 320x480 163 4(s) 2.31 inches...

2018-07-23 15:51:50 1711

原创 Android开发人员面试整理

1,多态class A { public String show(A obj) { return ("A and A"); }}class B extends A { public String show(B obj) { return (&

2018-07-09 22:17:16 394

原创 Sql Server坑整理

1,卸载SqlServer后重装新的SqlServer,报错,原因可能是某些注册表字段无法访问。 解决方法: 打开注册表,找到相应的项目 右键修改权限 修改权限后可以查看项目的值了: 修改修改两个地方: 2,数据库管理平台无法连接本地数据库实例原因是数据库没装好,或者SQLServer服务没启动。 打开Sql Server Co...

2018-06-21 16:49:29 394

原创 Windows下开发Cocos2d-x lua 客户端和服务器端

做为一个iOS开发者,一直在Mac + XCode环境下开发。初尝游戏开发,客户端是Cocos-2d lua + quick的,服务端是C++的。因为暂时只需要修改iPhone工程,本想着在Mac上开发客户端,但是没成想XCode上无法进行lua代码的调试。只能正儿八经的转战Windows,用VS调试客户端和服务端开发。Windows下开发环境搭建Mac下安装Windows系统。安装P...

2018-06-08 18:40:01 2177

原创 如何使用awk命令对省市文件进行处理

在App开发过程中会遇到指定省市的需求,为了同服务端保持一直,一般是将省市从服务端导出来,但是需要将文件格式改为适合客户端的格式,一般是plist文件。原文件格式: 目标plist文件的格式:... <dict> <key>values</key> <array> <dict> ...

2018-05-29 22:19:17 164

原创 远程机器常用命令

1,远程登录 ssh user@ip 输入密码2,查看机器配置查看CPU物理核数:cat /proc/cpuinfo | grep “cpu cores” | uniq 查看内存总量:grep MemTotal /proc/meminfo

2018-05-10 15:18:51 231

应用密码学 协议、算法与C源程序 原书第二版 中文

《应用密码学 协议、算法与C源程序》 Bruce Schneier著 吴世忠 祝世雄 张文政 等译

2018-12-14

Rex系统手机的启动过程

详细描述了Rex操作系统手机的启动过程。值得学习。

2008-10-06

空空如也

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

TA关注的人

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