iOS 杂烩

来源:互联网 发布:彩虹六号怎么优化 编辑:程序博客网 时间:2024/05/01 05:39

-(int)getRandomNumber:(int)from to:(int)to

{

    return (int)(from + (arc4random() % (to - from +1)));

}2 随机数


target *= 1000;2 *= 1000 即是乘与1000


@"2016-5-31"转为NSDate////////////////////////NSString * newDateStr = [NSString stringWithFormat:@"2016-%d-%d 12:00:00",month,day];//以后年的值必须替换为实时

NSDate * newDate = [Tool stringToDate:newDateStr];


+ (NSDate *)stringToDate:(NSString *)dateStr

{

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    NSTimeZone *timeZone = [NSTimeZone localTimeZone];

    [formatter setTimeZone:timeZone];

    [formatter setDateFormat : @"yyyy-MM-dd HH:mm:ss"];//设置日期格式 h大写表示24小写表示12小时制

    NSDate *dateTime = [formatter dateFromString:dateStr];

    return dateTime;

}


2 If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE 

 打印如下一堆的错误。

原因应该是view画图时直接去画,而没有掉用setNeedsDisplay,没有间接去掉用drawrect方法。改成[afView data:arr];

[afView setNeedsDisplay];

之后,如下打印的一堆error成功去除,而之前因此而出现的卡顿,也成功解决了!!页面流畅多了!!(它原来有严重卡顿的画法是:掉用这个方法[afView setData:arr];,直接去画)


 : CGContextSetStrokeColorWithColor: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

 : CGContextSetFillColorWithColor: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

 

 : CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

 

 : CGContextSetLineWidth: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

 

 : CGContextSetLineJoin: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

 

 : CGContextSetLineCap: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.



2按钮圆角 边线

[PositioningBtn.layer setMasksToBounds:YES];

    [PositioningBtn.layer setCornerRadius:5.0];

 _HistoryBtn.layer.borderWidth = 1;

 _HistoryBtn.layer.borderColor = [[UIColor whiteColor] CGColor];



2把一个方法写成宏,国际化

#define DPLocalizedString(a,b)    (![([[NSLocale preferredLanguages] objectAtIndex:0]) hasPrefix:@"en"]&&![([[NSLocale preferredLanguages] objectAtIndex:0]) hasPrefix:@"zh-"])? [[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"]] localizedStringForKey:a value:@"" table:nil]:NSLocalizedString(a,b)



2本地推送,后台播放音频

2本地推送http://blog.csdn.net/woaifen3344/article/details/44302635//csdn中我已经上传了本地推送的demo,本地推送可以实现后台报警,soundName赋值为你想要播放的音频文件的名称即可,后台推送出来的时候,就会同时播放音频



2表视图顶到最上面

self.automaticallyAdjustsScrollViewInsets = NO;//能让表视图顶到最上边




不用说明的app就是最好的app”今天第一次听到这样的说法,貌似挺有道理


2打勾的SVProgressHUD

[SVProgressHUD showSuccessWithStatus:NSLocalizedString(@"已连接",nil)];

    [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeBlack];

    [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];


2得到某一天之后一天或之前一天的日期

NSDate *date = [NSDate date];//给定的时间

NSDate *lastDay = [NSDate dateWithTimeInterval:-24*60*60 sinceDate:date];//前一天

NSDate *nextDat = [NSDate dateWithTimeInterval:24*60*60 sinceDate:date];//后一天



2定位服务,开启后台运行

1.需要引入头文件:#import


2.AppDelegate.m中定义CLLocationManager * locationManager;作为全局变量方便控制


3.在程序启动初期对定位服务进行初始化:


1


2locationManager = [[CLLocationManager alloc] init];


locationManager.delegate =self;//or whatever class you have for managing location


4.在程序转入后台的时候,启动定位服务


[locationManager startUpdatingLocation];(第一次运行这个方法的时候,如果之前用户没有使用过App,则会弹出是否允许位置服务,关于用户是否允许,后面代码中有判断)

                                         

                                         文/Levan怎么了(简书作者)

                                         原文链接:http://www.jianshu.com/p/174fd2673897

                                         著作权归作者所有,转载请联系作者获得授权,并标注简书作者

http://www.jianshu.com/p/174fd2673897




2发布蓝牙4.0app,注意事项

发布蓝牙4.0app需要录制视频,并上传到视频网站中(如优酷、爱奇艺等),取得连接并将其粘贴到填写资料的notes中,录制视频是要用iphone打开相机并连接mac,打开mac miniquickTime player,右键录制影片,只有这样才会允许通过,直接用iphone录制的视频,会被否决,切记!发布伊动的时候用同样的方法录制的,但是没有声音,欧阳群问的一个ios工程师说没有声音是可以的,于是我把没有声音的视频链接贴上去了,结果发布通过了!!。上周六发布的,结果本周三就通过了,还是首发!!哈哈!居然四天就过了!!用什么帐号发布就会显示什么帐号的的公司信息,主要语言,似乎迭代版本的时候无法更改,申请加急的时候,王琪玮用的理由是,app内部存在重大bug,首页有什么什么问题,运动目标有什么问题,加上app要发货,结果过了一个晚上就通过了

    回答别人的技术问题的时候一定要谨慎,如果乱答,出现错误,造成损失,那就很麻烦。

    可以确定的可以回答,若不确定一定要要说先查查资料,再做出回答,或者问琪炜有没有肯定的答案。

