iOS
星三火
请给我让经济。
展开
-
iOS runtime获取所以方法列表和成员变量
#import "NSObject+runtime.h"#import <objc/runtime.h>@implementation NSObject (runtime)/* 获取对象的所有属性 */+(NSArray *)getAllProperties { u_int count; objc_property_t *properties =class_copyPropertyList([self class], &count); NSMuta..原创 2020-07-10 20:05:30 · 676 阅读 · 0 评论 -
iOS 使用AVAudioSession实时录制音频文件(PCM -」 本地.wav文件)
//// AudioRecordManager.h// Demo//// Created by tao on 2020/7/8.// Copyright © 2020 idst. All rights reserved.//#import <Foundation/Foundation.h>#import <AVFoundation/AVFoundation.h>@protocol AudioRecorderManagerDelegate <NSO.原创 2020-07-08 21:38:32 · 2347 阅读 · 0 评论 -
iPhone X及iOS11适配指南
首先说一下iOS11系统://可进行系统版本判断@available(iOS11.0, *)1.tableView的self-sizing属性注意这里有一个巨大的坑,调了一下午才发现这个问题iOS11的tableView默认开启self-sizing,这个东西不仅仅是自适应行高、分区头(尾),还影响contentOffset以及contentSize,如果所有的cell没有被完...原创 2017-11-27 13:00:49 · 812 阅读 · 0 评论 -
iOS App Singer 重签名工具的使用简介
1、工具下载地址 : http://dantheman827.github.io/ios-app-signer/2、软件打开的界面如下所示3、支持的重签名文件类型有 appName.app appName.xcarchive appName.ipa4、通过Xcode->Product->Archive 打包之后,show in finder 就是.xcar...原创 2017-12-08 12:44:51 · 11494 阅读 · 2 评论 -
iOS在应用内显示App的详情以及评分内容
在应用内打开某一个应用的下载详情页以及评分评论内容,区别于另外一种通过跳转到App Store打开详情页的方式。可以看看下面两种方式打开内容的区别: 下面是在应用内打开的代码部分,很简单,导入StoreKit头文件,创建SKStoreProductViewController对象并设置代理,遵守协议并实现协议方法,设置load参数即可。这个不...原创 2017-11-30 12:35:30 · 2061 阅读 · 0 评论 -
Apple Watch开发和数据传输(二)
Apple Watch界面开发:在WatchKit App目录下的interface.stroryboard中绘制界面,不支持纯代码绘制界面,所以无法动态添加控件,但是可以设置隐藏。约束设置与手机app有所差异,尽量多使用Group(线性排列,可设置居左、居中、居右)达到适配的目的。网上这种东西的写的比较多,所以下面只说几个需要注意的点:一、修改表盘背景颜色:二、添加多原创 2017-11-29 14:43:25 · 931 阅读 · 1 评论 -
Apple Watch开发和数据传输(三)
关于Apple Watch与手机App之间的通信,代码部分大致一致。不同之处就在于手表端可以唤醒在后台运行的手机app,然后反过来却不能。下面对比一下两端的代码:对比可以看出代码内容差异不大,需要注意的点就是:1.手机端代码执行需要前置条件,比如是否支持session传输,App Watch是否安装App,是否配对成功,是否处于 Reachabl原创 2017-11-29 16:11:47 · 2300 阅读 · 0 评论 -
Apple Watch开发和数据传输(一)
Apple Watch应用不能独立在手表上使用,必须和手机App配套使用。所以一般在开发手表应用的时候,都必须有与之对应的手机端应用。一、构建一个Apple Watch 应用 创建完成的项目包含三个target,分别是手机应用代码,手表端界面代码和手表端业务逻辑代码 项目目录大致如下:二、向已有项目添加Apple Watch应用Xcod原创 2017-11-29 14:12:16 · 1491 阅读 · 0 评论 -
native与js交互(基于WKWebView)
1. 创建webView,遵守协议WKScriptMessageHandlerWKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];//注入js代码 在html中可以直接调用NSString *js = @"function showAlertA() { alert('在载入webv...原创 2017-10-27 18:11:16 · 1071 阅读 · 0 评论 -
通过cocoapods引入的组件,怎么导入自己的.h文件(已解决)
使用cocoapods导入第三方方便快捷,但是如果我们想引入一个自定义的视图或者类怎么办?可行的方法是:1.找到该库所在目录,创建一个.h文件,用来声明这个类和公共方法,然后在该库的其他地方就可以使用。2.在自己的代码目录下,相应的创建一个.m文件并实现相应的方法和功能。3.编译运行,成功!不过有个问题就是: cocoapods更新该库的时候(pod update)会覆盖...原创 2017-12-27 13:43:14 · 2421 阅读 · 0 评论 -
使用UIImagePickerController不显示中文问题
在调用系统的UIImagePickerController访问相册或者拍照的时候,有可能是英文的,解决办法是使用国际化开发。1.command + n 新建一个文件,Resource一栏选择Strings File,命名为Localizable,点击完成后生成Localizable.strings文件2.选择PROJECT => info =>Localizations...原创 2018-01-09 10:37:35 · 910 阅读 · 0 评论 -
Xcode 真机测试报错:Command /usr/bin/codesign failed with exit code 1
证书配置出现匹配错误一般都是把证书啥的彻底删除,再重新导入就能解决问题。1. 打开Xcode, comand + , 将Account中账号删除2.退出Xcode, 前往 ~/Library/Developer/Xcode/DerivedData 和~/Library/MobileDevice/Provisioning Profiles 目录,将目录下的东西全部删除3.打开钥匙...原创 2018-03-29 10:19:17 · 2897 阅读 · 0 评论 -
Jenkins集成iOS自动化打包(GitLab + xcodebuild + xcrun + ftp)
参考链接iOS持续集成:Jenkins+GitLab+蒲公英 讲了几种自动化打包的配置方式、很详细!下面主要是针对使用xcodebuild + xcrun编写脚本配置的方式做一个踩坑记录,我就是用的这个。一、在全局配置中选择Keychains and Provisioning Profiles Management二、进入到创建的项目下(1)源码管理(2)构建触发器+构建环境(3)构建(4)构建...原创 2018-04-20 16:08:16 · 1122 阅读 · 0 评论 -
ios 调用私有方法的几种方式
// 获取实例方法- (void)getMethods{ int outCount = 0; Person *p = [Person new]; Method *methods = class_copyMethodList([p class], &outCount); for (int i = 0; i < outCount; i ++) { ...原创 2018-07-26 18:02:07 · 6026 阅读 · 0 评论 -
OC项目使用cocoapods导入swift库报错解决办法
OC项目使用cocoapods导入swift库时, 报错为 library not found for -lswiftSwiftOnoneSupport for architecture x86_64:解决办法:在项目中新建至少一个.swift文件 然后编译就可以通过....原创 2018-08-07 12:42:30 · 1545 阅读 · 1 评论 -
iOS组件化-上传组件至CocoaPods
CocoaPods组件,图片加载问题写这篇文章的主要目的是方便自己查阅...如果恰好能够帮到你那就太好了!按照下面的步骤操作后,最终的结果应该是:在任何一个iOS项目中都可以使用CocoaPods安装使用提交的组件库。接下来就以名为“TRectDetector”的组件为例:一、准备代码和资源文件准备需要提交的代码和图片资源,在实际操作中注意2点:1、若提交的代码中引用了其...原创 2019-04-18 16:20:29 · 662 阅读 · 0 评论 -
iOS组件化-本地资源加载问题
组件代码的上传:上传组件至CocoaPods在组件工程的.podspec配置中说到,本地资源加载的配置方式有两种:# 方式一:会自动创建一个.bundle包,将资源放到.bundle下# bundle名称可以自定义,在下面配置s.resource_bundles = { 'TRectDetector' => ['TRectDetector/Assets/resource/*...原创 2019-04-18 18:14:50 · 1257 阅读 · 0 评论 -
WKWebView 获取标题+进度条+常用代理方法以及native兼容处理
1.属性声明@property (copy,nonatomic) NSString *url;@property (copy,nonatomic) NSString *pageTitle;@property (nonatomic, strong) WKWebView *webView;@property (nonatomic , strong) UIProg...原创 2017-10-27 10:11:39 · 2378 阅读 · 0 评论 -
iOS调用系统录制功能
//判断设备是否支持录像功能- (BOOL)isAvailableVideoRecording { if ([UIImagePickerController isSourceTypeAvailable:(UIImagePickerControllerSourceTypeCamera)]) { NSArray *mediaTypes = [UIImagePickerCon...原创 2017-06-14 17:58:12 · 771 阅读 · 0 评论 -
iOS真机测试,Please verify that your device’s clock is properly set...
直接进入正题,解决许多新手真机调试遇到的难题,哈哈,叫我雷锋当你正准备真机来一把的时候,遇到这样的问题是不是会很蛋疼 编译各种没问题,证书设置各种正确,该做的你都做了,可是一运行就懵逼了,咋回事呢?这样一遍又一遍的折磨着你,你是否感到 无可奈何花落去,小荷才露尖尖角?The identity used to sign the executable is no longer va...原创 2016-07-20 17:01:06 · 688 阅读 · 0 评论 -
关于苹果审核,应用需支持IPV6的解决办法
自6月份开始,苹果就要求所有提交appStore的应用必须支持IPV6,如果应用不支持IPV6,那么在应用提交审核的时候,会收到被拒的通知。那么IPV6到底是个什么鬼,为什么现在应用需要支持IPV6了呢?关于这些问题,感兴趣的同学可以去百度一下子,这里,我只是说明一下关于不支持IPV6被拒的解决办法。一般情况下,你只需要把当前的SDK或者第三方框架更新到最新版就没问题了,因为他们的...原创 2016-07-21 13:29:34 · 1097 阅读 · 0 评论 -
UITableViewCell 令人蛋疼的分割线!!!!
你一定会遇到这样的需求:使用UITableView来进行数据的展示,要求有分隔线,并且使分割线顶格。。。。你肯定这么干过这样...tableView.separatorInset = UIEdgeInsetsZero或者这样(终极奥义)...tableView.separatorInset = UIEdgeInsetsZerotableView.layoutMargi...原创 2016-07-20 17:16:09 · 5424 阅读 · 0 评论 -
使用蒲公英SDK的同学注意了!!!
使用蒲公英SDK需要注意了。原创 2016-08-30 15:24:39 · 3836 阅读 · 0 评论 -
关于APP下架的问题
app下架有两种方式,一是直接下架,而是间接的把销售地区改为空,也能达到下架的目的。需要注意的是,即使app下架了,这个app的名称也是不能再被使用的。如果一旦下架,就永久不能再使用了,慎重!!!!上架以后,app的bundle id 是不能进行更换的。但是,可以通过提交新的版本更改应用的名称以及app icon。...原创 2016-08-09 13:59:05 · 2187 阅读 · 0 评论 -
UITableView中奇怪的问题真不少!
1.以前说到,可以设置tableview空白的部分不再显示分割线,self.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; 或者 self.tableFooterView = [UIView new];但最近发现一个问题,如果我们分别设置tableview的头和尾,self.tableHeaderView = self...原创 2016-09-13 11:02:47 · 417 阅读 · 0 评论 -
设置button时出现的问题。
button设置enable有两个状态,可用与不可用。enable为yes的情况下,button允许与用户进行交互,可触发点击事件设置为no的时候为不可点击状态,不允许交互。如果当我们给button设置了新的图片以后,就不允许与用户交互了,也就是设置enable为no,那么如果这么设置图片:[cell.headImageBtn sd_setImageWithURL:[NSURL ...原创 2016-09-02 16:18:06 · 594 阅读 · 0 评论 -
UITableview侧滑删除遇到的问题。
最近新遇到一个问题,感觉莫名其妙,所以今天写下来给大家分享一下。。。情况是这样的,以前我做表格的侧滑删除,是这样做的:- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES;}- (void)tableView:(UIT...原创 2016-08-24 09:36:48 · 3407 阅读 · 0 评论 -
上传itunes connect后提示此构建版本无效///
今天分享一下打包上传appStore时遇到的令人十分崩溃的事情。如题目描述,上传了n次最终都是一样的结果。有图为证!一般遇到问题,总会想到去百度,然后找答案对吧。折腾了几个小时:1.一开始以为网络的问题?重新上传还是失败了。2.后来重启电脑,换了个电脑试试,一样不行。3.mb,难道xcode出bug了?又使用application loader上传,还是一样4.重新...原创 2016-09-23 12:18:52 · 3127 阅读 · 1 评论 -
设置UITextView的时候文字居中显示了?
写了一个textView,怎么居中显示了。其实textView默认是居上显示的,如果加入了导航控制器,你会发现会自动居中了,像这样。。。。原因是textView可以滚动,只要设置导航栏自适应关闭就可以了。self.automaticallyAdjustsScrollViewInsets = NO;设置textView自适应内容的高度CGSize size = [d...原创 2016-09-08 17:45:58 · 4235 阅读 · 2 评论 -
Xcode8无响应/假死状态/点击stop无反应?
将其目录下的 Unsaved Xcode *文件全部删除。重启Xcode!原创 2016-10-21 16:08:33 · 6664 阅读 · 2 评论 -
Xcode 8 这是怎么了,还能不能好好敲代码了
万恶的Xcode AT原创 2016-10-24 12:54:05 · 1166 阅读 · 1 评论 -
ios10 部分app无法连接到网络
部分ios10手机app无法连接网络的解决办法原创 2016-10-27 15:10:20 · 8291 阅读 · 0 评论 -
UITableView实现多选时没有效果/控件背景颜色消失了?
我们队自定义的cell,使用多选功能的时候没有效果?1.检查自己的tableview.editing = yes / tableview.allowMutlpleSelction = yes ,设置为编辑状态,可多选2.查看自己的自定义cell的控件是否加载到了self.contenView上面 如果直接加载在self上是不会有选中效果的3.cell的selectionStyle 不...原创 2016-11-29 20:16:12 · 1675 阅读 · 0 评论 -
设置cell默认选中
1.UITableView多选时设置默认选中几个cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithId...原创 2016-12-05 13:08:31 · 6204 阅读 · 0 评论 -
NSKeyedArchiver本地存储失败?
使用NSKeyedArchiver做本地存储,模拟器上成功,真机写入失败?NSString *homeDictionary = NSHomeDirectory();_filePath = [homeDictionary stringByAppendingPathComponent:@"history.archiver"];BOOL flag = [NSKeyedArchiver arc...原创 2016-11-25 15:02:19 · 1650 阅读 · 0 评论 -
去除导航栏下方的横线
方法一:[self .navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:XBColor_Blue] forBarMetrics:UIBarMetricsDefault] ;[self.navigationController.navigationBar setShadowImage:...原创 2017-05-26 15:06:51 · 1946 阅读 · 0 评论