EasyWeb Iphone 应用开发杂记

Go 语言 net/http 常见用法指南 net/http 是 Go 标准库中最常用的包之一,它同时提供了 HTTP 客户端与服务端的实现。得益于标准库的完整性和 Go 的并发模型,我们无需引入任何第三方框架,就能快速构建一个生产可用的 HTTP 服务。本文围绕日常开发中最常见的场景,梳理 net/http 的核心用法,包括服务端路由、请求处理、中间件、客户端请求、超时控制与优雅关闭等,并给出可直接运行的示例代码。 阅读详情

由于iphone输入法打入字母网址比较麻烦,所以想到在iphone里做成一个类似网址大全的东西,并且要实现多页框浏览的功能。 这样只能自己实现一个浏览器然后配合这个“网址大全”了。

EasyWeb 分两部分功能 一是用户可维护定制的"网址大全” 二是浏览功能。

EasyWeb暂时支持如下功能: (后面陆续增加)

1)浏览历史记忆

2)手工输入网址

3)  通过上网方案生成网址

3)内嵌多页浏览器

4)内置一套“网址大全“

5)   自定义上网方案 (自己使用时可以跟据需要简化掉一些网址)

6) 维护网址分类 (添加删除网址分类)

7) 维护网址(添加删除具体网址)

8)   同时打开多页  (在使用上网方案时 如果进行网址多选,在内嵌多页浏览器内同时打开多个网址)

 

2010/08/16 开始构想设计

构想设计如上简述

2010/08/17 完成大体原型设计

原型界面如下:

主页 {提供浏览功能   历史记忆功能   维护页入口   上网方案选择入口 }

定制维护页 {维护网址类型 维护网址分类 维护具体网址 维护上网方案}

上网方案页 {选择网站按钮后 在地址栏中生成相应网址}

上网方案选择页

上网方案维护两页{增加 删除}

网址维护两页{显示页 增加页}

分类维护两页{显示页 增加页}

网址类型维护两页{显示页 增加页}

大体共11个页面,页面两页之间还是导航关系。其中网址分类与网址可做成一页 在一个页面由两个滚动条分别包含

 

2010/08/18 上午 完成数据结构组织

分类结构Class

由字典保存分类信息

id:key name:value

项目结构

Item

{id,name,url}

item;

由字典保存分类项信息

Item encode itemValue;

id:key itemValue:value;

 

数据关系由MultiMap保存

Class.id:key Item.id:value

Class.id  Item.id 一对多关系

 

示例:

由一个分类id获取该分类所有网址

NSArray* urls = [Multimap getObject:class.id];      // 返回item.id 集合

for(id web in ruls)

{

   Item i;

   NSValue* value = [itemDic getObject:web];

   [value valueValue:&i];

   NSLog(@"id:%d", i.id);
   NSLog(@"name:%@",i.sName);
          NSLog(@"url:%@",i.sUrl);   
}

 

数据结构组中 使用字典分别保存分类与网址信息  它们之间的数据关系使用MultiMap保存两个id值。

 

2010/08/18下午

着手基本的界面制作 基本上完成网址类型显示 网址分类显示

2010/08/19

完成网站增加界面及将网站信息存储到plist,但发现plist设计存在问题

原有plist设计

网址类型 NSArray(NetType):NetType.plist

网站分类 NSMutableDictionary(WebClass):WebClass.plist

网站信息 NSMutableDictionary(WebNodes):WebSites.plist

数据关系 MyMultiMap(classVsNodesMap):ClassVsSitesMapping.plist 这个需要改成与方案相关的名称系统默认方案

NetType.plist与WebClass.plist 数据结构都没有问题

WebNodes 目前系统是将网站的结构体信息(id,classid,sName,surl) 编码为NSData 以网站id为关键字存储在WebSites字典中然后程序退出时将改动写入WebSites.plist中,由于是NSData 这样该plist就不可能手工编辑。

classVsSitesMap 在每次保存一个站点信息时 都将保存下站点与分类的数据关系 系统将站点 id及分类id编码为NSData

然后存储在classVsSitesMap可重复健值字典中 程序退出时写入ClassVsSitesMapping.plist中,由于是NSData 这样该plist就不可能手工编辑。

 

 

2010/08/20

准备做plist文件。由于上述的两个plist存在编辑问题,所以打算采取生成两种plist文件

