iOS
iOS开发
feiyue0823
学无止境
展开
-
M2 Mac Xcode编译报错 ‘***.framework/‘ for architecture arm64
1、在 Build Settings 里面先设置EXCLUDED_ARCHS,设置Any iOS Simulator SDK = arm64。2、在 User-Defind 下面添加EXLUDED_ARCHS,设置arm64。3、在 Podfile 文件中添加一下代码。重新 pod installer。这是我当时编译模拟器时报的错。原创 2023-11-18 22:06:04 · 2157 阅读 · 0 评论 -
iOS Runloop面试小笔记
Runloop 与线程有什么关系?为什么只有主线程的 Runloop 是开启的?PerformSelector 和 Runloop的关系?原创 2022-02-21 18:31:55 · 2052 阅读 · 0 评论 -
iOS GCD 小笔记
Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并发任务。原创 2022-01-20 14:46:29 · 2058 阅读 · 0 评论 -
iOS App转让流程
首页要转账的App已经通过审核,并且上架。原创 2021-05-31 16:36:01 · 429 阅读 · 0 评论 -
Guideline 1.2 - Safety - User Generated Content 审核通过
这段时间用Flutter开发了一款电商App,就在今天顺利通过审核。分享一下整个过程。第一次审核被拒原文:Guideline 1.2 - Safety - User Generated ContentWe found in our review that your app includes user-generated content but does not have all the required precautions. Apps with user-generated content原创 2021-05-10 11:47:02 · 5700 阅读 · 0 评论 -
Swift 柯里化 Target-Action设计模式
柯里化(Currying)Swift里可以将方法进行 柯里化(Currying),就是把接受多个参数的方法进行一些变形,使其更加灵活的方法。柯里化是一种量产相似方法的好办法,可以通过柯里化一个方法模版来避免写出很多重复代码,也方便了今后维护。举个栗子,下面的函数简单的将输入的数字加1:func addOne(num: Int) -> Int { return num + 1} let result = addOne(num: 1)这个函数所表达的内容非常有限,另一个加数是固定数。那原创 2020-07-11 16:42:12 · 399 阅读 · 0 评论 -
iOS 内购详解-代码篇
内购项目-代码篇一、分步骤说明1、获取商品列表2、苹果服务器返回的可购买商品3、下单购买商品4、购买队列状态变化,判断购买状态是否成功5、交易验证6、拿到的收据信息是,此App所有购买的记录7、恢复商品二、详细代码三、内购项目-App Store Connect 详解篇祝您好运~一、分步骤说明1、获取商品列表由于苹果服务器返回很慢,并且一般我们都会有一个自己的商店界面,就不必向苹果服务器去请求商品列表了。购买时传要购买商品的ID(在App Store Connect 创建的产品ID)就可以了。//原创 2020-07-04 16:29:34 · 4139 阅读 · 3 评论 -
iOS App Store Connect 内购详解
内购流程一、协议、税务和银行业务二、App内购买项目三、添加沙箱测试人员四、创建内购买项目证书五、代码部分后续完善一、协议、税务和银行业务1、登录App Store Connect2、进入协议、税务和银行业务会有两条协议,付费App需先签署《付费应用程序协议》,同意后状态变更为“用户信息待处理”。3、那我们需要进入付费App协议设置税务、银行业务和联系信息。4、添加银行帐户,按照要求填写相关内容即可5、选择报税表,国内的话其他项就不必勾选了。6、填写美国报税表,看个人情况,在这咱只说原创 2020-06-19 00:04:31 · 5890 阅读 · 4 评论 -
iOS 13 UIToolbar 自定义报布局错误
忙开发新功能,一直忽略了一些后台警告。今日针对一些警告做一些处理吧!给键盘加一个自定义UIToolbar,当创建的时候,报错约束冲突了。上代码/** 创建键盘上边完成按钮 @return UIToolbar */-(UIToolbar *)createKeyboardBar { if (self.actionBar == nil) { se...原创 2020-03-26 19:57:44 · 743 阅读 · 0 评论 -
iOS UILabel 单词自动换行
废话不多说,上图上代码,举例说明!// 显示文案NSString *content = @"非常优秀,性格随和开朗大方,待人友好,为人诚实谦虚,beautiful,工作勤奋,认真负责,能吃苦耐劳,尽职尽责,有耐心";// 计算文案高度 CGRect rect = [content boundingRectWithSize:CGSizeMake(SCREEN_WIDTH-40, MAX...原创 2020-03-13 22:54:59 · 2656 阅读 · 0 评论 -
iOS 应用剖析-目录结构
乙亥末,庚子春,荆楚大疫,染着数万。众惶恐,皆闭户,街无车舟,万巷空寂。举国防,南山抵守江南郡,率白衣军众数万,然九州一心,政医兵者扛鼎逆行,为之勇战矣,能者皆竭力,月余疫尽去,华等初上,万国赞,此为大幸!原创 2020-02-10 22:10:15 · 1111 阅读 · 0 评论 -
iOS library not found for -lstdc++.6.0.9 libwebp->0.6.1
每次Xcode更新都要报这个错,每次解决办法就是把那几个文件复制到Xcode文件里,也不知道是哪个第三方引用了这个库,也懒的去一个一个去排查。今天一时兴起,那就大概排查一下吧,顺便把没用的三方库都整理一下吧。果然逮住一个libwebp->0.6.1,这货更新时还挺费劲的。之前怎么就没早干掉它呢,现在也没有加载webp格式图片的需求。以下是复制lstdc++库到xcode的解...原创 2019-12-11 15:56:21 · 287 阅读 · 0 评论 -
IOS Error Domain=NSURLErrorDomain Code=-999 "(null)"
Printing description of error: Error Domain=NSURLErrorDomain Code=-999 "(null)" 出现错误的原因是因为webview在之前的请求还没有加载完成,下一个请求开始发起了,因此webview会取消掉之前的请求,便会回调到didFailLoadWithError。- (void)webView:(UIWebView *)原创 2017-02-28 16:51:22 · 4917 阅读 · 0 评论 -
iOS 审核被拒绝3.2.1 没有金融许可证
今年金融行业不好做,p2p暴雷好多家,上半年Android应用市场整顿金融类应用,在华为应用市场被误认为p2p应用而下架,经过上诉上传资质证明得而重新上架,各个应用商店平台陆续需要资质证明。最近应用在苹果商店审核被拒绝,同样也是因为金融类资质的问题。以下为苹果拒绝原文Guideline 3.2.1 - Business - Other Business Model Issues - Accep...原创 2018-10-10 22:18:53 · 3074 阅读 · 2 评论 -
iOS 查找子字符串在父字符串中的所有位置
/** 改变UILabel部分字符颜色 */- (void)setContentLabelColor { NSString *content = @"2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n...原创 2018-08-27 16:12:13 · 6722 阅读 · 2 评论 -
IOS 导航栏样式
1、导航栏下方横线隐藏或其他显示效果。UIImageView *navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];navBarHairlineImageView.hidden = YES;- (UIImageView *)findHairl...原创 2018-07-24 16:16:57 · 657 阅读 · 0 评论 -
IOS GET POST 同步 异步请求
iOS SDK为HTTP请求提供了同步和异步请求这两种不同的API,而且可以使用GET或POST等请求方法。下边主要编写了常用到的GET和POST方法。同步请求的用户体验不是很好,因此很多情况下我们会采用异步调用。而异步请求会使用NSURLConnection委托协议NSURLConnectionDataDelegate。在请求的不同阶段,会回调委托对象的不同方法。iOS 9.0已弃用[NSURL...原创 2018-04-22 23:19:20 · 1037 阅读 · 0 评论 -
UITableVIew UICollectionView reloadData 结束后执行layoutIfNeeded
执行一些方法但是需要在reloadData结束后执行,那么可以在reloadData后边写上layoutIfNeeded,再在后边写想要执行的方法。[self.mCollectionView reloadData]; [self.mCollectionView layoutIfNeeded];原创 2017-12-13 16:05:16 · 4269 阅读 · 0 评论 -
IOS 从app store下载运行ios9.3以下的系统就崩溃
终于有时间写博客了,讲述一下前段时间遇到的坑,自己挖的坑。版本发布上线后,客户反馈app运行闪退。测试没问题呀,于是我上友盟查问题,哇塞,崩溃概率好高,ios9.3以下版本会奔溃。友盟反馈以下错误提示,完全不知道问题出在哪里。Application received signal SIGTRAP那就找来一部ios9.2的手机连机调试吧,装上跑起来没问题呀。既然debug原创 2017-06-09 12:08:47 · 4938 阅读 · 0 评论 -
IOS 添加xib自定义view
突然发现用之前的方法添加xib自定义的view,显示上有问题,如下图,添加的view宽度上存在问题。1、这是创建的xib自定义的view2、关联脚本3、在UIViewController里加载nib,添加view- (void)viewDidLoad { [super viewDidLoad]; // Do any addit原创 2017-03-21 17:13:13 · 2906 阅读 · 0 评论 -
iOS KVO机制的基本使用及实现原理
在Cocoa Touch框架中,观察者模式的具体应用有两个:通知(Notification)机制和KVO(Key-Value-Observing)机制。KVO不同于通知机制那样通过一个NSNotificationCenter通知所有观察者对象,而是在对象属性发生变化时通知会被直接发送给观察者对象,也可以手动模式,没有改变仍可调用一、KVO基本使用使用KVO分三个步骤:1、通过add...原创 2019-01-20 19:16:31 · 550 阅读 · 0 评论 -
iOS UIScrollView嵌套多个UITableView
经常会遇到嵌套多个TableView的需求。以下是我最初的想法,但是不灵活,有局限。存在的问题,如果底部分类数据为空时,不显示底部的视图,滑动逻辑则需变动。布局分析:效果如下:ScrollView可同时执行多种手势@implementation FLYBaseScrollView- (BOOL)gestureRecognizer:(UIGestureRecog...原创 2019-03-12 00:03:44 · 4137 阅读 · 0 评论 -
获取UIImage像素数据
- (unsigned char *)getImageData:(UIImage*)imageCGImageRef imageref = [image CGImage]; CGColorSpaceRef colorspace=CGColorSpaceCreateDeviceRGB(); int width=CGImageGetWidth(imageref)原创 2014-11-19 15:49:12 · 4437 阅读 · 0 评论 -
Swift5 随机数字母和数字混合
//随机数字母和数字 func getRandomStringWithNum(num:Int) -> String { var string = "" var i = 0 while i<num { i+=1 let number = arc4random() % 36 ...原创 2019-08-29 11:18:54 · 853 阅读 · 0 评论 -
Swift5 Alamofire5.0 二次封装
使用Objective-C开发的应该非常熟悉AFNetworking这个网络框架。在Swift诞生之后,AFNetworking的作者用Swift来编写一个类似AFNetworking的网络框架,那就是Alamofire!->github.一直使用Objective-C开发,我来尝试下用Swift进行开发,首先从网络框架入手,对Alamofire进行二次封装。目前Alamofire的最新...原创 2019-08-29 11:12:42 · 8742 阅读 · 2 评论 -
iOS AVPlayerItem 暂停播放同时也暂停缓冲加载
在做视频列表的时候,暂停播放了,但是缓冲还是会继续加载。断续播放了好几个视频,就照成了不必要的流量消耗。最好的体验应该是暂停播放的同时也暂停缓冲加载,或者播放下一个视频的时候,暂停上一个视频的缓冲加载。官方文档https://developer.apple.com/documentation/avfoundation/avplayeritem/1388752-canusenetworkreso...原创 2019-08-12 17:21:04 · 8882 阅读 · 3 评论 -
Swift5 字典转JSON
字典转JSONfunc convertDictionaryToJSONString(dict:NSDictionary?)->String { let data = try? JSONSerialization.data(withJSONObject: dict!, options: JSONSerialization.WritingOptions.init(rawValue: 0))...原创 2019-08-19 16:35:26 · 7578 阅读 · 0 评论 -
iOS 九宫格抽奖(弱鸡)
明天就是七夕了,破费的节日哈,多少要套路一下嘛。今天刷某音看到一个用excel做的随机选中礼物,应该是手动操作吧,哈哈~看了以后突然想动手简单实现一个抽奖,闲来无事那就干吧!!!一、先设计单块奖品视图一个方块随机背景色,上面放个奖品名称,选中时加个边框,加个透明度。@interface FLYPrizeView : UIView@property (nonatomic, strong...原创 2019-08-06 23:36:30 · 1684 阅读 · 0 评论 -
iOS UICollectionView was deallocated while key value observers were still registered with it
遇到一个问题,在iOS 9.3下报错UMengAnalytics<5.5.0>(Debug):[UMANError:62]UMAnalytics error:session_id=D61281EBB2DFE57A53CA9C373D4A904E, context=An instance 0x134af8800 of class UICollectionView was deallo...原创 2019-06-04 17:57:13 · 2117 阅读 · 0 评论 -
iOS UIBarButtonItem间距、title点击大小改变
UIBarButtonItem的使用一、initWithTitle 字体大小、颜色 UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"说明" style:UIBarButtonItemStylePlain target:self action:@selector(onRightButtonClick)...原创 2019-04-23 22:46:55 · 2495 阅读 · 0 评论 -
IOS 开启关闭右滑手势返回
//// ViewController.m////// Created by Fly on 16/5/2.// Copyright © 2016年 mac. All rights reserved.// 右滑返回@interface YBRLoginViewController : UIViewController@end@implementation ViewCo原创 2016-05-02 10:23:24 · 7093 阅读 · 0 评论 -
IOS 某界面设为横屏
UIViewController *vc = [[UIViewController alloc] init];[selfpresentViewController:vcanimated:YEScompletion:nil];横屏界面重写方法- (BOOL)shouldAutorotate { returnNO;}原创 2016-12-15 17:32:22 · 482 阅读 · 0 评论 -
iOS 学习开发网站
这里罗列了一些不同的网站,教你如何创建用户界面和伟大的应用程序以及App Store的开发。这些教程中的大部分是完全免费的。1)Apple Learning Objective C2)Design then Code3)Mobile Tutsplus4) Team Tree Ho转载 2015-03-13 17:59:22 · 451 阅读 · 0 评论 -
iphone ipad 获取wifi信息 BSSID SSID
首先,app如果要上app store是没有办法获取wifi列表的~ 这些WIFI扫描软件使用了苹果的私有函数apple80211.framework 尽管不能合法(指能通过App Store的审核)的获取WIFI列表, 不过我们还是可以获取到当前Wifi连接的信息,比如SSID. BSSIDSSID全称Service Set IDentifier, 即Wifi网络的公开名原创 2013-09-05 15:20:08 · 13034 阅读 · 0 评论 -
IOS 各种截屏方法及保存图片
-(void)fullScreenshots{ UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContext(screenWindow.frame.size); //全屏截图,包括window [screenWindow.lay原创 2014-11-25 11:11:57 · 2247 阅读 · 0 评论 -
IOS 代码运行时间差
//计算代码段所用时间NSDate* tmpStartData = [[NSDate date] retain];/*( 要计算的代码段 )*///计算代码段所用时间double deltaTime = [[NSDate date] timeIntervalSinceDate:tmpStartData];//计算出来的时间是毫秒级的.NSLog(@"原创 2014-12-01 17:55:46 · 1234 阅读 · 0 评论 -
IOS Camera captureOutput buffer
//// Camera.h// VideoPlayback//// Created by Mac on 14-10-31.// Copyright (c) 2014年 fly. All rights reserved.//#import #import @interface Camera : NSObject { AVCaptureDevice *avCap原创 2014-11-07 10:04:57 · 2434 阅读 · 0 评论 -
IOS 改变图片
-(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size{ UIGraphicsBeginImageContext(size); //size 为CGSize类型,即你所需要的图片尺寸 [image drawInRect:CGRectMake(0, 0, size.width, size原创 2014-11-05 16:15:19 · 593 阅读 · 0 评论 -
上传数据
-(void)sendImageMessage:(GLubyte *)pixels{ Byte * content; NSData *Graydata = [NSDatadataWithBytes:pixels length:76800]; NSData *data01 = [NSDatadataWithBytes:content length:原创 2014-11-25 14:36:59 · 595 阅读 · 0 评论 -
Itunes connect Safari上传截图无反应
选原创 2014-10-10 17:12:16 · 1441 阅读 · 0 评论