iOS开发-常用第三方开源框架介绍(绝对够你用了)
图像:
1.图片浏览控件MWPhotoBrowser
实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。
下载:https://github.com/mwaterfall/MWPhotoBrowser
目前比较活 ...
iOS开发:Release/Debug模式与Configuration
一、release与debug模式
Debug和Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢?
Debug和Release,主要是针对其面向的目标不同的而进行区分的。
Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,为开发人员提供强大的应用程序调试能力。
而Release ...
iOS平台 | 快速集成华为AGC认证服务
介绍
如何让用户根据已有的账号来进行登录注册呢?在应用中集成华为AGC认证服务SDK来轻松快速地实现这个功能。
本篇内容根据官网文档指导集成过程总结完成,关于集成步骤,官网的资料写的有点多,现在我总结一下步骤:
1、开通华为认证服务
2、在iOS项目中集成SDK
3、设计登录注册页面
4、开启认证方式
5、注册登录功能开 ...
苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功
苹果应用内购 ios 开发者根据用户提供的邮件中的订单号查看该订单是否支付成功
这是苹果wwdc2021 推出的新功能
参考官网链接
App Store Server API | Apple Developer Documentation
https://developer.apple.com/documentation/appstoreserverapi
先要通过 JWT签名
https://developer.apple.com/documentati ...
在iOS中高效的加载图片
在iOS开发中,图片(UIImage)是我们在开发中,占用手机内存比较大的对象,如果在运行过程中,内存占用过大,对电池寿命会造成影响,如果超过了内存占用的最大值,会造成App的crash。这篇文章从图片的加载原理和SDWebImage的源码实现的角度来介绍图片加载。
图片的渲染流程
在iOS中使用 UIImage和UIImageView来记载图片,他俩 ...
iOS开发应用上架必读最新苹果审核规则
0、审核规则结构图
1、条款和条件
1.1 为App Store开发程序,开发者必须遵守 Program License Agreement (PLA)、人机交互指南(HIG)以及开发者和苹果签订的任何其他协议和合同。以下规则和例证旨在帮助开发者的程序能获得App Store的认可,而不是修改或删除任何其他协议中的条款。
2、功能
2.1 崩溃的程序将会被拒绝。 ...
iOS开发_文字加描边
1、自定义UILabel
GC_Label.h
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface GC_Label : UILabel
// 设置文字描边:默认不描边,设置了描边颜色才会描边
/** 描边颜色 */
@property(nonatomic, strong) UIColor *stroke_color;
/** 描边宽度,默认为1 */
@property(nonatomic, assign) CGFloat strok ...
iOS开发——轻松学习Socket
Socket是什么?
要了解什么是 Socket,首先需要了解 TCP/IP、UDP! 📚
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
TCP/IP ...
Swift设置UILabel内边距的实例代码
目录摘要textRect 的作用
drawText 的作用
优化
扩展
新发现
总结摘要
拿来即用短时间效率虽然挺高的,但是拿来的东西没有消化一次,就无法得心应手的使用它。
这次的探索思路就是,查询官方文档,设置不同的值测试单个方法中参数的变化,之后测试两个方法的执行顺序,处理的思路,最后思考总结。
在总结方法的处理逻辑时, ...
IOS开发之UIScrollView约束布局
概要
在iOS开发学习中,UIScrollView是绕不过去的一个重要控件。
但是相对于Android的ScrollView,iOS的这个滚动控件的用法简直是复杂一万倍。。。
最主要是目前能找到的大部分的视频教程看到的关于UIScrollView的教程,都是使用Frame布局。没有找到使用AutoLayout布局的教程。。只有看文字教程学习,然后自己总结一下。
St ...
iOS开发基础99-iOS 内购的防范与优化
在现代移动应用中,内购(In-App Purchase,IAP)功能扮演着非常重要的角色。然而,在实际开发与运营过程中,我们常常会遇到许多挑战和问题,比如支付校验失败、订单重复、丢单,以及越狱设备下的欺诈行为。本文将深入解析这些问题,并分享防范和优化内购的实战方法。
一、内购基本流程
要深入理解内购,我们首先需要清晰掌 ...
uni-app移动端开发中ios/安卓--坑和经验总结
1、 ios new时间对象,需要用逗号隔开传日期的方式, 不支持 new Date('2019-03-01 08:00:00') 格式;
支持以下两种方式:
2、 ios个别版本对fixed的属性的支持性不好,需要用absolute替代;
3、 input 的 placeholder会出现文本位置偏上的时候
input 的placeh ...
2021年3-5年经验iOS面试总结
求职之路可谓是“一把辛酸一把泪”。除了经验和阅历,完全没有优势。但还是收到几家公司的面试邀请,但之后便没有后续。趁面试之余将面试室所遇到提问总结整理一下,以供大家参考:
内存管理
软件运行时会分配和使用设备的内存资源,因此,在软件开发的过程中,需要进行内存管理,以保证高效、快速的分配内存,并且在适当的 ...
iOS之多语言开发
前要:iOS多语言开发,可以分为两种
系统设置,通过在手机设置中切换语言,进而改变app中语言;
app中手动切换,用户在app中,手动选择语言,进行切换。
一.添加需要的语言
不管使用哪种方法,都需要先添加语言,这一点是相同的。
在项目的project中添加语言
添加完成后是这样的
创建 Localizable.strings ...
iOS开发常用国外网站清单
工欲善其事必先利其器,最近发现临时查找一些东西容易浪费时间,花了点时间整理一下常用的网站,方便以后备用。
国内的code4app,ui4app,cocoachina,oschina,csdn就不说了,基本上很好用。不过国外网站上的好东西更多,可惜找起来也更费时间,需要整理一下。
主要分开发教程、示例项目、UI设计、问题解决几块。
  ...
