
iOS基础
明似水
记录和分享生活中的点点滴滴,为达到人生追求的境界:喜悦、平和与爱
展开
-
解决 iOS App Tracking Transparency 权限问题
App Tracking Transparency 是 Apple 的一项隐私功能,旨在让用户控制哪些应用可以跟踪他们的行为以用于广告或数据共享。应用必须在Info.plist文件中提供键的值,向用户解释为什么需要跟踪他们的数据。原创 2024-09-20 22:36:39 · 3035 阅读 · 0 评论 -
Flutter 中的 PageStorage 小部件:全面指南
是一个可以提供唯一标识符(page)给其子组件的小部件,这样你就可以在不同页面间存储和恢复数据。它通常与和一起使用,以实现跨页面的数据保持。你可以通过以下方式自定义禁用PageStorage:在不需要保存状态的时候,可以设置enabled属性为false。使用PageStorageBucket:如果你需要手动管理状态,可以使用来存储和读取数据。原创 2024-05-15 22:31:26 · 777 阅读 · 0 评论 -
Flutter 中的 SafeArea 小部件:全面指南
SafeArea是 Flutter 中的一个基础小部件,用于确保其子组件不会被系统视图(如状态栏、导航栏、刘海屏等)遮挡。它通过内部的MediaQuery和来获取屏幕的布局边界,并相应地调整其子组件的位置。如果你需要更精细的控制,可以使用SafeArea的这些属性来自定义不安全区域的处理。SafeArea(top: false, // 忽略顶部的安全区域bottom: true, // 保留底部的安全区域// ... 你的部件),原创 2024-05-15 22:27:26 · 2726 阅读 · 0 评论 -
iOS 主要语言切换问题
上架时需要把主要语言切换成英文,存储时一直提示“因为您必须先为使用这种语言的每个版本提供所有必需的截屏”错误。原创 2024-05-15 18:19:32 · 1044 阅读 · 0 评论 -
iOS上传ipa使用可视化工具Transporter
最近为了让非开发人员上传IPA文件,特意找了一些方法,至于以前的ApplicationUploader已经不能用了,下面介绍两个工具可以上传IPA包。这就是非开发人员上传IPA文件三种方式,希望能帮助到你!原创 2023-11-29 16:55:15 · 2714 阅读 · 0 评论 -
flutter iOS 屏蔽黑暗模式
黑暗模式原创 2022-12-23 22:18:45 · 439 阅读 · 0 评论 -
iOS 关于iTMSTransporter上传IPA报错问题
App Store,IPA,iTMSTransporter原创 2022-11-17 17:32:20 · 1894 阅读 · 0 评论 -
iOS 按锁屏后重新打开APP直接退到后台问题
iOS配置问题原创 2022-09-20 15:15:03 · 836 阅读 · 0 评论 -
iOS基础介绍(二)
iOS基础原创 2022-09-19 11:15:53 · 2088 阅读 · 2 评论 -
iOS基础介绍(一)
IOS目录介绍原创 2022-08-14 16:24:42 · 1463 阅读 · 0 评论 -
iOS Profile is missing the required UUID property.
iOS证书配置原创 2022-08-04 12:11:52 · 844 阅读 · 0 评论 -
iOS Xcode打包一直要输入用户名密码
前言在用Xcode打包的时候一直弹窗输入用户名密码,而且输入十几次都在弹窗,如图所示:这样的原因是因为添加证书的时候默认是添加到系统里面造成的!解决方法:1、打开钥匙串,默认系统的选项是锁住的,我们打开系统这个锁,如果所示:2、选择秘钥,然后选中你证书的秘钥------右键显示简介--------如图弹窗----点到访问控制--------选择----运行所有应用程序访问此项目------存储更改3、按照上面两步去设置即可,后续打包不需要再重复属于用户名密码!END....原创 2022-05-06 14:51:17 · 3165 阅读 · 0 评论 -
iOS模拟器运行报错Unable to install /xxx/build/ios/iphonesimulator/Runner.app
前言最近在做项目用模拟器运行,清理缓存后发现模拟器运行不起来了,报错如下:Unable to install /xxx/build/ios/iphonesimulator/Runner.app on 8E36D100-45F6-4CC7-8DA2-1F6EB4FBAC11. This is sometimes caused by a malformed plist file:ProcessException: Process exited abnormally:An error was encoun原创 2022-03-24 09:34:43 · 5158 阅读 · 0 评论 -
iOS 关于CUICatalog: Invalid asset name supplied:‘‘问题
前言最近维护项目时发现控制台有许多的警告输出:[framework] CUICatalog: Invalid asset name supplied: ''一、第一种方法1、添加断点截取图片为空2、添加参数[UIImage imageNamed:][(NSString *)$arg3 length] == 03、效果如下二、第二种方法1、创建UIImage的分类2、利用runtime交换方法,代码如下#import "UIImage+NilImage.h"#impo原创 2022-02-10 17:03:31 · 4715 阅读 · 0 评论 -
iOS 算法(一)--插入排序
前言插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排序好的有序表中,从一个新的、记录增数的有效序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行一点。二、排序写法1、C语言:int main(int argc, const char * argv[]){ int array[] = {49,38, 65, 97, 76,原创 2021-12-17 11:33:50 · 1371 阅读 · 0 评论 -
Mac安装Android studio以及配置Flutter不显示New Flutter Project...问题
前言最近在配置Flutter环境的时候发现一个奇怪的问题,安装安装Flutter文档去安装以及下载Android studio配置Flutter,结果不显示New Flutter Project…但是Flutter doctor是正常的!!!然后就百度各种说法,比如:Android studio 解决不显示 New Flutter Project…还有比如:https://www.jianshu.com/p/ebaf065d7b1c还有重启大法都尝试过,但是没有效果一、解决方法将之前安装的原创 2021-12-14 10:11:06 · 824 阅读 · 0 评论 -
iOS、Swift中tableview-section圆角边框方案总结
前言APP中难免会有列表圆角边框的需求,比如如下:先附上git链接在网上搜有这样的:tableView-section圆角边框解决方案也有这样的:tableView的section圆角边框但是都不符合要求,下面附上关键代码:一、OC版本:- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{原创 2021-12-09 16:19:17 · 3572 阅读 · 0 评论 -
Swift 根据固定宽度计算UILabel的显示行数--boundingRect计算不准问题
前言在日常开发当中总免不了计算label的高度以及显示行数,下面分享一下Swift的写法。一、行数1、为UILabel创建一个扩展处理UILabel+FormattedTextextension UILabel { //计算label的行数 func getRealLabelTextLines() -> Int { guard let labelText = text else { return 0 } //计原创 2021-12-02 15:53:55 · 2907 阅读 · 0 评论 -
iOS Mac设置代理以及忽略部分IP代理
前言在iOS开发中有时候需要用到代理,但是Mac中代理是如何设置的呢?还有设置代理后发现公司内网及部分网络无法使用,又怎样解决呢?一、设置代理1、在电脑右上角上找到网络图标------点击网络偏好设置2、在网络中点击高级,我用的是网线,如果用WiFi也是一样的3、设置代理(1)选择代理(2)勾选网络代理HTTP和HTTPS(3)设置你的代理域名以及端口号,如果是需要密码填写密码(4)==二、忽略部分IP代理1、如上图所示第四步,在忽略这些主机与域的代理设置选项中填写*.loca原创 2021-12-02 09:59:33 · 7964 阅读 · 0 评论 -
iOS 关于‘openURL‘ was deprecated in iOS 10.0警告
前言最近在做项目整体优化,发现项目中很多关于openURL的警告,在这里记录一下,希望帮助到你。一、消除警告方法1、方法一 if let url = onenURL{ if #available(iOS 10, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { UIApplication.shared.openURL(url)原创 2021-12-01 15:01:55 · 5073 阅读 · 0 评论 -
iOS Falied to save Pods.xcodeproj问题
前言在iOS开发总免不了使用Git多人协调开发,有时候在拉取代码使用pod install的时候会弹出如下:这时候很多人会束手无策,如果现在Keep Xcode Version可能运行会报错。正确的答案是选择:Read From Disk如果你选到了Keep Xcode Version运行错误,那么可以再次执行pod install终端命令,会再次弹出让你选择。ps:现在还不知道什么原因引起的,如有朋友知道请告知,谢谢。END....原创 2021-11-30 09:40:27 · 5974 阅读 · 0 评论 -
iOS开发之弱网测试
前言有时候我们需要对APP进行捉包、弱网测试等等,相信大家对弱网测试并不陌生,下面记录一下。一、捉包分享之前写个的两篇文章:抓包工具Charles下载以及简单使用iOS Charles捉取正式环境上的数据二、弱网测试1、当你的手机连接过Xcode运行过项目后在----设置界面里有开发者这个选项:2、打开开发者-------Network Link Conditioner------界面如下:3、Enable为开启状态-----------选择底部的网络选项即可4、当然可以自定义---原创 2021-11-29 18:04:32 · 2692 阅读 · 0 评论 -
iOS 开启静音键时APP播放视频没有声音
前言按照正常思路来说,开启静音键,播放视频也应该没有声音。关闭静音键,视频有声音,这才是正常思维,所以很多第三方框架也是这样的。但是产品要求用户静音键开启,播放视频也需要有声音,好吧,只能硬头皮实现。一、OC实现方法 //后台播放 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error原创 2021-11-25 15:18:24 · 5493 阅读 · 0 评论 -
iOS 2021启动页尺寸,icon图标尺寸,上架预览图片尺寸总结
前言有时候开发总免不了和UI打交道拿到启动页,icon图标,这时候他们总是要问你尺寸大小是多少?下面总结一下,下次再问就直接给文章给他们自己看。一、启动页苹果官方文档直接叫别人看文档似乎不太好,内容太多捉不到重点,我们从Xcode可以看到常用的尺寸:只有添加LaunchImage然后在右边选择即可APP启动页尺寸640 x 960640 x 1136750 x 13341242 x 22081125 × 24362688×12421792×828直接复制给UI同事即可。二、原创 2021-11-23 17:00:52 · 9075 阅读 · 0 评论 -
iOS WKWebView中编辑隐藏AccessoryView(完成工具栏)
前言在原生中隐藏AccessoryView是很简单的,只是一句代码便可以隐藏:self.textView.inputView = nil一、隐藏H5里面的AccessoryView代码如下,创建WKWebView的分类,.h文件:@interface WKWebView (AccessoryHiding)@property (nonatomic, assign) BOOL hackishlyHidesInputAccessoryView;@end.m文件#import "WKWebVi原创 2021-11-23 09:00:21 · 712 阅读 · 0 评论 -
iOS 广告标识符IDFA不弹窗问题以及弹窗逻辑解决方案
前言在做项目过程中总免不了苹果隐私这个问题,广告标识符便是其中的一个让人琢磨的事情。一、IDFA代码实现1、也许你在项目中一直在info.plist里设置权限申请:<key>NSUserTrackingUsageDescription</key><string>此标识符将用于向您推荐个性化广告。</string>这个描述可能被拒,建议说明得详细点如:请放心,开启权限不会获取您在其他站点的隐私信息,该权限仅用于标识设备、第三方广告、并保障服务安全原创 2021-11-22 10:09:49 · 7454 阅读 · 0 评论 -
swift Kingfisher更新SDK针对downloadImage方法改变
前言今天把Kingfisher从5.13.2更新到6.3.0版本,发现使用下载图片的方法发生了改变,在此记录一下。一、原来方法ImageDownloader.default.downloadImage(with: URL(string: imageStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!) { image, error, url, data in if let image原创 2021-11-04 14:33:32 · 1884 阅读 · 0 评论 -
iOS 上传ipa包成功找不到ITMS-90338: Non-public API usage
前言最近上传公司项目的IPA包,打包上传一切正常,但是上传后在开发者中心找不到上传的包,并且收到苹果反馈的邮件。Dear Developer,We identified one or more issues with a recent delivery for your app, "XXXX, Hot topics, Videos" 1.0.0 (1). Please correct the following issues, then upload again.ITMS-90338: Non-原创 2021-10-29 11:44:48 · 1600 阅读 · 0 评论 -
iOS Firebase关闭控制台日志打印
前言最近使用Firebase集成分析统计,发现控制台打印了很多日志,验证影响开发时看控制台的数据。1、打开控制台日志1、在Xcode里Product—>Scheme—>Edit Scheme—>Run—>Arguments中加入配置-FIRDebugEnabled-FIRAnalyticsDebugEnabled2、关闭控制台日志-FIRDebugDisabled-FIRAnalyticsDebugDisabledEND....原创 2021-10-28 17:01:01 · 2819 阅读 · 0 评论 -
iOS 关于:79 duplicate symbols for architecture arm64
前言最近接入TopOn发现一个错误: /Users/mxmac/Documents/xxx/Pods/AnyThinkiOS/AnyThinkiOS/AnyThinkSDK.framework/AnyThinkSDK(ATGCDAsyncSocket-94374ed5f085246f2b8c1f0c72a237cf.o) /Users/mxmac/Documents/xxx/Pods/AnyThinkiOS/AnyThinkiOS/AnyThinkSDK.framework/AnyThinkSD原创 2021-10-19 11:08:32 · 511 阅读 · 0 评论 -
iOS Multiple commands produce xxx错误
错误信息:Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-baoucybbxtwjnqfxscazvencqxzt/Build/Products/Test-iphoneos/xxx.app/LICENSE':1) Target 'xxx' (project 'xxx') has copy command from '/Users/xxx/Desktop/xxx/xxx/Vendor/BMPlaye原创 2021-10-15 15:57:47 · 3144 阅读 · 0 评论 -
iOS 如何利用Xcode对真机上面的网页WebView进行简单调试
前言有时候与H5联调的时候需要看H5界面元素,这就需要开启模拟器和真机联调功能1、点击 Safari浏览器》偏好设置》高级》在菜单栏显示“开发”菜单。2、打开模拟器或者真机设置》Safari浏览器》高级》web (Inspector)检查器...原创 2021-10-15 11:36:28 · 3168 阅读 · 0 评论 -
iOS Mac安装ipa文件的几种方法
前言之前公司是利用蒲公英来分发测试包给测试人员测试的,后面不知道什么原因蒲公英不能用了,下面总结一下几种可以安装ipa的工具与方法。一、蒲公英蒲公英是用得很顺手的:蒲公英二、iTunes苹果自带的软件,下载链接,但是提示:本更新要求 macOS v10.13.99 或更低版本。参考iTunes的应用程序用不了三、爱思助手亲测有用下载链接爱思助手使用指南四、Apple Configurator 2暂未亲试,大家用了可以反馈一下参考地址END....原创 2021-10-12 14:23:27 · 26081 阅读 · 0 评论 -
swift 5.0打印字体和设置字体的一些问题
前言项目中可能用不同的字体,如果又支持国际化,不同语言设置不同字体。获取字体名字: func showAllFonts(){ let familyNames = UIFont.familyNames var index:Int = 0 for familyName in familyNames { let fontNames = UIFont.fontNames(原创 2021-10-12 12:49:58 · 582 阅读 · 0 评论 -
Swift动态调试工具 InjectionIII 使用
前言injectioniii可以让我们写的代码无需重启,保存即可刷新界面,方便的动态调试工具。但是只能在模拟器的情况下使用,真机调试是用不了的。下载地址或者直接在App Store里搜索injectioniii,下载后如图所示,打开在Mac上部工具类会有这样一个图标:使用1、Swift环境下使用: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIAp原创 2021-10-12 11:34:32 · 692 阅读 · 0 评论 -
iOS Firebase如何上传.dSYM包
前言最近使用Firebase统计国外APP闪退情况,上传流程:1、Xcode—>Window–>Archives–>找到需要上传的版本2、右键–>show in Finder -->右键–>显示包内容3、找到dSYMs目录下的.dSYM文件压缩成.zip文件4、打开终端–>设置代理–>执行下面命令:/xxx项目路径xxx/Pods/FirebaseCrashlytics/upload-symbols -gsp /xxx项目路径xxx/GoogleS原创 2021-09-29 10:15:11 · 2120 阅读 · 0 评论 -
iOS 关于iOS12.2WKWebView加载网页滚动卡顿问题
前言测试反馈说网页展示在iOS12.2版本上滑动卡顿问题,检查其他机型没有问题,还以为要适配苹果版本,找了半天没有找到原因。最后直接加载一个baidu.com发现很流畅。定位是H5的问题解决方案:-webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */-webkit-overflow-scrolling: auto; /* 当手指从触摸屏上移开,滚动会立即停止 */链接地址完美解决!END....原创 2021-09-28 18:32:07 · 1760 阅读 · 0 评论 -
iOS Charles捉取正式环境上的数据
1、电脑证书信任,Mac安装Charles证书:在Charles中找到help->SSL Proxying->install Charles Root Certificate在Mac中找到钥匙串搜索找到Charles Proxy CA这个证书,信任它2、手机证书信任,手机安装Charles证书:在Charles中找到help->SSL Proxying->install Charles Root Certificate on a Mobile Device or Rem原创 2021-09-15 09:25:00 · 4696 阅读 · 0 评论 -
iOS关于TestFlight的使用
1、使用苹果手机在App Store搜索并下载TestFlight APP2、告知开发者自己苹果手机的账号邮箱3、登录自己邮箱查看兑换码–找到TestFlight邀请邮件–点击View in TestFlight–拿到兑换码,如图兑换码为黑色字符4、复制兑换码到TestFlightAPP,点击右上角兑换按钮,并输入兑换码点击确定即可获得到APP测试版5、点击安装即可测试我们的APPEND....原创 2021-09-13 18:01:46 · 8656 阅读 · 10 评论 -
iOS 关于使用bugly接入 SDK 后崩溃没有上报问题
前言:新接手的老项目,领导返回bugly没有收集到日志,原来是项目中也接入了Firebase的SDK导致的。 # Add the pod for Firebase Crashlyticspod 'Firebase/Crashlytics'解决方法:因为Firebase是需要翻墙使用的,那么就可以判断在国内或者测试环境使用bugly,其他环境使用Firebase就可以了。END....原创 2021-09-07 11:37:17 · 1523 阅读 · 0 评论