主要语言可以修改:

你从itunes connect进入你的应用管理界面Manage Your Applications

点进你要更改的应用,在App Information右边会有个EDIT按钮,点开以后有一个Default Language,改成Simplified Chinese即可。




2发布账户问题

用什么账号发布就会账户申请公司的信息,比方说伊动,用的是智飞的开发者账户,于是只能显示是智飞的,无法显示中兴





2改变约束的动画效果

http://jingyan.baidu.com/article/3c48dd349b0915e10be358a4.html//////

- (IBAction)animation:(id)sender {

_Constrant.constant -= 200;

[UIView animateWithDuration:0.31 animations:^{

    [self.view layoutIfNeeded];

}];

}

- (IBAction)back:(id)sender {

    _Constrant.constant += 200;

    [UIView animateWithDuration:0.31 animations:^{

        [self.view layoutIfNeeded];

    }];

    

}


2改变约束值,动画

- (IBAction)animation:(id)sender {

    _Constrant.constant -= 200;

    [UIView animateWithDuration:0.31 animations:^{

        [self.view layoutIfNeeded];

    }];

}

- (IBAction)back:(id)sender {

    _Constrant.constant += 200;

    [UIView animateWithDuration:0.31 animations:^{

        [self.view layoutIfNeeded];

    }];


}



2更改app的主要语言

你从itunes connect进入你的应用管理界面Manage Your Applications

    点进你要更改的应用,在App Information右边会有个EDIT按钮,点开以后有一个Default Language ,改成Simplified Chinese即可。



2更新后无法,成功运行的解决办法

选择我以前的(gain那个),然后更改一下bundle ID,就可以跑了///////You have a valid iOS Development certificate in the Member Center, but it is not installed locally. If your signing identity is installed on another Mac, you can export a developer profile on that Mac and import it on this Mac. You can also reset your current certificate. //////Your account already has a valid iOS Development certificate




2工程内广告标示符查询

广告标示符 在终端输入cd后拖进工程路径,再输入那句网上可以查到的终端语句,去搜索即可



2固件升级

固件升级蓝牙的传输速率,app无法控制。@xTT说:只能外设控制,理论上iOS最快4K/S,外设改连接的参数,可以提高传输速度。这个速度是理论值,应该只能接近

跟你发的是固件包还是乱码包还是错包 没关系


其他几个值我也不清楚,那些是蓝牙底层的

让硬件去代码全局搜索一下,不行就去问芯片厂的人

这个iOSDFULibrary组件用来固件升级很有效率,可以载github上下载到。

podfile中添加:pod'iOSDFULibrary',然后去cocoapod pod update即可安装。




2国际化:增加语言

增加语言:project-》info-》Localizations下面的加号,就行



2后台连续本地推送,实现震动功能

5分钟之内可以,超过5分钟,除非你是苹果允许在后台运行的。。否则有点难度,或者考虑远程推送

@KURURU:我对上一个APP不在苹果允许运行的类型APP。。即使我可以在虚拟机弄得长期运行,提交也是被拒绝,只能说你得建一个服务器去推送远程消息,通过远程推送来做到震动的功能了

:推送一次,震一次是吧

@KURURU:是的,好像我上次呕心沥血弄了个后台驻留,那时候经验还不够,结果被拒了。。。,只能说保险做法就是弄远程推送了

杭州-菜鸟 :本地定时推送无压力




2画各种图

http://blog.sina.com.cn/s/blog_9693f61a0101deko.html





2获取屏幕宽高异常问题

我:为什么我用    CGRect temp = [ UIScreen mainScreen ].bounds;

获取6plus的宽高,是320568

我:6plus不是414宽的吗


天狐:兼容模式

天狐:缺6plus启动图





2获取日期,月份总日期数为单数,就会得到单数string,为双数,会得到双数string

for (int i =1; i <= array.count; i ++) {

        

        NSString *DayStr = nil;

        

        if(array.count%2 ==0) {

            

            if (i%2 ==0) {

                

                DayStr = [NSString stringWithFormat:@"%d",i];

            }else {

                

                DayStr = @"";

            }

            

            [MonthDateTextArray addObject:DayStr];

            

        } else {

            

            if (i%2 ==1) {

                

                DayStr = [NSString stringWithFormat:@"%d",i];

            }else {

                

                DayStr = @"";

            }

            

            [MonthDateTextArray addObject:DayStr];

        }

    }





0 1
原创粉丝点击