跳到主要内容

172 篇博文 含有标签「iCoding」

个人简介

查看所有标签

极光切公有云之鑫联盟

· 阅读需 2 分钟
Quany
软件工程师

Android 原生对接

  1. 熟悉极光公有云 SDK API;
  2. 设计桥接方法;
    • 初始化: appKey,环境设定;
    • 获取注册 ID;
    • 监听消息推送;
    • 设置别名;

以下是 react-native-code-push 9.0.0 版本相对于上一版本(8.3.1)的主要更新内容:

9.0.0 版本的主要变化

  • 隐私清单功能:新增了隐私清单功能,由贡献者 DordeDimitrijev 提供,增强了对隐私法规的遵守和用户透明度。

  • 演示代码推送应用脚本修复:修复了创建演示 CodePush 应用程序的脚本,提高了开发者测试该功能的可用性。

  • 命名空间定义迁移:命名空间定义已迁移到 build.gradle 文件中,这可能有助于简化配置过程。

  • ZipArchive 版本更新:ZipArchive 的版本提升至 2.5.5,有可能解决早期版本中的错误或安全漏洞。

  • 破坏性变更:最低支持的 iOS 和 tvOS 版本提高至 15.5,这可能会影响与旧设备和操作系统的兼容性。

这些更新旨在提升 CodePush 服务的功能和安全性,使其在 React Native 移动应用开发中更加稳健。

微信公众号

微信公众号

极光切公有云之鑫联盟Android

· 阅读需 2 分钟
Quany
软件工程师

极光切公有云接入鑫联盟出现的问题

运行环境:

  • "react-native": "0.59.10",
  • "jcore-react-native": "2.2.3",
  • "jpush-react-native": "3.1.2",

Android 环境

构建时出现的问题

  1. 不支持namespace;

报错信息:

危险

Build file '/Volumes/Samsung/sxf/rn/uxlm-app/node_modules/jpush-react-native/android/build.gradle' line: 10

A problem occurred evaluating project ':jpush-react-native'.

Could not find method namespace() for arguments [cn.jiguang.plugins.push] on extension 'android' of type com.android.build.gradle.LibraryExtension.

  • Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':jpush-react-native'.

处理办法:注释掉

运行 App 时出现的问题

  1. packageName 获取不到;
危险

Caused by: java.lang.RuntimeException: Cannot read packageName from /Volumes/Samsung/sxf/rn/uxlm-app/node_modules/jpush-react-native/android/src/main/AndroidManifest.xml

定义package="com.suixingpay.tssapp",会报如下错误:

危险

Type com.suixingpay.tssapp.BuildConfig is defined multiple times: /Volumes/Samsung/sxf/rn/uxlm-app/android/app/build/intermediates/mixed_scope_dex_archive/devDebug/out/com/suixingpay/tssapp/BuildConfig.dex, /Volumes/Samsung/sxf/rn/uxlm-app/android/app/build/intermediates/mixed_scope_dex_archive/devDebug/out/94014fa2f8dbb5fffcb8d061b5a179ca085642193f39b3ca55a3ec960366a279_1.jar:classes.dex**

  1. js调用报错:
危险

TypeError: _jpushReactNative.default.init is not a function

  1. JCore 错误
危险

2024-11-29 18:00:06.100 9230-22686 JIGUANG-JCore com.suixingpay.tssapp E [CheckManifestHelper] [key-step]errorcode:10001,metadata: JCore appKey - not defined in manifest

微信公众号

极光切公有云之结赢伙伴iOS通信

· 阅读需 1 分钟
Quany
软件工程师
  • javascript 准备

*** 单独代理使用

/Volumes/Samsung/Home/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server=127.0.0.1:7897 https://www.perplexity.ai

*** 通知消息,iOS,需要选择开发环境

*** gradle oss 优化,解决下载难题

或者放在前端一台服务器上

  • distributionUrl

微信公众号

极光切公有云之结赢伙伴问题修复

· 阅读需 4 分钟
Quany
软件工程师
  • javascript 准备
  • ios 联调准备好

一些感悟

每个人都会创造知识和积累出经验,没有渠道展示,变成收入

用 AI 来处理创造的知识,积累出的经验,并输出展示,变成收入;

perplexity 搜索

Trigger.dev 是一个开源平台,旨在为应用程序创建和管理长期运行的后台任务,特别是那些使用 JavaScript 和 TypeScript 构建的应用。它使开发人员能够在不受传统无服务器环境限制(如超时)的情况下运行任务,非常适合需要大量处理或 API 交互的应用。

Trigger.dev 的主要特点

