![](https://img-blog.csdnimg.cn/20191113104406235.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
iOS开发日常
记录iOS开发中的遇到的问题,以及解决方案
So灬低调
这个作者很懒,什么都没留下…
展开
-
CocoaHttpServer支持https设置
背景iOS采用cocoalhttpserver搭建的本地服务器通过本地HTTP Server与网页端交互 网页端支持 HTTPS的话,因为HTTP、HTTPS网页内容混合会导致请求异常(因为在https页面发起http请求会被block掉) 例如使用 https://localhost:5543f3访问iOS搭建的服务端,会无法接受到数据(因为服务端只有http,发起https则找不到...原创 2019-06-01 11:14:56 · 1958 阅读 · 9 评论 -
iOS 使用websocket搭建本地服务器
1、移动端何时需要搭建本地服务器?当移动端与web端需要很强很即时的数据交互时,服务端只需要一个结果的时候,在移动端搭建本地服务器,然后让移动端与web端交互,完成一系列动作,把结果告诉服务端,实际应用场景:积分墙。2、如何在移动端搭建本地服务器?(不知道怎么才能让我自己发布的资源免费)可以在csdn下载:https://download.csdn.net/download/u...原创 2019-04-28 17:42:59 · 3562 阅读 · 2 评论 -
签名一个mobileconfig
鉴于我们的设备和MDM server之间已经可以通信,并能完成相应的锁屏、擦除数据、查询设备信息等功能,但是,我们在安装了mobileconfig后,返现配置描述文件打开显示 “unsigned” 或者“尚未签名”这样的情况,所以接下来的工作就是让我们的mobileconfig文件看起来更加安全一些。一、标题借助于强大的github,找到了一个python脚本进行签名地址:https://gi...原创 2019-01-18 16:28:48 · 5198 阅读 · 19 评论 -
iOS通用链接配置
现在微信、qq等各大平台都开始强制要求配置通用链接配置通用链接主要的文档:(苹果官方文档)https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.htmlqq互联平台配置:https://wiki.connect.qq.com/%E5%A1%AB%E5%86%99%E5%8F%8A%E6%A0%A1%E9%AA%8Cuniversallinks开始准原创 2020-05-23 17:41:58 · 2643 阅读 · 0 评论 -
iOS10.3系统以后(NSStrikethroughStyleAttributeName)富文本不显示
在iOS10.3系统上, 删除线(NSStrikethroughStyleAttributeName)富文本不显示,确切的说是在字符串中间某一段文字添加删除线富文本会出现异常。这个可能是苹果系统的bug。iOS 10.3 系统以后,给 字符串中的某一段文字添加删除线富文本 是不可以的;给中文整个字符串添加删除线富文本也不行,只要添加删除线富文本的字符串包含中文就是不行;先设置其中一部分字号(...转载 2019-01-18 15:04:47 · 614 阅读 · 0 评论 -
测试微信登录 openid 、unionid和app之间的关联
1、同一个app 用的同一个微信账户平台下的 不同应用:openid 不一样、unionid一样2、同一个app 用的不同微信账户平台下的不同的两个微信应用:openid 不一样、unionid不一样3、不同的2个app 用同一个微信账户平台下不同应用:openid 不一样、unionid一样4、不同的2个app 用同一个微信账户平台下相同应用:openid 一样、unionid一样5、不...原创 2019-01-18 15:15:17 · 471 阅读 · 0 评论 -
此证书的签发者无效解决办法
今天早上同事说咱们的证书无法使用了,显示“此证书的签发者无效”。一开始以为谁误操作了证书,查看后发现所有证书都无效了。查了会才发下原来是Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书刚好在今天过期了。首先打开自己的Keychain,删除原来已经过期的WWDR证书。(这里...原创 2019-01-18 16:40:26 · 1029 阅读 · 0 评论 -
iOS判断设备是否安装sim卡
导入CoreTelephony 库文件引入头文件#import <CoreTelephony/CTTelephonyNetworkInfo.h>#import <CoreTelephony/CTCarrier.h>//判断是否有SIM卡-(BOOL)isSIMInstalled{ CTTelephonyNetworkInfo *networkI...原创 2019-01-19 15:18:41 · 1205 阅读 · 0 评论 -
iOS判断当前是否为模拟器
使用系统自带的宏定义判断即可-(BOOL)isSimuLator{ if (TARGET_IPHONE_SIMULATOR == 1 && TARGET_OS_IPHONE == 1) { //模拟器 return YES; }else{ //真机 return NO; }} ...原创 2019-01-19 15:26:42 · 6347 阅读 · 0 评论 -
iOS 判断手机型号
引入头文件#import <sys/sysctl.h>- (NSString*) doDevicePlatform{ size_t size; int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = (char *)malloc(size); ...原创 2019-01-19 16:23:39 · 728 阅读 · 0 评论 -
UIWebView/WKWebView crash on iOS11 (ran out of executable memory)
在iOS 11上使用UIWebView或WKWebView加载一些网页导致崩溃,原因是"Ran out of executable memory while allocating 128 bytes".附带的屏幕截图显示了完整的堆栈跟踪。这似乎是Webkit的Javascript引擎的一个问题。在iOS 10上没有这样的问题。所以它在iOS 11上是新的。模拟器上没有问题。仅限真实设备。(另外在i...原创 2019-01-22 11:01:11 · 753 阅读 · 0 评论 -
iOS设备唯一标识获取策略(不定时更新)
在iOS系统中,获取设备唯一标识的方法有很多:一.UDID(Unique Device Identifier)UDID的全称是Unique Device Identifier,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成(越狱的设备通过某些工具可以改变设备的UDID)。移动网络可利用UDID来识别移动设备,但是,从IOS5.0(2011年8月份)开始,苹果宣布将不再支持用u...原创 2019-01-22 17:05:20 · 6154 阅读 · 0 评论 -
iOS获取设备IP地址
一.导入头文件//首先导入头文件信息#include <ifaddrs.h>#include <arpa/inet.h>#include <net/if.h>#define IOS_CELLULAR @"pdp_ip0"//有些分配的地址为en0 有些分配的en1#define IOS_WIFI2 @"en2"#defi...原创 2019-02-23 10:42:41 · 5928 阅读 · 0 评论 -
iOS 保持app在后台不被kill
由于iOS在高版本之后很多保持后台的代码失效之后在特殊情况下又要保持app长时间持有的问题,就可以用到后台音乐播放,但是这种容易被拒,所以最好是企业开发模式下使用1、在xcode中开启后台模式2、插入代码(找一个最小的音频文件拖入项目中)//后台播放音乐- (void)playbackgroud{ _session = [AVAudioSession share...原创 2019-04-29 16:02:50 · 3612 阅读 · 2 评论 -
iOS 企业账号发布APP
1. App 打包Xcode 选择 Product - Archive 进行 App 打包。选择 Export 导出 ipa 安装包。选择 Save for Enterprise Deployment 进行打包。这里要勾选下图这一栏 Include manifest for over-the-air installation. ,勾选以后会生成一个 mani...转载 2019-05-05 15:29:53 · 906 阅读 · 1 评论 -
关于iOS不同企业账户下但包名相同的app是否会出现覆盖的问题
由于目前可以通过企业账户重签名的方式达到这种效果,然而企业账户使用不但很容易被封就会出现这样的问题:答案是:并不会覆盖,会出现新企业下的app无法安装的情况,必须要删除旧的签名包的app ...原创 2019-02-25 14:18:06 · 3406 阅读 · 2 评论 -
iOS转化arc和非arc模式
在实际项目过程中有很多以前的非arc时代留下来的东西,可能会有需要导入这个模式的文件在当前arc管理模式下的项目1.现在的项目直接创建后会默认为arc模式 转化为非arc模式的方法 ——— -fno-objc-arc...原创 2019-05-05 16:15:33 · 257 阅读 · 0 评论 -
UIView的contentMode
UIViewContentModeScaleToFill根据视图的比例去拉伸图片内容。UIViewContentModeScaleAspectFit保持图片内容的纵横比例,来适应视图的大小。UIViewContentModeScaleAspectFill用图片内容来填充视图的大小,多余得部分可以被修剪掉来填充整个视图边界。UIViewContentModeRed...原创 2019-05-05 16:54:07 · 1702 阅读 · 0 评论 -
UIActivityViewController
//内置分享-(void)shareWithInsert{ /** 图片数组*/ NSMutableArray *array = [[NSMutableArray alloc]init]; NSString *imgURL = shareIMG; NSData *imgData = [NSData dataWithContentsOfURL:[NSURL UR...原创 2019-05-05 17:12:08 · 140 阅读 · 0 评论 -
关于iPhone高版本 无法导出app查看app包名的解决办法
在日常开发中可能需要获取到其他app的包名从而自动可以跳转到相应的app但就目前来说,代码以及无法通过私有的api获取包名,大部分的mac软件,比如pp助手,ituns等都无法导出app通过plist来查看包名现在提供一种解决办法:(如图下载爱思助手,右键复制标识),但这个软件同样无法备份app当然还可以使用最简单的苹果自带的iPhone配置实用工具但这个不会显示中文名,...原创 2019-05-09 16:47:02 · 2597 阅读 · 1 评论 -
iOS删除过期Provisioning Profiles方法
1、在finder下打开go -> go to folder输入:~/Library/MobileDevice/ProvisioningProfiles2、查看上面的列表,按照时间顺序删除相应的profiles即可。3、其中有一个embedded的描述文件 不能删除 删除之后 企业证书将无法再进行打包...原创 2019-05-11 16:20:08 · 1007 阅读 · 0 评论 -
关于iOS 12.2以及更高版本安装描述文件
在 iPhone 或 iPad 上安装配置描述文件了解如何在 iOS 12.2 或更高版本中安装描述文件。当您在 iOS 12.2 或更高版本中从网站或电子邮件中下载配置描述文件(包括用于注册移动设备管理的描述文件)后,您需要前往“设置”应用进行安装。安装描述文件在下载描述文件后*,您会看到信息“已下载描述文件”。要安装这个描述文件,请按照以下步骤操作:打开“设置”应用。 轻...原创 2019-06-01 11:59:40 · 4553 阅读 · 0 评论 -
iOS 封装Healthkit
1、新建HealthManager继承于NSObject2、HealthManager.h#import <Foundation/Foundation.h>#import <HealthKit/HealthKit.h>typedef long long long64;@interface HealthManager : NSObject@property ...原创 2019-08-20 12:21:20 · 450 阅读 · 0 评论 -
iOS代码灵异事件
//注意这里我设置了-30UIView *datiView = [[UIView alloc] initWithFrame:CGRectMake(15, 0, Screen_width, -30)];[_contentView addSubview:datiView];//马上重新设置尺寸[datiView setFrame:CGRectMake(0, 200, Screen_widt...原创 2019-09-11 13:18:20 · 218 阅读 · 0 评论 -
唤起手Q小程序
唤起手Q小程序(3.3.7)(QQ 8.1.8)该能力允许第三方直接唤起手Q打开小程序。注意事项1. 传的小程序appid会和应用的appid的绑定关系进行校验,如果未绑定不允许唤起。 2.第三方APP的plist文件中的LSApplicationQueriesSchemes字段中需要添加,mqqopensdklaunchminiapp,否则无法正常唤起手Q。示例...转载 2019-12-30 16:53:30 · 867 阅读 · 0 评论 -
友盟错误日志详细分析
作为统计类的大佬友盟,相信大部分的app都接入了在新版的友盟错误分析中,在没有加入符号标记的时候,返回的错误日志可能看起来摸不着头脑,这时候可以上传符号文件,精准定位(终于不用在下载um的分析工具,在操作一大堆)如图:那么文件从那里来打包的时会生成一个.dsYM的文件,这个文件在Xcode--->Window--->Organizer---->对应包,鼠标右击s...原创 2019-12-30 16:38:25 · 1184 阅读 · 0 评论 -
iOS控制每天的最大次数
//弹出样式1、4、5、6弹窗(每天最多弹出2次)//控制随机[0,4]不包括4NSDate *nowDate = [NSDate date];NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"yyyy-MM-dd"];NSString *nowD...原创 2019-11-30 14:46:54 · 423 阅读 · 0 评论 -
iOS截屏规范
内容来自苹果帮助文档:https://help.apple.com/app-store-connect/#/devd274dd925APP 预览和截屏截屏规范 设备尺寸或平台 截屏尺寸 要求 截屏源 6.5 英寸(iPhone 11 Pro Max、iPhone 11、iPhone XS...转载 2019-11-13 10:55:49 · 496 阅读 · 0 评论