一、采用串格式

        0:0:www.163.com:网易 手工制作当会容易,但程序需要格外时间来处理格式串。

二、采用数组存储网站信息

     NSArray* node = [NSArray initWithObject:[NSString:0], [NSString:0], [NSString:"www.163.com"],[NSString:"网易"],nil];

     然后以 id为关键字存储到WebNodes字典中

     这个程序中使用方便 WebSites.plist 也可以手工添加站点信息   缺点是 要占用存储空间及比处理结构体要慢些

三、采用原来的NSData编码 但用程序把一“串格式” 编码为NSData 然后生成.plist  这个好处是执行外部程序生成一次

以后应用真正运行起来由其本人增加。

想到plist制作麻烦,决定用户不能删除已有的网站信息 另外其本身也可以自己定制定方案。

今天(20)计划完成plist文件的制作

 

 

 

 

遗留问题 (2010/08/17)

 *关于内置网址与分类信息是手工写在程序里还是实现界面功能然后手工添加?

     由手工生成网站信息的格式串程序处理成plist文件

     plist文件生成可采用 数组及结构体  数组直接存储在字典中 结构体需要编码为NSData   (2010/08/20)

 *内置的网址与分类信息是否允许用户维护    可以维护(2010/08/31)

 

2010/08/31

从构想设计到今天(2010/08/31)刚好半个月  目前大体功能都已实现 还有不少细节需要修改。

 

补上几天前的记录

2010/08/25 20:30
完成网站信息显示
完成网站分类显示
初步设计方案数据存储结构
完成方案信息显示

方案数据结构设计:
编码 
EncodeMaps
customid: 方案信息字典id 与方案映射字典id
classIdKey: 方案中的分类数组
mMap:方案的分类与网站信息映射数据关系

用字典CustomMapDataDic  关键为customid为key
写其保存为CustomMaps.plist

解码:
将CustomMaps.plist读取到 CustomMapDataDic中
以key遍历使用NSKeyedUnarchiver 解码为 EncodeMap
使用CustomMapInfoDic字典保存 key为 customid

使用时获取customid 集合
取出一个id 访问 CustomMapInfoDic 返回方案的EncodeMap
其中 classIdKey 为分类数组
mMap为分类与网站的数据关系

for(id key in classIdKey)
{
    WebSiteKeys* webNode = [mMap objectForKey key];
}

2010/08/27
测试与调试 方案制定功能

2010/08/28
问题收集
网址类型 增加 删除 没完成
网址类型 显示类型名称时使用row 为 key获取名称
网站分类  增加 删除没完成

维护管理
操作
网址类型      维护管理 - 网址类型   {查看  删除  增加}
网站分类      维护管理 - 网站分类    查看分类列表{分类列表-分类网站信息 {查看该类网站信息   增加该类网站信息  删除该类网站信息  选择网站标签(无意义) }删除分类  增加分类  返回维护管理 }
网站信息       维护管理 - 网站信息    以分类分区显示网站信息   删除网站  返回维护管理  更多{显示分类网站信息}
方案信息      维护管理 - 方案列表   选择方案  方案详细(分区显示网站信息) 制定方案(定位到分类  分类再导航增加网站   选择网站有意义
 

2010/08/28   解码详细 
整理代码数据管理 (从重写初始化部分  及变量改名)
初步完成方案功能

2010/08/31
粗略完成上网功能

整理出未完成功能及问题如下
一 浏览界面未完成项
1.1   地址栏不能同步显示网址
1.2   地址栏没有显示刷新按钮
1.3   地址栏没有显示取消按钮

1.4   地址栏没有显示历名列表按钮
1.5   进前 后退 刷新 停止功能未实现
1.6   导航条未加“新建”页框按钮
1.7   双击导航条 不能“新建”
1.8   删除“页框” 不能动态更新现有页框
1.9   页框没有显示网址相关信息
1.10 页框没有显示加载图标
1.11 页框没有显示已经加载网站图标
1.12 页框没有关闭图标
1.13 激活页框没有动画调整宽度
1.14 页面没有状态栏



二 网站信息及维护需要修正问题
2.1 方案默认设置
2.2 使用方案中其它方案
2.3 方案写文件
2.4 网站制定写文件
2.5 类址类型增加  删除
2.6 网站分类增加  删除
2.7 网站信息删除
2.8 方案信息复重选入
2.9 方案复重选入
2.10 图表背景效果图

 

3) 具体测试与界面美化