**** 长期运行的任务

  • 无超时限制:与许多无服务器平台施加严格执行限制不同,Trigger.dev 允许任务无限期运行,这对于复杂操作至关重要。

  • 指数退避重试:系统会自动以逐渐增加的延迟重试失败的任务,从而提高可靠性。

**** 可扩展性和管理

  • 无需管理基础设施:开发人员可以专注于编写代码,而无需担心服务器管理。Trigger.dev 自动处理部署和扩展。

  • 按需付费定价:用户仅为任务执行期间消耗的资源付费,使其具有成本效益。

**** 可观察性和调试

  • 全面可观察性:用户可以通过详细日志和跟踪视图监控任务执行情况,包括高级过滤选项以快速识别问题。

  • 自定义警报:可以通过电子邮件、Slack 或 Webhook 设置任务失败或其他重要事件的通知。

如何开始使用 Trigger.dev

要开始使用 Trigger.dev,请按照以下步骤操作:

  1. 创建账户:在 Trigger.dev 网站上注册以访问该平台。

  2. 初始化项目:使用 CLI 工具在本地环境中设置新项目。命令 npx trigger.dev@latest init 将初始化项目结构。

  3. 编写任务:使用提供的 SDK 在代码库中定义任务。例如:

    import { task } from "@trigger.dev/sdk/v3";

    export const helloWorld = task({
    id: "hello-world",
    run: async (payload) => {
    console.log(payload.message);
    },
    });
  4. 部署任务:编写完任务后,使用命令 npx trigger.dev@latest deploy 部署它们。该命令将代码上传到 Trigger.dev 云或您自托管的实例。

  5. 监控和调试:利用仪表板监控任务运行情况,并排查出现的任何问题。

使用场景

Trigger.dev 特别适合需要以下功能的应用:

  • API 集成:无缝集成各种 API,而不必担心超时问题。

  • 定时作业:设置类似 cron 的作业,在指定时间间隔内执行。

  • 事件驱动工作流:根据来自外部系统(例如 Webhook)的事件执行任务。

社区与资源

Trigger.dev 拥有一个活跃的社区,开发人员可以分享项目、寻求帮助并为平台做出贡献。文档提供了关于编写任务、部署以及与其他服务集成的广泛指南。此外,GitHub 上还提供了示例项目,以帮助您快速入门。

总之,Trigger.dev 为现代 web 应用程序中的后台作业管理提供了强大的解决方案,特别适合希望利用 Node.js 环境而不受传统无服务器架构限制的开发人员。

Featurebase

Featurebase 是一个多功能平台,主要用于收集、组织和分析用户反馈,以帮助产品团队做出更好的产品决策。它为快速增长的初创公司提供了一个集中的工具,旨在简化反馈收集和特性管理过程。

主要功能

  • 反馈收集:Featurebase 允许用户创建互动反馈门户或在其应用中嵌入小部件,从而轻松捕获用户反馈。

  • 特性优先级与规划:通过分析用户需求,帮助团队明确下一步要构建的功能。

  • 发布更新:通过持续的更新和变更日志,提升新功能的认知度,确保用户了解最新的产品改进。

  • AI 辅助功能:利用人工智能检测重复反馈,自动合并相似请求,简化管理流程。

  • 集成现有工具:Featurebase 可以与 Intercom、Linear、Slack 等工具无缝集成,以便在一个地方组织用户反馈及其上下文。

使用场景

Featurebase 特别适合以下情况:

  • 产品开发:帮助产品经理和开发团队有效管理产品特性生命周期,从构思到维护、版本控制和退役。

  • 用户社区建设:为用户提供一个反馈社区,让他们能够提出建议并对功能请求进行投票。

  • 数据驱动决策:通过实时分析用户反馈,支持数据驱动的产品决策。

总结

Featurebase 是一个强大的工具,适合希望提高用户参与度并优化产品开发流程的团队。它提供了简单直观的界面,使得收集和管理反馈变得轻松高效。

微信公众号

极光切公有云

· 阅读需 1 分钟
Quany
软件工程师

一、SDK集成

1.1 iOS集成

