08 2018 档案
摘要:音频输出作为硬件资源,对于iOS系统来说是唯一的,那么要如何协调和各个App之间对这个稀缺的硬件持有关系呢? iOS给出的解决方案是"AVAudioSession" ,通过它可以实现对App当前上下文音频资源的控制,比如 插拔耳机、接电话、是否和其他音频数据混音等。当你遇到: 是进行录音还是播放?
阅读全文
摘要:AVAudioSession是一个单例,无需实例化即可直接使用。AVAudioSession在各种音频环境中起着非常重要的作用 •针对不同的音频应用场景,需要设置不同的音频会话分类 1.1AVAudioSession的类别 •AVAudioSessionCategoryAmbient –混音播放,例
阅读全文
摘要:NSAttributedString 叫做富文本,是一种带有属性的字符串,通过它可以轻松的在一个字符串中表现出多种字体、字号、字体大小等各不相同的风格,还可以对段落进行格式化,一般都是对可变富文本(NSMutableAttributedString)进行一些操作 一、NSMutableAttribu
阅读全文
摘要:ARC与非ARC在一个项目中同时使用,1,选择项目中的Targets,选中你所要操作的Target,2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc 混用没有问题,
阅读全文
摘要:@结果:
阅读全文
摘要:前言 基本上每个 App 都有登录注册功能,在登录注册时需要验证用户所输入的内容是否符合规定;有时要在字符串中查找并截取符合要求的字符串,这时就需要用到正则表达式。正则表达式看起来晦涩难懂,没有什么规律可循,但是我们并不用深入研究,只需要简单了解,满足日常开发即可。 什么是正则表达式? 正则表达式就
阅读全文
摘要:我们先对正则表达式语法做一个简单的说明,这样方便理解。网上关于正则的资料很多很多,我在这里只做下整理 /** * 正则表达式简单说明 * 语法: . 匹配除换行符以外的任意字符 \\w 匹配字母或数字或下划线或汉字 \\s 匹配任意的空白符 \\d 匹配数字 \\b 匹配单词的开始或结束 ^ 匹配字
阅读全文
摘要:json的自我介绍:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。在实际开发中经常使用JSON来获取服务器上的数据,并通过解析js
阅读全文
摘要:首先需要了解一下iOS中静态库和动态库、framework的概念 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装
阅读全文
摘要:一、NSBundle NSBundle是cocoa为bundle提供的一个类,bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像、声音、编译好的代码、nib文件。(用户也会把bundle称为plug-in) bundle中的有些资源可以本地化。例如:对于zw.nib,我们可
阅读全文
摘要:iOS使用宏定义函数和代码块 今天在开发过程中碰到一个问题:就是父类中要向外发送通知,然后子类中或者其他类中来接收它。当然一般是把它写到类方法中去,但是有个问题,就是如果调用的类不是它的子类,就不能直接调用,当然也可以采用静态方法实现,我这里主要是想用宏定义来实现,下面我分别介绍使用宏定义函数和定义
阅读全文
摘要:因为iPhoneX的产生,原本的导航栏再也不是44了,那么会出现什么问题呢?在隐藏导航栏的页面,原本的高度要向上调整一个导航栏+状态栏的高度。那么iPhoneX的导航栏高度不是44了,我们需要手动获取, 有导航栏的,代码如下: 1 2 3 4 5 6 //获取状态栏的rect CGRect stat
阅读全文
摘要:前言: 在工作中, 很多小伙伴都会在PCH文件定义一些常用的宏,但是又怕写这些简单的宏浪费时间,又有时候忘记怎么定义了怎么办?本人在工作中也是如此。所以在这里给大家分享一些常用的宏定义,喜欢的小伙伴可以直接在项目中使用(持续更新)! 为了大家使用方便,请点击:GitHub - 宏定义头文件下载 1.
阅读全文
摘要:1.前往文件夹~/Library/Developer/Xcode 2.删除Xcode文件夹下的DerivedData 3.等项目加载完成之后,即可rename 1.前往文件夹~/Library/Developer/Xcode 2.删除Xcode文件夹下的DerivedData 3.等项目加载完成之后
阅读全文
摘要:本团队的iOS端迭代至今,经历过AppStore审核的数次调整,包括审核时长、严厉程度等,尝过各种花式的拒绝理由,但从没有像2018年初这次来得猛烈和漫长。从首次提交到最后过审几乎花费一个月的时间,下面的文字记录了整个过程。 2018年1月19日 x.x.3版本迭代开发完成,当晚提交审核。 2018
阅读全文
摘要:不过据我后来在网上查询很多人说,跑脚本的混淆,审核直接被拒。 混淆分许多思路,比如: 1.cd到你的工程目录下,创建两个文件 2.打开工程,把刚才创建的两个文件添加到工程中,在工程中再创建两个文件分别是pch文件和一个.h文件,并在pch中引入刚一同创建的.h 3.配置Phases 4.向脚本con
阅读全文
摘要:这节课要来跟大家讲讲怎样可以快速的有效的通过苹果的审核,大家可能也有听说过苹果的快审,苹果的审核流程除了机器审核还有一个人工的审核,以前的苹果审核时用到的时间也是不短,一些有经验的开发者可能也会发现在进行更新优化APP的时候在等待审核的状态会持续良久,苹果现在也是增快了在审核上面的流程速度,APPs
阅读全文
摘要:标签: 软件开发工具包(外语首字母缩写:SDK、外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。 前言: iOS的软件开发工具包SDK,一般是以库的形式出现,从本质上来说是一种可执行代码的
阅读全文
摘要:最近在做一个小项目,需要给客户一个demo测试,有一部分核心代码暂时不想让客户知道,就想到了打包成framework或.a库。库有两种: 静态库:.a和.framework 动态库:.tbd和.framework 静态库和动态库的区别 .a文件肯定是静态库,. tbd肯定是动态库,.framewor
阅读全文
摘要:Guideline 1.2 - Safety - User Generated Content Your app enables the display of user-generated content but does not have the proper precautions in pla
阅读全文
摘要:好像没有企业能阻挡苹果的下架决定,毕竟这是它的地盘。不管是已经恢复上架的百度、腾讯、优酷、人人游戏,还是至今没有下文的360、金山和PPS,也不管这些企业在中国乃至全球互联网行业的地位如何,下架原因只存在于人们的猜测之中。 百度全系列应用下架原因至今成谜,360则是双方理念不合,腾讯、优酷和携程遭遇
阅读全文
摘要:上周五的时候,知乎被各大APP应用商店下架,原因是因为在应用内一些信息不符合相关的规定所以被强制性下架,看起来只是简单的一个应用被下架的事情。但是作为一个推广人员,我第一件事情想到的是,假如我自己公司产品被下架之后如何处理? 于是我专门FQ谷歌搜索了“iOS,被下架”,搜集到下面的信息 今日头条被苹
阅读全文
摘要:material https://github.com/rey5137/material MaterialDesignLibrary md控件库,可兼容到2.2。 https://github.com/navasmdc/MaterialDesignLibrary Material Dialog ht
阅读全文
摘要:https://github.com/navasmdc/MaterialDesignLibrary#progress-bar-indeterminate-determinate Material Design Android Library How to use Components Buttons
阅读全文
摘要:欢迎加入ios马甲包经验交流群,群聊号码:744520623 2018年伊始,苹果并没有因为新年的气氛而对CP们“网开一面”。频繁锁榜、调整排名规则以及关键词覆盖算法……不断抛出的大动作,让CP们叫苦不迭。且从2月初开始,苹果还进一步加强了对应用的审核力度,导致跳坑CP以及被拒应用暴增。 近日,小七
阅读全文
摘要:近日,相信很多开发者都留意到了: 苹果针对应用标题的审核确有明显的变严趋势!我们在《惊!苹果再次加强审核力度,众App纷纷止步应用标题》中也对该现象进行了详细的分析,并给出了相应的解决方案。 而除了标题之外,很多开发者还向我们咨询过审核被拒的其他情况。为了帮大家摸清近期苹果审核的脉络,我们对大家反馈
阅读全文
摘要:4s:640*960 5:640*1136 6:750*1334 6P:1242*2208 现在新版本的iTunes connect里只上传6P版本的大小就可以了,其他版本苹果会自动分辨,如果你APP不同型号手机需要显示不同的介绍图的话,还是需要上传所有尺寸的图片的. 顺便说一下: 1.介绍图里尽量
阅读全文
摘要:自从进入了2018年,大量应用在AppStore提交审核后,都直接给大家回复了个新春大礼包 Guideline 2.1 - Information Needed。 而大部分的应用,特别是金融类相关APP, 在昨天都收到了被拒邮件。 2018年1月29日 上午3:52 发件人 Apple ?? 2.
阅读全文
摘要:项目中有一个新的需求,要求可以连接一个USB体温枪,APP可以从体温枪中读取到体温数据,一番搜寻之后发现一个封装很棒的USB通信库。 github地址:usb-serial-for-android 准备工作 从 github 上 clone 这个库的源文件 在Android Studio中引入模块
阅读全文
摘要:Android USB 开发详解 先附上 Android USB 官方文档 Android通过两种模式支持各种 USB 外设和 Android USB 附件(实现Android附件协议的硬件):USB附件和USB主机。USB开发需 Android 3.1(API级别12)以上。由于本人工作中只用到了
阅读全文
摘要:线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个
阅读全文
摘要:为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java
阅读全文
摘要:在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务
阅读全文
摘要:初始化顺序:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类的非静态变量(子类的非静态代码块)-->子类的构造函数 值得注意的是:父类的非静态变量(父类的非静态代码块)是同一级的,看哪个部分写在类
阅读全文
摘要:在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等。在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图: 需要设置prefs 设置跳转有三种方式,每一种的使用场景都不同。 并且你在跳转到系
阅读全文
摘要:iOS之webview加载网页、文件、html的方法 UIWebView 是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf、word、doc 等等文件 生成webview 有两种方法,1、通过storyboard 拖拽 2、通过alloc init 来初始化 创建webview,
阅读全文
摘要:背景 一直都有用户反馈无法正常联网的问题,经过定位,发现很大一部分用户是因为网络权限被系统关闭,经过资料搜集和排除发现根本原因是: 第一次打开 app 不能访问网络,无任何提示 第一次打开 app 直接提示「已为“XXX”关闭网络」 第一次打开 app ,用户点错了选择了「不允许」或「WLAN」 对
阅读全文
摘要:写在前面 APP开发避免不开系统权限的问题,如何在APP以更加友好的方式向用户展示系统权限,似乎也是开发过程中值得深思的一件事; 那如何提高APP获取iOS系统权限的通过率呢?有以下几种方式:1.在用户打开APP时就向用户请求权限;2.告知用户授权权限后能够获得好处之后,再向用户请求权限;3.在绝对
阅读全文
摘要:作者:Jamie,腾讯开发工程师,在iOS预审和ASO优化领域从事专项测试相关工作,为腾讯游戏近100个产品提供专项服务。 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。 WeTest导读 众所周知,苹果应用商店是苹果公司提供给开发者发布和用户下载应用软件的地方,苹果为了给开发者和用
阅读全文
摘要:上一篇Java接口 详解(一)讲到了接口的基本概念、接口的使用和接口的实际应用(标准定义)。我们接着来讲。 一、接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com.wz.factoryDemo; interface Fruit{ public void eat()
阅读全文
摘要:一、基本概念 接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来
阅读全文
摘要:阿里巴巴矢量图标库 http://iconfont.cn 国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能。 高品图像 http://www.gaopinimages.com 网站设计高端大气,资源丰富。拥有千万张高清图片,摄影作品/历史照片/电影海报/创意设计
阅读全文
摘要:这几年针对Android推出了不少View注入框架,例如ButterKnife。我们首先来了解一下使用这些框架有什么好处,其实好处很明显:它可以减少大量的findViewById以及setOnClickListener代码,简化了代码,让我们的代码看起来条理更清晰,可读性变强。 可能大多数对于这一类框架,都只是停留在用的阶段,但是作为一个程序员,我们有必要去了解它是如何实现的。其实它...
阅读全文
摘要:原文链接:http://blog.csdn.net/u013045971/article/details/53433874 什么是注解 Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序
阅读全文
摘要:一、强制设置方向 1.Activity 如果要强制设置一个Activity的横竖屏可以通过Manifest去设置,跟Activity相关的信息都会保存在ActivityInfo当中。 android:screenOrientation=["unspecified" | "user" | "behin
阅读全文
摘要:Surface的管理 Surface是窗口能真正显示到物理屏幕上的基础,由surfaceflinger管理,可以通过WindowStateAnimator.java中的变量mDrawState来查看每个窗口相关的surface的状态。 surface有5中状态: WindowStateAnimato
阅读全文
摘要:Android窗口系统第一篇—Window的类型与Z-Order确定 Android窗口系统第二篇—Window的添加过程 上面文章梳理了一个窗口的添加过程,系统中有很多应用,每个应用有多个Activity,一个Activity上有一个Window,WindowManagerService是怎么管理
阅读全文
摘要:以前写过客户端Window的创建过程,大概是这样子的。我们一开始从Thread中的handleLaunchActivity方法开始分析,首先加载Activity的字节码文件,利用反射的方式创建一个Activity对象,调用Activity对象的attach方法,在attach方法中,创建系统需要的W
阅读全文
摘要:Android的窗口系统是UI架构很重要的一部分,数据结构比较多,细节比较多。本篇文章主要介绍窗口相关数据结构和抽象概念理解,关于[窗口部分的博客]计划如下。 1、窗口Z-Order的管理 2、应用程序和WMS的联系 3、窗口的添加,WindowState的创建 4、Token管理,AppToken
阅读全文
摘要:在Java中,根据错误性质将运行错误分为两类:错误和异常。 在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。生成的异常对象将传递Java运行时系统,这一异常的产生和提交过程称为抛弃(throw)异常。 当Java运行时系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找
阅读全文