xiangzhihong8的专栏

技术群:515980159,278792776;招聘群:188716429

客户端骨架屏详解

一直以来,无论是Web还是iOS、Android的应用中,为了提升应用的加载等待这段时间的用户感知体验,各种技术层出不穷。其中,尤以菊花图以及由它衍生各种加载动画最为突出。 对于菊花图我们自不必多说,现在对于加载的设计体验有了比菊花加载体验更棒的方法,即大家常看到的Skeleton Screen ...

2019-01-04 15:53:38

阅读数 2017

评论数 0

ios逆向工具MonkeyDev简介

MonkeyDev简介 虽然是米国的苹果开发的的的我操作系统系统,但是要论越狱iPhone和逆向分析来说,那国内远胜于米国了,可能是国内很多相关的灰色产业链吧。在之前,我们想动态调试一个没有源码的应用程序,通常是要借助于THEOS,自己操作LLVM来动态连接到应用程序,然后再使用LLVM的调试命...

2018-03-19 10:31:27

阅读数 6026

评论数 1

iOS 滚动视图的复用问题解决方案

LazyScroll是什么LazyScrollView 继承自ScrollView,目标是解决异构(与TableView的同构对比)滚动视图的复用回收问题。它可以支持跨View层的复用,用易用方式来生成一个高性能的滚动视图。为什么要用LazyScrollView我们在做首页的时候,往往展示的东西会...

2016-12-27 20:28:36

阅读数 10583

评论数 0

iOS使用自签名证书实现HTTPS请求

概述在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求。 默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Tr...

2016-12-23 17:50:14

阅读数 6486

评论数 1

一文看完苹果2019春季发布会

苹果于北京时间2019年3月26日在史蒂夫·乔布斯剧院(Steve Jobs Theater)举行春季特别活动,和以往的春季发布会不同,此处的发布会上,苹果并没有发布什么重磅硬件产品,取而代之的则是新闻订阅服务和视频流媒体服务两个重要的新业务。总的来说呢,这场发布会和中国用户关系不大,因为除了游戏...

2019-03-27 10:32:20

阅读数 140

评论数 0

iOS打包详解

背景 今天使用Xcode打包上传ipa时遇到一个问题: Missing private key,如下图。通过查询是.cer 证书失效的问题,需要重新生成新的证书。 苹果规定 .cer证书只能存在于一台机器上,因此 如果另一台电脑想要用的话,需要导出为.p12 file ,安装到另一台没有安装.c...

2019-01-20 18:57:19

阅读数 211

评论数 0

使用podspec创建iOS插件

概述 在WWDC 2014全球开发者大会上,苹果开放了动态库、App Extension等全新的功能,这为iOS插件化开发带来了可能。在iOS开发中,动态库是iOS提供的一种资源打包方式,可以将代码文件、头文件、资源文件和说明文档等集中在一起,并且可以在运行时进行动态加载。 目前,很多应用越做越复...

2018-12-20 19:47:55

阅读数 141

评论数 0

Xcode工程结构详解