1.1.1 cocoapods 自动集成方式(推荐

pod 'JCore', '4.8.0' //可选,也可由pod 'JPush'自动获取 
pod 'JPush', '5.4.0' //必选

用 AI 制作儿童教育视频

  1. 分析自己孩子的需求;
  2. 顺便输出;争取一些外部费用;

微信公众号

mdb 开发

· 阅读需 5 分钟
Quany
软件工程师

校验和

数据包大小

指令位数

数据位数

校验

写回去

备注

写个告示

如何基于chromium 开发自己的浏览器

要基于Chromium开发自己的浏览器,您可以遵循以下步骤。这些步骤涵盖了从设置开发环境到构建和自定义浏览器的各个方面。

1. 设置开发环境

安装依赖

在开始之前,您需要安装一些必要的工具和库:

  • Git:用于克隆Chromium源代码。
  • Python:Chromium构建系统使用Python脚本。
  • Node.js:某些工具和依赖项可能需要Node.js。
  • Visual Studio(Windows)或 Xcode(macOS):用于编译和调试。

获取Chromium源代码

使用以下命令克隆Chromium源代码:

# 安装depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH:/path/to/depot_tools"

# 创建一个目录并进入
mkdir chromium && cd chromium

# 获取源代码
fetch --nohooks chromium
cd src

# 同步依赖项
gclient sync

2. 编译Chromium

在源代码目录中,使用以下命令编译Chromium:

# 生成构建文件
gn gen out/Default

# 编译
ninja -C out/Default chrome

编译完成后,您将在 out/Default 目录中找到可执行的Chrome浏览器。

3. 自定义浏览器

修改源代码

您可以根据需要修改Chromium的源代码。以下是一些常见的自定义选项:

  • UI修改:更改浏览器的用户界面,例如地址栏、标签页等。
  • 功能添加:添加新的功能或扩展,例如书签管理、隐私设置等。
  • 修改渲染引擎:如果需要,可以修改渲染引擎的行为。

添加新功能示例

例如,您可以在 chrome/browser/ui 目录中找到与用户界面相关的文件。您可以修改这些文件以添加新的按钮或功能。

4. 测试和调试

在开发过程中,您可以使用以下命令启动您的自定义浏览器并进行调试:

out/Default/chrome --user-data-dir=/path/to/user/data --no-sandbox

使用 --user-data-dir 参数指定用户数据目录,以便测试时不会影响现有的Chrome配置。

5. 打包和发布

一旦您完成了自定义和测试,可以打包您的浏览器以供分发。使用以下命令创建可发布的版本:

gn gen out/Release --args='is_debug=false'
ninja -C out/Release chrome

这将在 out/Release 目录中生成可发布的Chrome浏览器版本。

总结

基于Chromium开发自己的浏览器涉及设置开发环境、获取和编译源代码、进行自定义以及测试和打包。通过这些步骤,您可以创建一个符合自己需求的浏览器,并根据需要不断扩展其功能。确保参考Chromium的官方文档,以获取更多详细信息和最新更新。

要将Chromium打包成iOS应用程序,您需要遵循一系列步骤。这些步骤包括设置开发环境、获取Chromium源代码、编译为iOS应用以及进行必要的配置和测试。以下是详细的步骤:

1. 设置开发环境

安装必要的软件

  • Xcode:用于iOS应用开发,确保安装最新版本。
  • CMake:用于构建系统。
  • Python:Chromium构建系统需要Python。
  • Git:用于克隆Chromium源代码。

配置iOS开发环境

确保您已安装Xcode并配置了命令行工具。在终端中运行以下命令以确认:

xcode-select --install

2. 获取Chromium源代码

使用以下命令获取Chromium源代码:

# 安装depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH:/path/to/depot_tools"

# 创建一个目录并进入
mkdir chromium && cd chromium

# 获取源代码
fetch --nohooks ios
cd src

# 同步依赖项
gclient sync

3. 编译Chromium为iOS应用

在Chromium源代码目录中,使用以下命令编译Chromium为iOS应用:

# 生成构建文件
gn gen out/Default --args='target_os="ios" is_debug=false'

# 编译
ninja -C out/Default chrome_ios

这将生成一个iOS应用程序,通常位于 out/Default/ 目录中。

4. 配置和自定义

修改应用设置

如果您想自定义浏览器的外观或功能,可以在 chrome/browserchrome/app 目录中找到相关代码。您可以修改用户界面、添加功能等。

添加权限和配置

确保在 Info.plist 文件中添加必要的权限,例如访问互联网的权限:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

5. 测试和调试

将生成的iOS应用程序加载到Xcode中进行测试。打开Xcode,选择项目文件,然后选择您的目标设备进行构建和运行。

使用Xcode进行调试

在Xcode中,您可以使用调试工具来检查应用程序的性能和功能。确保没有错误并且所有功能正常运行。

6. 打包和发布

一旦您完成了所有自定义和测试,可以准备发布iOS应用程序。确保进行适当的签名和优化,以便在App Store上发布。

签名应用程序

使用Xcode的“归档”功能来创建可发布的版本,并确保使用正确的证书进行签名。

总结

通过以上步骤,您可以将Chromium打包成一个iOS应用程序。这个过程涉及设置开发环境、获取和编译源代码、进行自定义以及测试和发布。确保根据您的需求进行适当的修改,并参考Chromium的官方文档以获取更多详细信息和最新更新。

微信公众号