ios开发

iOS开发证书和配置文件的使用

試著忘記壹切 提交于 2020-02-27 03:28:13
提示: 之前只是根据网上的流程完成了iOS项目的发布过程,对于证书和配置文件仍是一头雾水,这里参照别人的文章,简单了解一下,毕竟以后用的着。 这里有几个问题: 什么是iOS证书,它是如何与app应用关联的? iOS开发证书和生产证书有何区别,如何使用的? 证书与配置文件(Provisioning Profiles)是什么关系,配置文件在Xcode中如何使用? 证书以及配置文件如何申请? 什么是Key Pair(公钥/私钥)?如何与证书关联的? 签名的作用是什么? 1. 准备工作: 如果想要进行iOS开发,首先要具备下面一些条件: 1.1 首先要有苹果开发账号(Apple Developer Acount) 只有拥有开发者账号,才能申请开发/发布证书及相应配置文件。 开发者账号个人或公司开发者账号$99和企业开发者账号$299两种类型。 1.2 若要进行真机调试,必须至少拥有一台MAC电脑。 2. 登录iOS Dev Center 如果已经拥有苹果开发者账号,直接登录苹果开发者中心申请开发证书。 进入到证书申请界面: 从上面可以看到四个关键东西:Certficates(证书)、Identifiers(标识符)、Devices(设备)、Provisioning Profiles(供应配置文件),我们分别介绍这四项。 2.1 Identifiers(标识符)

iOS开发--UITableView

时光总嘲笑我的痴心妄想 提交于 2020-02-27 03:20:10
-、建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable release]; 二、UITableView各Method说明 //Section总数 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return TitleData; } // Section Titles //每个section显示的标题 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return @""; } //指定有多少个分区(Section),默认为1 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 4; } //指定每个分区中有多少行,默认为1

ios开发学习笔记(1)

二次信任 提交于 2020-02-27 03:06:47
objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式: self.window = [UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //1.从Infor.plist中取出版本号 NString *version = [NSBundle mainBundle].infoDictionary[key]; //2.从沙盒中取出上次存储的版本号 NSString *saveVersion = [[NSUserDefaults standaryUserDefaults] objectForKey:key]; if(([version isEqualToString:saveVersion])){ //如果不是第一次使用版本 //显示状态栏 application.statusBarHidden= NO; //等待写 //self.window.rootViewController = [[*** alloc] init]; } else { //版本号不一样 第一次使用新版本 //将新版本号写入沙盒 [[NSUserDefaults standardUserDefaults] setObject

IOS开发学习笔记(1)

好久不见. 提交于 2020-02-27 03:05:44
最近参与到IOS项目的开发中,原来只接触过一点手机开发,但是对IOS开发是毫无经验。原来一直很排斥Objective-C,排斥的原因主要有这么几点。首先Objective-C是C的扩展,我对C就不是很喜欢,觉得用不好指针。以前写代码主要是做ACM写点短代码,很多时候可以用一个变量模拟指针来做。其次,觉得Objective-C本身也很麻烦,以前觉得它的函数声明很别扭。但是现在转悠了几个语言之后,觉得Objective-C也有很多好的地方。而且由于自己已经习惯了长变量名、函数名,同时Xcode很强大,觉得Objective-C原来的问题,却成为了它的优点。例如,在C#中我们会这样去条用一个函数: class.Method(arg1, arg2,...); 在Objective-C里面,我们会这么去做: [class argumentName1 : argument1, argumentName2 : argument2...]; 这样写的坏处,就是要多些一些代码。现在Xcode弥补了这个缺陷之后,它带来的好处就很明显了:代码更加清晰。Objective-C的自文档性确实很好。再比如.h和.m文件的分离,很多时候,我们看看.h文件里面的定义,知道这个类提供一些什么东西,就可以略过了。 但是也有些东西不是很好掌握,比如那几个修饰符:copy、retain、assign;strong

iOS开发之手势解锁

怎甘沉沦 提交于 2020-02-27 02:47:32
本文主要介绍通过手势识别实现手势解锁功能,这个方法被广泛用于手机解锁,密码验证,快捷支付等功能实现。事例效果如下所示。 首先,我们先分析功能的实现过程,首先我们需要先看大致的实现过程: 1.加载九宫格页面 2.实现按钮被点击及滑动过程中按钮状态的改变 3.实现滑动过程中的连线 4.绘制完毕后判定密码是否正确, 5.密码判定后实现跳转。 下面我们就来用代码实现上述五个过程。 1.加载九宫格界面 1.1九宫格内控件的分布 3*3 ,我们可以自定义view(包含3*3个按钮),添加到viewController上。 //添加view中子控件 -(void)awakeFromNib { // 创建按钮 for (int i=0; i<9; i++) { self.LineColor=[UIColor blueColor]; UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; btn.userInteractionEnabled=NO; // 设置按钮属性 [btn setBackgroundImage:[UIImage imageNamed:@"gesture_node_normal"] forState:UIControlStateNormal]; [btn setBackgroundImage:[UIImage

iOS清除缓存功能开发

烈酒焚心 提交于 2020-02-27 01:24:38
  在APP开发中,大量的图片或消息占用系统内存,造成一堆垃圾信息,所以开发清除缓存功能就显得必不可少了。   代码段1:获取文件的大小 - (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){ return [[manager attributesOfItemAtPath:filePath error:nil] fileSize]; } return 0; }   代码段2:获取文件的大小 //遍历文件夹获得文件夹大小,返回多少M - (float ) folderSizeAtPath:(NSString*) folderPath{ NSFileManager* manager = [NSFileManager defaultManager]; if (![manager fileExistsAtPath:folderPath]) return 0; NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];

