object-c
文章平均质量分 61
瓦怕落地
e5 a4 a7 e5 ae b6 e5 a5 bd ef bc 8c e5 bc 80 e5 a7 8b e5 ad a6 e4 b9 a0
展开
-
iOS自动化测试KIF使用 jenkins相关配置
一. 配置KIF相关如果创建项目时没有选择test,则需要单独创建Unit Testing Bundle注意:KIF必须使用Unit Testing Bundle否则会报错pod添加KIF,并进行拉取target 'UITestAPP' do target 'UITestAPPTests' do pod 'KIF', :configurations => ['Debug'] endend3. 创建测试文件添加accessibilityLabel原创 2021-01-29 17:43:26 · 345 阅读 · 1 评论 -
YTKNetwork添加公钥绑定
前言移动端单纯的https请求无法避免中间者攻击,在请求时进行公钥绑定,可以避免Charles、Fiddler简单拦截就能查看接口明文内容的尴尬。添加过程1. 找后台要.cer文件.pem转.ceropenssl x509 -inform PEM -in name.pem -outform DER -out name.cer.crt转.ceropenssl x509 -in name.crt -out name.cer -outform der自己创建openssl s_c原创 2021-01-20 12:12:02 · 222 阅读 · 1 评论 -
iOS真机上查看NSLog日志
前言CocoaLumberjack捆绑了一系列的内置日志记录器,通过简单的配置,就可以实现在手机上直接查看nslog日志的功能,对于真机调试有极大的帮助。配置过程1. pod导入CocoaLumberjack库pod 'CocoaLumberjack'2. 创建NSLog宏,拦截系统NSLog方法#ifdef DEBUG#define NSLog(...) DDLogDebug(@"AppName %s 第%d行 \n %@\n\n",__func__,__原创 2021-01-20 11:40:32 · 1022 阅读 · 1 评论 -
各种传值的区别
属性传值与block传值的区别: 属性传值自己创建属性,通过属性从别的地方获取实参,block传值自己创建属性,自己对属性传实参,供其它地方使用这个实参。 属性传值:在本controller中创建属性,其它controller调用这个属性,从其它controller中获取实参 block传值:在本controller中创建属性,并且在本controller中对这属性参数...原创 2018-07-16 10:59:17 · 113 阅读 · 0 评论 -
block传值快速创建
1.方法传值(正向逆向都可以#pragma mark 一级页面创建block方法,在二级页面调用这个方法即可- (void)getName:(NSString *)nameOne withBlcok:(void(^)(NSString *name,int age))person;#pragma mark 在.m文件中对block 进行赋值- (void)getName:(NSStr...原创 2018-07-16 11:06:11 · 85 阅读 · 0 评论 -
DOM解析和JSON解析简单操作
DOM解析:首先根据数据形成一个dom树代码演示// 1.获取文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"contacts" ofType:@"xml"];// 2.根据文件路径,将文件内容读取成NSData对象 NSData *data = [NSData dataW...原创 2018-07-16 11:06:42 · 1667 阅读 · 0 评论 -
textView快速创建
.h//创建textView的placeHodler <UITextViewDelegate> //添加代理@property (nonatomic,retain) UITextView *TextView; //尾部视图中创建textView@property (nonatomic,retain) UILabel *placeHodlerLabel; //在textVie...原创 2018-07-16 11:07:15 · 222 阅读 · 0 评论 -
初级沙盒机制
沙盒组成 注意:如果创建的.txt等文件中没有任何数据,将不会显示 Document: 存储用户数据,需要备份的信息。 Library/Caches: 存储缓存文件,程序专用的支持文件 Library/Preferences: 存储应用程序的偏好设置文件 .app: 程序包(IOS8时,app不存储在沙盒中,有单独的文件夹存储所有程序的app包) tem: 存储临...原创 2018-07-16 11:07:52 · 294 阅读 · 0 评论 -
NSUserDefaults快速创建
创建User类#import <Foundation/Foundation.h>@interface User : NSObject<NSCoding>@property (nonatomic,copy) NSString *userName;@property (nonatomic,copy) NSString *pwd;@end#import ...原创 2018-07-16 11:09:57 · 100 阅读 · 0 评论 -
CollectionView快速创建
#pragma 配置文件 [self.CollectioinView registerClass:[SHStoreCollectionCell class] forCellWithReuseIdentifier:@"storeCollectionCell"];- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView ...原创 2018-07-16 11:10:25 · 330 阅读 · 0 评论 -
多线程编程
程序:由源代码生成的可执行应用。(如:qq.app) 进程:一个正在运行的程序可以看做一个进程。 线程:程序中独立运行的代码段。(例如:接受QQ消息的代码) 一个进程是由一或多个线程组成。进程值负责资源的调度和分配,线程才是程序真正的执行单元,负责代码的执行。 只有一个主线程的程序,称作单线程程序。单线程中代码只能顺序执行,无法并发执行。 IOS允许用户...原创 2018-07-16 11:11:00 · 77 阅读 · 0 评论 -
button上左对齐方法_快速创建多个同类型的button
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 快速创建多个同规格的button#pragma mark 下面的多个button的创建- (void)buttonWithBtnName:(NSString *)btnName frameWithX:(CGFloat)x Y:(CG...原创 2018-07-21 10:26:02 · 1711 阅读 · 0 评论 -
抓接口工具paros的使用
1. 直接使用2. 找到本电脑的网络偏好设置,记录ip地址3. 打开paros软件,进行设置4. 在手机网络的HTTP上填上对应的ip5. 可以正常运行了...原创 2018-07-22 09:20:15 · 435 阅读 · 0 评论 -
AVAudioRecorder录音的创建
AVAudioRecorder录音.zip#import "ViewController.h"#import &lt;AVFoundation/AVFoundation.h&gt;@interface ViewController ()&lt;AVAudioRecorderDelegate&gt; { NSTimer *timer; //定时器}@property (...原创 2018-07-22 09:13:48 · 398 阅读 · 0 评论 -
使用xib/storyboard来添加圆角图片
在xib/storyboard里面设置view圆角半径 - 简书layer.cornerRadiuslayer.masksToBounds转载 2018-07-22 09:19:49 · 542 阅读 · 0 评论 -
打开相机手电筒/添加拍照声音
#pragma -mark- 打开手电筒-(void)openFlashlight{ AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if (device.torchMode == AVCaptureTorchModeOff) { ...转载 2018-07-22 09:17:50 · 448 阅读 · 0 评论 -
创建连续的有编辑状态的按钮
按钮来回晃动的动画.zipCABasicAnimation使用总结#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIView *backView; //背景view@property (weak, nonatomic) IBOutlet U...原创 2018-07-21 10:30:29 · 399 阅读 · 0 评论 -
向下拉伸tableview头图的发生尺寸
tableViewheader下拉放大.zip 说明:当tableView下拉的时候,上面的图根据偏移量改变尺寸,当偏移量为负值的时候(下拉),可以改变尺寸,当偏移量为正值的时候(上拉),不改变尺寸。#import "ViewController.h"@interface ViewController ()&lt;UITableViewDelegate,UITableVi...原创 2018-07-22 09:16:23 · 101 阅读 · 0 评论 -
在storyboard中创建collectionView-添加头
collectionView的模拟创建.zip#import "FindProductNew.h"#import "SHStoreCollectionCell.h"#import "HeaderSectionView.h"@interface FindProductNew ()&lt;UICollectionViewDelegate,UICollectionVi原创 2018-07-22 09:17:07 · 412 阅读 · 0 评论 -
二维码的生成
相关链接二维码的生成.zip //添加保存二维码效果二维码生成demo.zip二维码图片生成(扩展知识:创建带圆角效果的图片)#import "ViewController.h"#import "UIImage+RoundedRectImage.h"#import "KMQRCod.h"@interface ViewController ()@propert..原创 2018-07-22 09:18:40 · 124 阅读 · 0 评论 -
扫描二维码创建
二维码创建.zip#import "ViewController.h"#import &lt;AVFoundation/AVFoundation.h&gt;#import "WebViewController.h" //创建webviewstatic const char *kScanQRCodeQueueName = "ScanQRCodeQueue&quo原创 2018-07-22 09:15:52 · 188 阅读 · 0 评论 -
应用内调用邮箱/拨号/短信/浏览器/应用商店
相关链接iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用url点击事件.zipSwift - 打开第三方应用,并传递参数(附常用App的URL Scheme)#import "ViewController.h"@interface ViewController ()@end@implemen...转载 2018-07-22 09:15:12 · 499 阅读 · 0 评论 -
3DTouch测试
新的触摸体验——iOS9的3D Touch3DTouchTest.zip代码部分- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization ...原创 2018-07-22 09:14:37 · 3466 阅读 · 0 评论 -
创建xib的view
将tableView中的头部添加为xib创建的view的时候,如果直接将view设置成tableViewHeaderView则显示的headerView是固定的高度,而且是不可控的,此时的做法是,从新创建一个view,使其赋值成headerView,然后将此xib格式的view添加到此新创建的view上,此时,就可以进行控制高度了。xib创建的view往往是不可以控制其宽度的,此时可以在创建...原创 2018-07-21 10:28:40 · 678 阅读 · 0 评论 -
将图片保存到相册中
#pragma mark 保存按钮点击事件- (IBAction)saveClick:(UIButton *)sender { if (self.saveImage) { UIImageWriteToSavedPhotosAlbum(self.saveImage, self, @selector(image:didFinishSavingWithError:contex...原创 2018-07-21 10:31:28 · 395 阅读 · 0 评论 -
app内发送短信
发送短信测试.zip#pragma mark 调用短信页面方法- (IBAction)click:(UIButton *)sender { [self showMessageView];}#pragma mark 短信页面方法- (void)showMessageView { if( [MFMessageComposeViewController canSe...原创 2018-07-21 10:27:26 · 442 阅读 · 0 评论 -
swift中VC页面跳转的动画效果-push和pop时的动画效果
CGAffineTransform相关函数页面动画的跳转.zip相关代码import UIKitclass ViewController: UIViewController,UINavigationControllerDelegate,UIViewControllerAnimatedTransitioning,UIViewControllerInteractiveTrans...原创 2018-07-21 10:29:58 · 1587 阅读 · 0 评论 -
xib中添加UIScrollView
Storyboard、xib中的UIScrollView使用autolayout,使其能够滚动添加的步骤: 拖拽scrollView 添加scrollView的四周限制 拖拽一个View添加到scrollView 添加view的四周限制(现在爆红不要管) 竖屏滚动添加竖直居中限制/水平滚动添加横屏居中限制 竖屏滚动添加view固定高度并拉出属性/水平滚动添...原创 2018-07-21 10:26:48 · 421 阅读 · 0 评论 -
shareSDK用于微信登录
相关链接快速集成swift调用适配ios-9+系统微信支付接入那些坑1—–unrecognized selector sent to instanceGit仓库代码1. 下载相关SDKSDK下载地址SDK | —– Required( MOB 基础公共库目录 ) | —– MOBFoundation.framework:基础功能框...原创 2018-07-23 10:02:43 · 1008 阅读 · 0 评论 -
一个项目多个target的创建
引用链接iOS同一项目多个Target的快速实现方法 - 两种使用场景详解场景一: 一个项目配置多个环境1> 在tagets中直接添加Duplicate2> 添加target并重新命名为runtimeOC3> 修改Schemes中的名字 4> 将自动生成的plist重新命名 -> 删除 -> ...原创 2018-07-23 10:03:12 · 518 阅读 · 0 评论 -
ios 11 版本升级有关
相关引用你可能需要为你的APP适配iOS11新特性相关视频iOS11、iPhone X、Xcode9 适配指南iOS开发适配iPhone X 齐刘海处理,代码适配iPhoneXscrollview新特性_scroolView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNev...原创 2018-07-23 10:18:30 · 150 阅读 · 0 评论 -
验证码的生成
相关引用iOS本地动态验证码生成基本原理1. 将要显示的字符、数字、特殊字符等存入到一个数组中。2. 随机从数组中获取规定个数的字符并将其丢入到属性字符串中。3. 一定范围你设置属性字符串中的每个字的x与y。4. 设置属性字符串的字体大小、左右倾斜度,形成验证码。相关代码#import &lt;UIKit/UIKit.h&gt;@in...原创 2018-07-24 15:51:04 · 153 阅读 · 0 评论 -
SSZipArchive压缩三方的使用
相关链接SSZipArchive的使用详解和遇到的问题github地址基本使用 说明:此三方用于文件的压缩,object-c/swift都可以,使用前先导入 libz.tbd 库object-c使用// Create[SSZipArchive createZipFileAtPath:zipPath withContentsOfDirectory:sam...原创 2018-07-18 09:50:21 · 344 阅读 · 0 评论 -
Podfile文件的查看
相关链接什么是Podfile ?简单说明 CocaPods是用ruby实现的,因此Podfile文件的语法就是ruby的语法。podfile是一个说明文件,用以描述管理一个或者多个Xcode project的rarget的依赖库。这个文件应该且必须被命名为Podfile。示例一:Podfile链接了app和它的测试bundle:source 'https:...原创 2018-07-18 09:51:18 · 873 阅读 · 0 评论 -
string file not found
相关链接‘string’ file not found方法一: 直接将.m文件改为.mm,即可实现功能方法二: 直接改配置原创 2018-07-18 09:52:39 · 507 阅读 · 0 评论 -
iOS项目国际化
相关链接详述iOS国际化示例demo链接iOS本地化 NSLocalizedString的使用基本操作步骤1. 设置国际化2. 添加Localizable.strings文件3. 选择配置Localizable文件4. 配置Main.storyboard文件5. 导入能自动跟踪storyboard变动的pyth...原创 2018-07-18 09:54:10 · 686 阅读 · 0 评论 -
使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备
使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备#if TARGET_IPHONE_SIMULATOR NSLog(@"run on simulator");#else NSLog(@"run on device");#endif 注意不要用#ifdef TARGET_IPHONE_SIMULATOR, 因为...原创 2018-07-18 09:55:31 · 1686 阅读 · 0 评论 -
webview加载含有中文的url显示空白
// 在类目中添加这个方法- (NSString *)URLEncodeString { NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet]; NSString *encodedString = [self stringByAddingPercentEncodingWithAllowedCharac...原创 2018-07-24 15:52:27 · 995 阅读 · 0 评论 -
属性字符串固定字匹配
#pragma mark 属性字符串颜色处理- (NSMutableAttributedString *)manageSuperString:(NSString *)superString withRegExpStr:(NSString *)regExpStr { // 正则 NSRegularExpression *regExp = [[NSRegularExpression ...原创 2018-07-24 15:54:50 · 139 阅读 · 0 评论 -
绘制image
iOS绘制image图片.h#import <UIKit/UIKit.h>@interface UIImage (Color)+ (UIImage *) ly_imageWithColor:(UIColor *)color;+ (UIImage *) ly_imageWithColor:(UIColor *)color Size:(CGSize)size;-...转载 2018-07-24 15:55:40 · 184 阅读 · 0 评论