当我们新建一个 Cocoa 项目时,Xcode 会提供一系列的模板,我们选择Single View App即可。 工程模板 Application类型 Master-detail Application. 可以构建树形结构导航模式应用,生成的代码中包含了导航控制器和表示图控制器。(表示图控制器...

2018-12-06 11:32:21

阅读数 269

评论数 0

Xcode 10 升级导致项目报错的常见问题

前不久,伴随着iOS 12版本的发布,苹果升级了Xcode 版本,最新的版本是Xcode 10.1。不过升级后经常会遇到各种编译问题,下面就给大家总结一些常见的错误(我项目遇到的)。 library not found for -libstdc++ 报错的详细信息如: library not fo...

2018-11-25 18:05:02

阅读数 2288

评论数 0

HandyJSON库简介

背景 JSON是移动开发中常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本到具体的Model,再把对应数据展现到页面上。 但在编程的时候,处理JSON是一件麻烦事。在iOS开发中,在不引入任何轮子的情况下,通常需要先把J...

2018-10-12 10:12:47

阅读数 1326

评论数 0

iOS 12正式版新特性总结

距离苹果WWDC发布会举行已久,苹果在昨日(9月18)开始向用户推送iOS 12 GM版,据称本次iOS的更新内容主要是性能方面的提升,打开相机的速度提升70%,屏幕键盘呼出速度提升50%,其它App启动速度提升2倍。下面让我们看看究竟哪些设备将支持iOS 12 : iOS 12 新特性 ##1...

2018-09-19 11:51:13

阅读数 209

评论数 0

如何优雅的动态修改app 图标

在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几个方法: @interface UIApplication (UIAlternateApplicationIcons) // 如果为NO,表示当前进程不支持替换图标 @property (readonly, no...

2018-09-02 20:49:27

阅读数 620

评论数 0

基于UIScrollView控件实现的滑动引导页

在很多的app应用开发中,当第一次启动应用的时候都会来一个引导页,其效果如下图所示。 此处,我们使用UIScrollView来实现一个这样的效果,涉及的代码有。 WelcomeViewController.h #import <UIKit/UIKit.h&...

2018-06-11 22:12:36

阅读数 127

评论数 0

iOS关键组件iBoot源代码泄露

昨天(2月7日),有匿名开发者在 GitHub 上传了 iOS 核心组件的源代码,这可能会促进黑客和安全研究人员找到 iOS 漏洞,并使 iPhone 陷入危险境地。git地址:https://github.com/h1x0rz3r0/iBoot。 不过,8日早上已经看不到相关的源码信息了,...

2018-02-08 22:18:39

阅读数 834

评论数 0

IOS开发之逆向分析

首先,本逆向分析是系列文章,会分别从常见的逆向技巧来介绍iOS开发中常见的逆向技术。 网络分析 在逆向过程中很多时候需要分析APP和Web端数据交互的内容那么最简单的方式即是抓包网络分析,而使用Charles、Tcpdump也是逆袭分析最基本的手段。本文以Charles为例来介绍网络相关的...

2018-02-01 20:23:14

阅读数 2443

评论数 0

Swift开发React Native组件

前面说过,React Native作为一个全新的跨平台开发框架,好多东西还不是很成熟,很多原生的控件还不是很完善,于是好多爱好者便自己封装相关的组件,可以使用oc来封装,也可以使用Swift来封装。关于封装的原理,大家可以访问我的书的《React Native移动开发实战》。 基础 学习本章知...

2018-01-17 15:19:38

阅读数 616

评论数 0

iOS WebDriverAgent 环境搭建

WebDriverAgent简介WebDriverAgent是Facebook 在去年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架。当时的推文申明,还只支持模拟器,不过在今年4月更新的版本中,官方宣称支持真机测试了,大家可以查看官方github 的介绍:https://gi...

2017-12-31 21:35:03

阅读数 2006

评论数 2

使用多个Target去管理项目版本环境

在实际开发中,为了保证所开发的产品能够尽量完美上线,在上线前会特意测试几轮,保证所开发的应用没有问题。据此,在实际的开发过程中,往往需要区分测试环境和线上环境,在Android开发中,可以通过gradle脚本来识别,并在代码中体现出来。 在ios开发中,如果一个包需要同时包含debug和线上的r...

2017-11-28 14:53:42

阅读数 1184

评论数 0

ios打包ipa文件并上传到托管平台

当我们开发完app后,需要将ipa/apk提交给测试人员测试,然后才能上线。下面就来看一下如何打包ipa文件,并上传托管平台。做过ios开发的童鞋都知道,ios为开发者提供了描述文件有2类,有说是3种(说的是iOS App):在Development类下就一种,用于真机调试Debug模式的描述文件...

2017-11-24 16:59:35

阅读数 2880

评论数 0

解决低版本Xcode不支持高版本iOS真机调试的问题

今天在做真机调试的时候,遇到下面的一个问题: Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may not be supported by this versio...

2017-10-26 23:40:06

阅读数 16101

评论数 3

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