网易有道 iOS面经
UIView 和 UIControl 的关系与区别
UIView侧重于页面布局,因addTarget:action:forControlEvents是在UIControl中定义的,它的父类UIView中没有,所以没有事件交互的方法,可以通过手势UITapGestureRecognizer来实现
UIControl侧重于事件交互,最大的特点是拥有addTarget:action:forControlEvents方法
UIControl继承自 ...
如何利用SwiftUI实现可缩放的图片预览器
目录前言实现过程
程序的初步构想
显示 UIImage
双击缩放
放大手势缩放
预览任意 View
将 UIImage 从 LBJImagePreviewer 剥离
源码总结前言
在开发中,我们经常会遇到点击图片查看大图的需求。在 Apple 的推动下,iOS 开发必定会从 UIKit 慢慢向 SwiftUI 转变。为了更好地适应这一趋势,今天我们用 SwiftUI 实现一个可缩放 ...
深入浅出的聊聊Swift高阶函数
目录初探高阶函数
map
compactMapcompactMapValuesflatMapfilterreduce组合使用总结初探高阶函数
在 Swift 中,高阶函数一共有下面几个:
map:对给定数组每个元素,执行闭包中的映射,将映射结果放置在数组中返回。
flatMap:对给定数组的每个元素,执行闭包中的映射,对映射结果进行合并操作,然后将合并操作后 ...
iOS开发之上传包遇到的问题解析:ERROR ITMS-90478: Invalid Version
可以看下这篇文章:《iOS开发之上传包遇到的问题解析 - https://www.jianshu.com/p/667257ae79c8》,这里遇到的问题多些,我目前是遇到一个版本号的问题。
iOS 的 ipa 包上传之后收到这样的邮件
错误码:
ERROR ITMS-90478: "Invalid Version. The build with the version “2.20.170928” can’t b ...
iOS启动优化 —— LLVM编译流程 & Clang插件开发
1. LLVM
1.1 LLVM概述
LLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)。对开发者保持开放,并兼容已有脚本。目前LLVM已经被苹果IOS开发工具,Xilinx Vivado, Facebook,Google等各大公司 ...