基本上24个问题  预计在3-5天内解决  问题解决后 整体界面还需要美化。

问题解决时间表
2010/08/31
页框控件代码重新实现    事件采用协议方式实现
同时解决 1.1 -1.8问题

2010/09/01

解决 1.9 - 2.3

2010/09/02

解决 2.3- 2.10

 

整体的测试需要1 - 2时间

 

 2010-09-07

1.1 - 1.14 问题基本解决,还有历史浏览列表没有加。 地址栏界面还需要修改。
解决地址栏显示网站错乱问题
主要通过
    UIWebViewNavigationTypeLinkClicked,
    UIWebViewNavigationTypeFormSubmitted,
    UIWebViewNavigationTypeBackForward,
    UIWebViewNavigationTypeReload,
    UIWebViewNavigationTypeFormResubmitted,
    UIWebViewNavigationTypeOther
这几个标志 除other外都当做当前新打开连接进行保存  在保存同时需要进行超连接是否带"_blank"标记的处理。
带"_blank"标记检测代码如下:
// 判断是否带_blank标记超连接
-(BOOL) isBlankLink:(UIWebView*) webView HttpRequest:(NSURLRequest*) request
{
    if(webView == nil || request == nil)
    {
        return NO;
    }
   
    NSURL* URL = [request URL];
    NSString* URLString = [URL absoluteString];
   
   
    //NSLog(@"对比当前连接是否带有_blank标记");
    //NSLog(@"--------------------------------当前源网址:%@", URLString);
   
    int aLen = [[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName(/"a/").length"] intValue];
    for (int n = 0; n < aLen; n ++)
    {
        // 获取href js脚本串
        NSString* html = [NSString stringWithFormat:@"document.getElementsByTagName(/"a/")[%d].href", n];
       
        // 获取href
        NSString* href = [webView stringByEvaluatingJavaScriptFromString:html];
        // NSLog(@"索号:%d 网址:%@", n,href);
       
        if ([URLString isEqualToString:href])
        {
            //NSLog(@"------------------------找到与当前连接相同网址, 开始测试是否带 _blank标记-------------------------");
            html = [NSString stringWithFormat:@"document.getElementsByTagName(/"a/")[%d].target", n];
            NSString* target = [webView stringByEvaluatingJavaScriptFromString:html];
           
            if([target isEqualToString:@"_blank"])
            {
                // NSLog(@"----------------------------------------------找到_blank标记 返回 yes");
               
                return YES;
            }
            else
            {
                // NSLog(@"-----------------------------------------------没有找到_blank标记");
                break;
            }
        }
    }
   
    return NO;
}

如果检测到“_blank标记” 则需要新建一个标签页来打开当前的网页。
这段代码存在效率问题,需要一个直接获取当前超连接是否有_blank标记的方法,不然每次打开网页时都要慢一些。



解决标签页显示网站图标问题
代码如下:
// 自动生成网站图标 传入一个urlrequest 与默认图标 返回 网站图标
-(UIImage*) webIconImage:(NSURLRequest*) request defaultIcon:(NSString*) name
{
    // 获取请求url
    NSURL* URL = [request URL];
   
    // 主机地址
    NSString* house = URL.host;
   
    // 生成图标路径
    NSString* webIconPath = [NSString stringWithFormat:@"http://%@/favicon.ico", house];
   
    // 生成图标资源url
    NSURL* webIconURL = [NSURL URLWithString:webIconPath];
   
    // 获取图标数据
    NSData* webIconData = [NSData dataWithContentsOfURL:webIconURL];
   
    UIImage* webIconImage;
    if(webIconData != nil)
    {
         webIconImage = [UIImage imageWithData:webIconData];
    }
    else
    {
        webIconImage = [UIImage imageNamed:@"name"];
    }
  
    return webIconImage;
}

深入RK3588嵌入式Linux开发:uboot源码定制化移植实战 本文详细介绍了RK3588嵌入式Linux开发中,如何绕过庞大的官方SDK,从官方仓库获取纯净U-Boot源码并进行定制化移植的完整实战流程。内容包括编译环境搭建、交叉工具链配置、源码结构解析、设备树(Device Tree)修改、环境变量定制、编译脚本编写以及常见问题调试技巧,旨在帮助开发者深入理解系统引导过程,掌握为定制硬件适配U-Boot的核心技能。 阅读详情

相关推荐

动态掩码语言模型(MLM)优化策略:效率提升与最新技术实践

本文深入探讨了动态掩码语言模型(MLM)的优化策略与技术实践,涵盖核心原理、效率优化及2025年最新突破。重点解析了动态掩码在提升模型性能中的关键作用,包括工程实现、掩码策略演进及混合专家动态掩码等创新技术,为自然语言处理领域的研究与应用提供实用指南。

vscode5coder的博客 231

html弹出小窗口刷新主页面,Layui关闭弹出层并刷新父窗口

父页面点击$('#add').click(function () {layer.open({type: 2,title: '新增',shade: 0.3,maxmin: true,resize: true,area: ['800px', '700px'],content: '/projectException/add',success: function (layero, dIndex) {$(l...

weixin_28847199的博客 616

华为[ENSP]—— 实验二、三层交换和ARP的工作原理

华为[ENSP]三层交换和ARP的工作原理

weixin_62594100的博客 6412

layui-数据表格之reload重载

layui.use([ "table", "jquery", "form" ], function() { let table = layui.table, $ = layui.jquery, form = layui.form; reload = function(params) { if (reload.arguments.length == 0) { params = ...

分外蓝 4604

数据产品需求文档(PRD)怎么写?阿里P8分享的模板+5个避坑点

作用:记录文档的版本、作者、评审信息,避免“文档混乱”。填写规范字段说明示例文档名称清晰反映产品名称,如“用户行为分析平台PRD”用户行为分析平台PRD_V1.0文档版本用“版本号+日期”,如V1.0_20240301编写人数据产品经理姓名+联系方式张三(138-XXXX-XXXX)评审人员业务负责人、开发经理、数据分析师、运维负责人李四(业务)、王五(开发)、赵六(数据)、周七(运维)评审时间评审日期2024-03-05评审意见。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1576

1.Fay-UE5数字人工程导入(UE数字人系统教程)

ue5数字人系列教程(含源文件工程)

1万+

Layui 数据表格table 重载reload 保留上次where条件的问题

一、文档地址二、内容1、修改前部分代码2、解决方法(90%是这种情况)3、其他可能解决的办法 一、文档地址 导航:Layui官网 -> 文档 -> 数据表格 -> 表格重载,请移步文档地址 >>> 二、内容 1、修改前部分代码 代码 <script> let tableId = 'tableDemo'; let tableIns = table.render({ //其它参数省略 ,elem: '#' + tableI.

夏已微凉、 2678

用ESP32-S3+OV2640摄像头+ILI9488屏,DIY一个能联网的智能猫眼(附完整代码)

本文详细介绍了如何利用ESP32-S3微控制器搭配OV2640摄像头和ILI9488显示屏,DIY一个功能强大的智能猫眼系统。从硬件选型、电路设计到软件开发,提供了完整的解决方案和优化技巧,包括图像采集显示、WiFi远程访问及低功耗设计,适合智能家居爱好者动手实践。

weixin_30897233的博客 502

Layui treeTable相关

layui官网是没有treeTable这个功能的,需要下载额外的插件实现,幸运的是有符合layui风格的treeTable插件,此篇围绕树状表格讲述。 treeTable官网指路:https://gitee.com/whvse/treetable-lay/wikis/pages 下载 有Gitee账号 官网TreeTable资源下载路径:https://gitee.com/whvse/treetable-lay 无Gitee账号 导入 treeTable的导入方式和layui其他组件一样,都是通过layui

星星点灯的博客 1805

基于smart_rtmp直播,最简单的部署手册

版本号 添加内容 修改时间 V1.0 新建 2021年12月30日 V1.1 增加网页播放 2021年12月31日 V1.2 增加是否可以多流和测试数据 2022年1月5日 目录 一、软件储备 1.推流软件:OBS 2.服务器流媒体软件:smart_rtmp 3.播放软件:Pot...

qq_28768477的博客 1万+

安全监控:人员行为分析_(2).人员行为分析基础理论

人员行为分析是指利用计算机视觉技术对视频中的人类行为进行实时或离线检测、识别和理解的过程。视频采集:通过摄像头等设备获取视频数据。视频预处理:对视频数据进行噪声过滤、图像增强等处理,以便后续分析。特征提取:从视频中提取出与人员行为相关的特征,如人体姿势、动作轨迹等。行为识别:利用机器学习或深度学习模型对提取的特征进行分类,识别出具体的人员行为。行为理解:对识别出的行为进行进一步分析,理解其背后的意图或状态。在人员行为分析中,常用的公开数据集包括UCF101、HMDB51、ActivityNet等。

zhubeibei168的博客 1347

layui前端菜单构建-批量删除-弹框填写-树状菜单-树状下拉框选择treeSelect

异步提交请求 <!DOCTYPE html > <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> <script th:src="@{/js/jquery-1.10.2.js}"></script> <scri...

牧风人的博客 1498

Transformers 实战修炼与源码剖析专栏大纲

本专栏以 Hugging Face Transformers 为主线,围绕“能用、会调、敢上线、懂源码”四个目标展开。内容不把理论堆成公式墙,而是用真实或拟真的业务场景驱动:客服分类、合同抽取、知识库问答、模型微调、推理服务、监控告警、源码扩展等。采用“业务痛点 → 三人剧本对话 → 代码实战 → 总结思考”的四段式结构,让读者在动手完成一个个小项目的过程中,逐步理解 Tokenizer、Model、Pipeline、Trainer、Generation、PEFT、Accelerate、Serving等概念

davidwang456的专栏 927

easyweb新标签页打开

index.openTab({ title: '添加产品', url: 'pages/Order/form/order-add.html', end: function() { // insTb.reload(); } ...

Qian_v1的专栏 964

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

layui table reload 重载

在所有记录中通过姓名搜索需要的数据,     搜索记录为空时返回所有记录     HTML:   方法渲染table: 表格重载:   reload将再次访问servlet 第一次访问:   reload访问: ennn,然后就是后台操作了,我的方法比较笨拙就不贴代码了,but还是记录一下思路吧,前面做分页时查询了所有的记录,然后reload时获取到了sN...

ChauncyTan的博客 15万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

layui树形表格的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 layui树形表格使用 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np

m0_47400722的博客 1577

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Layui treeTable

目录 后端 SpringBoot+Mybatis 第一步从数据库里面查询所有数据 第二步ServiceImpl PageEntity工具类 MenuInfo实体类 第三步Controller 后端 SpringBoot+Mybatis 第一步从数据库里面查询所有数据 SELECT * FROM 表 第二步ServiceImpl public PageEntity<MenuInfo> getMenulnfo(){ return new P...

qq_41043296的博客 1112

基于Layui实现的树形菜单页面

基于Layui实现的树形菜单页面具体方法实现方法一:针对Layui模板的前后端统一更新1. 删除2. 添加3. 后端方法二:基于Dtree实现的纯前端树形增删改文中的组件地址 具体方法实现 实现树形菜单,本文将给出两种实现方式。 针对Layui前端模板EasyWeb iframe未实现的添加\修改\删除节点的功能,这里给出与后端实时同步的前端页面刷新方式实现节点的增删改。 基于Layui扩展的Dtree包,直接实现不依赖于后端的节点增删改,即只是前端样式更改,不会更改后端存放的.json数据。 方法一:

koooooooo5的博客 3605

如何将 iPhone 备份到 iCloud?

iCloud 是苹果公司提供的云存储服务,可帮助 iPhone 用户将重要数据保存到云端。启用 iCloud 云备份后,即使您的 iPhone 丢失、损坏或需要恢复出厂设置,您也可以使用之前创建的备份将受支持的数据恢复到设备上。帮助保存设备设置、应用程序数据、主屏幕布局、消息历史记录和其他信息,降低手机丢失或损坏时数据丢失的风险。启用 iCloud 自动备份后,您的 iPhone 会在满足所需条件时自动创建备份,这样您就不必每次都手动操作。

Digitally的博客 293

macOS 27 升级后,如何用 Xcode 27 继续在 iPhone X(iOS 16)上运行 App?

升级 macOS 27 后,Xcode 27 不再支持 iPhone X(iOS 16)真机调试。通过社区项目 xcode-legacy-device-bridge,将 Xcode 26.6 与 27.0 桥接,生成独立副本,成功实现对 iPhone X(iOS 16.7.16)的构建与运行。需保留原版 Xcode,按指引执行桥接脚本,并处理 WatchKit 校验、Metal 工具链及工程兼容性问题。本方案为实验性,不获官方支持,仅适用于特定版本组合。

Luka的異想世界 311

用 iPhone 扫一间房,AI 帮你在浏览器里 1:1 重建它:Wes Bos 的 scan-to-threejs 工作流

Wes Bos 的 scan-to-threejs 工作流:LiDAR iPhone 扫房间 → 导出采集数据 → AI 代理测量建模 → 同机位照片比对迭代 → Three.js 场景浏览器漫游。拆解采集契约、技能文件与视觉比对三层架构。

话梅糖の优快云 Blog 195

深度 | 端侧大模型从能跑到能用:740亿塞进笔记本,54GB压进iPhone

2026年,端侧大模型迈过“能跑”到“能用”的分水岭。通过极端量化、架构优化与系统整合三路突破,740亿参数模型压缩至22.1GB,27B模型压至3.9GB,24B模型仅激活2B参数,均实现本地高效运行。核心瓶颈从算力转向内存,而llama.cpp、MLX等运行时生态成熟,推动模型下放。微软、OPPO等将大模型纳入系统底座,本地优先调度成胜负手。未来一年,端侧AI将深度融入系统,隐私、延迟与成本优势凸显,真正进入“可用”时代。

summerliyang的博客 598

iPhone 打字总被改错,是键盘学坏了吗?

要开关它,可按住表情符号或地球图标,点「键盘设置」,或到「设置」>「通用」>「键盘」里找「输入预测」或「预测文本」。路径是「设置」>「通用」>「键盘」>「自定义短语」。如果你主要用英文打字,这批帖子里说的「拼错、被自动改成别的词」,和「自动改正」、键盘词典里学到的内容更接近。【图3】苹果官方支持页配图(iOS 26,中文界面):按住表情符号后,可进入「键盘设置」,当前键盘显示为「简体拼音」。路径是:「设置」>「通用」>「传输或还原 iPhone」>「还原」>「还原键盘词典」,再输入密码,点「还原词典」。

weixin_65191557的博客 214

iPhone 本地扩容科普:告别云存储,外接 U 盘怎么选

MFi 认证就是苹果官方的配件准入标准,经过认证的存储配件内置苹果授权芯片,能够和 iOS 系统稳定通信,适配不同系统版本,老款 Lightning 机型和新款 TypeC 机型都能稳定识别Apple Supp...。优质的 iPhone 扩容存储盘会增设独立快充接口,支持 PD 快充,实现边传输数据边给手机补电,长时间外出拍摄,拷贝素材同时维持手机电量,不用频繁插拔切换设备。外出拍摄时,可直接把原始素材拷贝到 U 盘,释放手机机身存储空间,兼顾便携与效率,成为越来越多苹果用户的备选方案。

Maisucsdn的博客 173

苹果手机详细数据分析,KeyMob导出 iPhone 近数月使用记录,App / 硬件分析

iPhone 自带「电池」只给粗糙的耗电占比,想查某个 App 近几个月在后台驻留多久、调用过哪些硬件、哪个时段偷偷联网却无从下手。本文讲清如何用 KeyMob 的数据分析模块查苹果手机详细使用记录:应用前后台时长与能耗、一个 App 用过哪些硬件模块(摄像头/麦克风/蓝牙/基带等)、各硬件耗能随时间变化的读图法,以及资源用量分析「按应用」「按硬件」两个视角,附日期选择、数据空档、会员遮罩等使用前提和与 Xcode Instruments 的分工。

2501_91510632的博客 216

河马引力与MOFT iPhone Duo手机壳对比:外屏翻盖与中轴全包覆的两条路径

如果中轴全包覆、1.2mm薄度与29g/33g的重量控制需要同时成立,并且希望磁吸规格有一个可以核对的牌号,河马引力Duo Veil把这几项写在了同一张规格表上,Veil Mag与Veil Mag Stand之间的唯一分岔是背面是否整合360°旋转支架,重量差约4g,N52磁吸与双加高在两者上完全共享。两者在“是否有可换算成米数的跌落标称”这件事上处于相似的位置,差异不在认证数字,而在防护的执行方式:MOFT靠仿皮革翻盖包裹外屏与边角(卡扣款),Duo Veil靠中轴全包覆结构与双料壳体分散冲击。

lkjaslkdj的博客 195
下一篇: CxImage 在VC2005 DLL方式简单配置
requestImage
博客等级 码龄16年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值