推荐项目:Poes - iOS模拟器推送通知的得力助手

推荐项目:Poes - iOS模拟器推送通知的得力助手

PoesA Swift command-line tool to easily send push notifications to the iOS simulator项目地址:https://gitcode.com/gh_mirrors/po/Poes

在开发iOS应用时,测试推送通知常常是一个繁琐且必要的过程。今天,我们为大家带来一款名为Poes的开源工具,它专为简化这一流程而生,让开发者能够便捷地在iOS模拟器上发送和测试推送通知。

项目介绍

Poes是一款基于Swift 5.1编写的命令行工具,旨在帮助iOS开发者高效生成和发送推送通知到模拟器中。通过简洁的命令行接口,Poes使得测试通知变得直观简单,无需复杂配置,即可快速验证推送逻辑是否正常工作。

Poes项目状态

技术分析

Poes利用了Swift强大的类型安全性和现代编程特性来构建其核心逻辑。项目采用Swift Package Manager作为依赖管理工具,保证了跨平台的兼容性和简便的版本控制。它设计精巧,通过一个名为PoesCore的框架抽象出核心功能,预示着未来可能扩展图形界面应用的潜力,展现了高度的可扩展性。

应用场景

此工具特别适用于以下几个场景:

  • 快速迭代测试:对于需要频繁调整推送通知内容或样式的开发周期。
  • 教程与演示:在教学环境中展示如何接收和处理推送通知,无需真机。
  • 自动化测试:集成到持续集成(CI)流程中,自动化测试推送通知的接收与显示。

项目特点

  1. 易用性:通过简单的命令行指令,即便是初学者也能快速上手,如poe send com.exampleApp
  2. 灵活性:支持自定义标题、正文、角标等,满足多样化的测试需求。
  3. 即时反馈:实时生成并展示JSONpayload,发送成功后有明确的反馈信息。
  4. 基于Swift:使用最新Swift语言编写,符合现代iOS开发趋势。
  5. 文档齐全:详细的文档和FAQ,以及相关的博客文章,为学习和使用提供充足资源。

安装与尝试

安装Poes极为简便,借助Mint,一行命令即可完成:

mint install AvdLee/Poes

随后,您就能通过命令行轻松玩转推送通知测试,大大提升开发效率。

Poes以其独特的命名(荷兰语中“Poes”与“Push”的发音相近)、简易的操作和强大的功能,无疑成为了iOS开发者工具箱中的新宠。无论是新手还是经验丰富的开发者,都能从中受益,使推送通知的调试过程更加顺畅愉快。赶紧加入Poes的使用者行列,享受更高效的iOS开发体验吧!


本篇文章旨在推荐并简要解析Poes项目,希望能够激发你的兴趣,并在未来的iOS项目中考虑使用它来简化推送通知的测试过程。

PoesA Swift command-line tool to easily send push notifications to the iOS simulator项目地址:https://gitcode.com/gh_mirrors/po/Poes

for (int camera_index = 0; camera_index < this->m_safe_camera_list.size(); ++camera_index) { camera* cam = &(this->m_safe_camera_list[camera_index]); if (cam->m_is_exter_calib_check_mark == true) { // as a Internal reference K of the camera, the K-1 is : // 1/ax 0 -px/ax // 0 1/ay -py/ay // 0 0 1 Eigen::Matrix3f invk; invk.setIdentity(); invk(0, 0) = 1.0 / cam->m_inter_calib(0, 0); invk(0, 2) = -1.0 * cam->m_inter_calib(0, 2) / cam->m_inter_calib(0, 0); invk(1, 1) = 1.0 / cam->m_inter_calib(1, 1); invk(1, 2) = -1.0 * cam->m_inter_calib(1, 2) / cam->m_inter_calib(1, 1); Eigen::Vector3f tmp_t_verts = cam->m_exter_calib.topRightCorner(3, 1); Eigen::Matrix3f tmp_inv_r_mat= cam->m_exter_calib.topLeftCorner(3, 3).transpose(); Eigen::Vector3f tmp_root_point = -tmp_inv_r_mat * tmp_t_verts; for (int pose_index = 0; pose_index < cam->m_2D_pose_list.size(); ++pose_index) { Eigen::MatrixXf pose = cam->m_2D_pose_list[pose_index]; // check the pose's Confidence, if all the joints's confidiance is smaller than the gain, drop out float confidence = pose.row(2).maxCoeff(); if (confidence < this->m_joint_confidence_gian) { continue; }; my_radials tmpradials; tmpradials.m_2d_pose = pose; tmpradials.m_root_point = tmp_root_point; tmpradials.m_radials_points = (invk * pose.topRows(2).colwise().homogeneous()).colwise().normalized(); tmpradials.m_radials_points = tmp_inv_r_mat * tmpradials.m_radials_points; tmpradials.m_3d_pose_ID = -1; tmpradials.m_camera_index = camera_index; tmpradials.m_poes_index = pose_index; tmpradials.m_pose_confidence = pose.row(2).leftCols(7).sum(); this->m_3d_radials.push_back(tmpradials); } } }
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郜垒富Maddox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值