iOS开发-导出xcode中已有的配置文件Provisioning profile

妖精的绣舞 提交于 2020-02-26 15:43:31
文章目录 导出指定的单个配置文件 导出所有证书配置以及Profile文件 删除本地的Profile文件 iOS开发中,遇到换电脑情况,大部分证书和配置文件都需要重新弄,证书可以从官网上下,配置文件没有过期和没有删除的情况下,也能从官网下载,有时候就想用老的配置文件,官网上也没有了。 导出指定的单个配置文件 选择 工程->Signing & Capabilities 这里 xcode 版本为 xcode11.3 , xcode10 以前的版本去 General 中找即可 点击 Provisioning profile 栏后的 感叹号图标 在弹出的视图中,拖动 Profile 文件图标到桌面或者指定文件夹 即导出了对应的 Profile 文件 导出所有证书配置以及Profile文件 选择 xcode->Preference 2. 选择 Accounts 栏,坐下角设置按钮,导出所有 Apple ID以及签名资源(应该也包含p12) 3. 然后,同样方法选择 import 的导入 删除本地的Profile文件 xcode的profile文件存储于 ~/Library/MobileDevice/Provisioning Profiles 路径下,选择删除即可 来源: CSDN 作者: 好菜_好菜 链接: https://blog.csdn.net/shengpeng3344/article

iOS项目之模拟请求数据

浪子不回头ぞ 提交于 2020-02-26 12:38:53
如何在iOS开发中更好的做假数据? 当工期比较紧的时候,项目开发中会经常出现移动端等待后端接口数据的情形,不但耽误项目进度,更让人有种无奈的绝望。所以在开发中,我们常常自己做些假数据,以方便开发和UI调试。然而做假数据方法不同,效率和安全性都各不同,有时稍有不慎,还会产生很大的bug。因此本文拟结合我在贝聊的开发经验,讲一讲我们组在iOS开发中曾经用过的做假数据的方法及其优劣。 示例项目 为方便下文的说明,本文主要以贝聊家长版app发现首页的热门帖子列表的实现为例。热门帖子列表的样式如下图: 这是比较常见的列表,用常用的 UITableView 实现即可,但需要自定义一个的 UITableViewCell 的子类 ExploreTableViewCell 。项目中, ExploreTableViewCell 并没有用xib实现(因为xib日后不好修改,且代码复用性差),而是通过 SnapKit 用纯代码布的局,具体的布局代码大致如下: 123456789101112131415161718192021222324252627282930313233343536 import UIKitimport SnapKitclass ExploreTableViewCell: UITableViewCell { let thumbnailImageView: UIImageView let

iOS开发-UIView之动画效果的实现方法(合集)

自古美人都是妖i 提交于 2020-02-26 11:00:51
前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗。本文会介绍UIView效果的实现方法,非核心动画。 一、使用UIView类实现动画 基本写法,代码必须放在Begin和Commit之间: [UIView beginAnimations:nil context:nil]; // 开始动画 // Code... [UIView commitAnimations]; // 提交动画 简单例子: [UIView beginAnimations:nil context:nil]; // 开始动画 [UIView setAnimationDuration:10.0]; // 动画时长 /** * 图像向下移动 */ CGPoint point = _imageView.center; point.y += 150; [_imageView setCenter:point]; [UIView commitAnimations]; // 提交动画 同时运行多个动画效果: [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:3

ios开发常用宏

ⅰ亾dé卋堺 提交于 2020-02-26 10:53:19
本文整理自: http://blog.csdn.net/duxinfeng2010/article/details/9067947 http://hi.baidu.com/feng20068123/item/1935c6d022bf7513d78ed0d4 根据自己的习惯做了一些修改,简化。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 #ifndef