iOS开发之程序各种状态监听
1、程序的五种状态Not Running:未运行。Inactive:前台非活动状态。处于前台,但是不能接受事件处理。Active:前台活动状态。处于前台,能接受事件处理。Background:后台状态。进入后台,如果又可执行代码,会执行代码,代码执行完毕,程序进行挂起。Suspended:挂起状态。进入后台,不能执行代码,如果内存不足,程序会 ...
iOS开发进阶问题
1)建立你自己的iOS开发知识体系
2)iOS App启动速度怎么做优化与监控?
3)Auto Layout是怎么进行自动布局的,性能如何?
4)iOS项目大了人员多了,架构怎么设计更合理?
5)iOS连接器:符号是怎么绑定到地址上的?
6)App如何通过注入动态库的方式实现极速编译调试?
7)Clang、Infer和OCLint,我们应该使用谁来做静态分 ...
iOS开发调试概览
概述
我们都知道Xcode默认的调试器是LLDB(在此之前使用的是GDB),但是关于LLDB的debug技巧并非所有人都比较清楚,可能所有人都知道p或者po命令打印一些变量。但是实际的情况时这些还远远不够。比如说有没有一些情况下crash无法定位到有用信息,直接出现exc_bad_access,有没有遇到过每次调试一个UI就要重新run一次Xcode ...
ios App 开发指南
开发者账号申请
http://www.applicationloader.net/blog/zh/547.html
https://zhuanlan.zhihu.com/p/66118041
https://www.jianshu.com/p/d56eab7a6c3a
https://juejin.im/post/5c6a4a796fb9a049c0439449
邓氏编码
https://www.yiem.net/archives/20180426zui-xin-applekai-fa-zhe-gong-si-zhang-hao-de-shen-qing-guo-chen ...
iOS——蓝牙开发
一、理论概念:
1.当前ios中开发蓝牙所运用的系统库是<CoreBluetooth/CoreBluetooth.h>。
2.蓝牙外设必须为4.0及以上(2.0需要MFI认证),否则无法开发,蓝牙4.0设备因为低耗电,所以也叫做BLE。
3.CoreBluetooth框架的核心其实是两个东西,peripheral和central, 可以理解成外设和中心,就是你的苹果手机就是中心,外部蓝牙称 ...
iOS:应用程序扩展开发之Today扩展(Today Extesnsion)
一、简介
iOS应用程序扩展是苹果在iOS8推出的一个新特性,可以将自定义的功能和内容扩展到应用程序之外,在之后又经过不断地优化和更新,已经成为开发中不可或缺的功能之一。扩展也是一个Target项目,它运行在主机应用程序上,可以与主机应用程序实现资源共享,和宿主应用程序的Target项目是彼此独立的。系统提供的扩展有很 ...
iOS开发tips-PhotoKit
概述
PhotoKit应该是iOS 8 开始引入为了替代之前ALAssetsLibrary的相册资源访问的标准库,后者在iOS 9开始被弃用。当然相对于ALAssetsLibrary其扩展性更高,api使用起来也更加的强大,但这并非今天讨论的重点,这里主要讨论PhotoKit使用的一些技巧和容易踩的坑。
PHImageManager or Custom
访问相册资源常用的操作还是 ...
iOS开发高级分享 - iOS上的设备标识符和指纹
苹果认可的标识符
Apple提供了各种API,以方便用户识别各种用途:
通用标识符(UDID)
在iOS的早期,苹果公司提供了一个uniqueIdentifier财产上UIDevice-亲切地称为udid (不要与UUID混淆)。虽然这样的功能在今天看来是不可想象的,但该属性一直存在到IOS 5,直到它被废弃并被替换为identifierForVendor在iOS 6中。
供应商 ...
ios开发和安卓app开发有哪些区别
ios平台和Android平台开发APP应用程序主要区别:一、编码语言Android平台开发中是使用Java,ios平台则是使用的Objective-C和Swift。需要注意的是,如果你是要用ios进行开发,就必须具备一个Apple设备,所以成本可能会比安卓的成本高些。二、APP开发工具ios和Android会利用各种工具进行APP的开发,Android使用的是具有多功能 ...
【原】iOS开发进阶(唐巧)读书笔记(二)
第三部分:iOS开发底层原理
1、Objective-C对象模型
1.1 isa指针
NSObject.h部分代码:
NS_ROOT_CLASS
@interface NSObject <NSObject> {
Class isa;
}
objc.h部分代码:
typedef struct objc_class *Class;
typedet struct objc_object {
Class isa;
} *id;
每个对象都有一个名为isa的指针,指向该对象的类
is ...
Mac OS下Flutter环境搭建记录,VS Code开发
安装Flutter
获取FlutterSDK
终端cd进入SDK安装目录,比如
cd ~/FlutterSDK
由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutt ...
uniapp ios端证书打包+开发环境
1、注册苹果开发者账号
2、获取ios证书(没有 mac os 的情况下)
终极法宝:AppUploader
介绍:http://www.applicationloader.net/blog/zh/72.html
下载:http://www.applicationloader.net/appuploader/download.php
下载安装之后,按教程申请证书即可:http://www.applicationloader.net/blog/zh/164.html
3、打包ios自定 ...
iOS开发 - 超级签名实现之描述文件
简介
因为最近企业签掉得太严重了,上头要求实现超级签进行游戏下载。故有了此文章,记录一下过程。
签名原理其实很简单,超级签名的技术就是使用个人开发者账号,将用户的设备当作开发设备进行应用分发。这也导致成本非常高,一个开发者账号最多只能注册一百台设备,然而一个账号的价格为99美元。不过目前超级签分发的应用 ...
基于MUI框架+HTML5PLUS 开发 iOS和Android 应用程序(APP)
目录事前准备创建项目利用MUI写一个简单的页面效果展示关于文件打包
事前准备
# 软件
HBuilder X Web开发IDE 下载地址:https://www.dcloud.io/hbuilderx.html
MUI 前端框架(移动端) 使用文档:https://dev.dcloud.net.cn/mui/ui/#icon
What is Mui:
- 移动端布局框架 made in China
- 模拟移动App,H ...
iOS NFC功能开发
一、NDEF格式的
使用 NFCNDEFReaderSession。Delegate为:NFCNDEFReaderSessionDelegate
1、初始化对象
@property(strong,nonatomic)NFCNDEFReaderSession *session;
@property(strong,nonatomic)id<NFCNDEFTag> cuurentTag;
self.session = [[NFCNDEFReaderSession alloc]initWithDelegate:self queue:nil invalidate ...
Xamarin.IOS/Mac开发中遇到的问题
虚拟机中安装的mac系统无法识别iphone
今天在 Xamarin.iOS 应用的免费预配 时,进行到 5、插入要在其中部署应用的 iOS 设备。 在第8选择iphone设备时,发现iphone并没有连接上mac虚拟机。
于是在其他mac上尝试连接了是可以的,然后怀疑是自己mac哪里的设置问题。
1、首先看下相关的服务有没有开启
鼠标右键 ...
iOS开发之iOS13推送deviceToken处理
iOS13新出之后会有收不到推送的问题
因为iOS13的处理方法变了,代码如下
//获取DeviceToken成功
- (void)applicationUIApplication *)application
didRegisterForRemoteNotificationsWithDeviceTokenNSData *)deviceToken
{
//Xcode11打的包,iOS13获取Token有变化
if ([[[UIDevice currentDevice] systemVersion] ...
【原】iOS开发进阶(唐巧)读书笔记(一)
如何提高iOS开发技能
1、阅读博客:https://github.com/tangqiaoboy/iOSBlogCN 40多位iOS开发博主的博客地址
2、读书:每年阅读一本高质量的iOS开发书籍
3、看WWDC视频
4、看苹果的官方文档
5、看开源项目的代码
6、多写代码,多思考
7、多和同行进行交流
8、分享
第一部分:iOS开发工具
1、Reveal界面调试工具
1、虚拟 ...
iOS开发之蓝牙4.0开发使用
转载自https://www.jianshu.com/p/f0e4b0e98336
2015年的时候自己写过一个蓝牙4.0项目,当忘了写博客,最近看到这篇博客写的挺详细,所以转载一下
一: 介绍
蓝牙分为蓝牙2.0和蓝牙4.0。蓝牙2.0为传统蓝牙,传统蓝牙也称为经典蓝牙。蓝牙4.0因为低耗电,所以也叫做低功耗蓝(BLE),它将三种规格集一体,包括传统蓝牙技术、高 ...
iOS开发之获取设备唯一标识UUID
首先我们知道获取设备标识的三种方法
/** 卸载应用重新安装后会不一致*/
+ (NSString *)getUUID{
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *UUID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
return UUID;
}
/** 卸载应用重新安装后会不一致*/
+ (NSSt ...