通过命令行上传ipa到appstore

搞持续集成自动化打包上传到appstore遇到这个问题,记录一下。 其实主要就一条到命令: xcrun altool --upload-app -f xxxx.ipa -u "yanqizhou@126.com" -p "*******" 这里的密码不是App id的登录密码,是一个App专用的密码 ... »

iOS使用NSTextAttachment添加图片,图片模糊

最近在忙的项目中,需要处理富文本的相关内容,产品需求并不复杂,所以想着用TextKit处理,顺便学习一下,没想到直接掉坑。在此记录一下(都是血泪史),顺便为有需要的小伙伴提供参考。 // Add the image as an attachment. let textAttachment = NST ... »

不会吧,这也行?iOS后台锁屏监听摇一摇

背景介绍 一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但是iOS就无法实现!今天要介绍的需求也有这种感觉,就是“当 APP 处于后台或锁屏状态时,依旧可以监听到摇一摇,进而触发某些功能,比如:语音播报”。 在产品经理提出此需求的一瞬间,仿佛周边的空气都凝固了 ... »

iOS14剪切板探究,淘宝实现方法分析

随着iOS 14的发布,剪切板的滥用也被大家所知晓。只要是APP读取剪切板内容,系统都会在顶部弹出提醒,而且这个提醒不能够关闭。这样,大家在使用APP的过程中就能够看到哪些APP使用了剪切板。 正好我们自己的应用也使用了剪切板,升级了iOS 14之后弹的着实让人心烦。就想着怎么处理一下,翻了一下UI ... »

Flutter中的绘图(Canvas&CustomPaint)API

本文是Flutter中Canvas和CustomPaint API的使用实例。 首先看一下我们要实现的效果: 结合动图演示,列出最终目标如下: 在程序运行后,显示一个小球; 每次程序启动后,小球的样式均发生随机性变化,体现在大小、颜色和位置三点; 小球运行的规律参考桌球或三维弹球游戏; 单击屏幕,小 ... »

一切皆组件的Flutter,安能辨我是雄雌

从一开始接触Flutter,相信读者都会铭记一句话,那就是——一切皆组件。今天我们就来体会一下这句话的神奇魔力,我们先从实际的产品需求说起。 我们先来看一个简化的运行图: 我们要实现如上图所示的日期选择器,App是iOS风格。 Flutter SDK自身有类似上图的日期选择器,但是Material ... »

iOS刨根问底-深入理解GCD

做过iOS开发的同学相信对于GCD(Grand Central Dispatch)并不陌生,因为在平时多线程开发过程中GCD应该是使用最多的技术甚至它要比它的上层封装NSOperation还要常用,其中最主要的原因是简单易用功能强大。本文将从GCD的原理和使用两个层面分析GCD的内容,本文会结合源码... ... »

SwiftUI - iOS10本地推送通知教程UserNotifications在Swift中的实现方式

简介 消息推送相信在很多人的眼里都不陌生了吧?像即时聊天微信,好友发信息给你时会在顶部弹下小窗口提醒你。也像是在影院APP预订了电影票,在开场前一小时你也会收到提醒。这类推送是需要经过后端发送请求的,需要服务器发送推送请求,又或者使用如极光推送等第三方渠道。 那么如果我们的APP不需要连网呢?这是不 ... »

浅析Block闭包

浅析Block闭包 简单来说,block就是将函数及其上下文封装起来的对象,从功能上可以把它看作是C++中的匿名函数,也可称之为块。 Block类型写法: 返回值+(^块名)+(参数)= ^(参数){ 内容 } 如下所示: Block结构 Block存储区域 Block本质上也是OC对象,所以每个B ... »

IOS App打包发布完整流程

注册成为开发者 登录 "苹果开发者中心" ,点击 "Accounts" ,在这里需要你填写你的Appple ID进行登录,如果没有,点击 "这里" 申请一个,填写信息就成,这里就不再赘述。申请完成之后,使用申请的AppID进行登录。 进入主页之后,然后点击 "Join the Apple Devel ... »

iOS开发--性能调优记录

CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。但是由于历史原因,我们可以说CPU所做的工作都在软件层面,而GPU在硬件层面 对于图像处理,通常用硬件会更快,因为GPU使用图像对高度并行浮点运算做了优化,我们想尽可能把屏幕渲染的工作交给硬件去处理。问 ... »

【KakaJSON手册】02_JSON转Model_02_数据类型

由于JSON格式的能表达的数据类型是比较有限的,所以服务器返回的JSON数据有时无法自动转换成客户端想要的数据类型。 比如服务器返回的时间可能是个毫秒数 ,但客户端想要的是 类型 再比如客户端想要的是浮点数 类型,但服务器返回的可能是字符串类型 再比如客户端想要的是 类型,但服务器返回的可能是 、` ... »

【KakaJSON手册】01_JSON转Model_01_基本用法

在iOS开发中,后台返回的数据大多是JSON格式,对应地会被网络框架层解析成Swift中的Dictionary、Array。由于数据类型的复杂、字段的繁多,直接使用Dictionary、Array会比较麻烦,比如 这样的使用方式,非常不友善,而且没有智能语法提示。所以很多时候会考虑将JSON转换成M ... »

90后iOS开发者的出路,如何规划30岁前的自己(程序员必修课)

前言: 最近发生了一些和我们没有直接关系但是有间接关系的事情。比如华为“清洗”高龄基层员工,比如游戏公司2号员工拿不到股份而离职。先不说事实到底如何,起码很多码农是心有戚戚焉。 最近一年多也发生了一些和所有人都有直接关系的事情:全国各大城市的房价都迅速而幅度巨大的上涨。相对涨幅也已经很高,更别说已然 ... »

iOS程序员 如何提升核心竞争力,防止自己被裁员?

前言: 核心竞争力最早由普拉哈拉德和加里·哈默尔两位教授提出,通常认为核心竞争力,即企业或个人相较于竞争对手而言所具备的竞争优势与核心能力差异, 说白了就是你的优势,而且最好是独一无二的的优势,这就是核心竞争力。 那么程序员的核心竞争力是怎样的呢?他不像PM,运营,市场那么难以考核的。一名优秀的程序 ... »

Cordova-iOS SDK封装

源码编译与制作静态库 3. 使用lipo命令,合并Cordova.framework 选中Products下的Cordova.framework文件,Show in Finder找到该文件 如果项目编译成功,应该有两个文件夹,我用的是bebug模式,所以存在Debug-iphoneos和Debug- ... »

一位 iOS 大牛的 BAT面试心得与经验总结,送给正在迷茫 的你!

前言: 目前形势,参加到 iOS 队伍的人是越来越多,可以说是已经达到了供过于求的地步了。 今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇面试心得与经验总结。 诚意之作 ... »

6.2.初识Flutter应用之路由管理

路由管理 路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似 ... »

6.1.初识Flutter应用之实现一个计数器

用Android Studio和VS Code创建的Flutter应用模板是一个简单的计数器示例,本节先仔细讲解一下这个计数器Demo的源码,让读者对Flutter应用程序结构有个基本了解,在随后小节中,将会基于此示例,一步一步添加一些新的功能来介绍Flutter应用的其它概念与技术。对于接下来的示 ... »