Posts

Showing posts with the label iOS

A New Collection of Thoughtful Learning Apps — Now Available on iOS & Android

Image
I’m excited to share a set of mobile apps I’ve recently completed and published on both the Google Play Store and the Apple App Store. These apps are designed with a simple goal in mind: to make meaningful, structured content more accessible, whether you’re studying theology or improving your English vocabulary. 📱 Now Available on Both Platforms All apps are live and available for download: Google Play Developer Page: https://play.google.com/store/apps/dev?id=5835943159853189043 Apple App Store Developer Page: https://apps.apple.com/ca/developer/q-z-l-corp/id1888794100 📖 Theology & Confession Study Apps For those interested in Reformed theology and classical Christian teachings, I’ve developed a series of apps that present foundational texts in a clean, focused reading format: The Belgic Confession Canons of Dort Heidelberg Catechism Westminster Shorter Catechism Each app is designed to provide a distraction-free experience, making it easier to read, reflect, and revisit these im...

React Native iOS 修复:MaterialIcons 显示 “?”(字体未加载问题完整解决方案)

Image
React Native iOS 修复:MaterialIcons 显示 “?”(字体未加载问题完整解决方案) 如果你的 React Native 应用在 iOS 上显示 ? 而不是 MaterialIcons 图标,通常是因为 iOS 没有正确加载图标字体导致的。 本文将讲解: 问题出现的原因 完整修复方法 常见坑:Multiple commands produce MaterialIcons.ttf 问题现象 你可能在代码中使用: import MaterialIcons from '@react-native-vector-icons/material-icons'; 并这样渲染图标: <MaterialIcons name="dashboard" size={24} color="#2563eb" /> 但在 iOS 上出现: 显示 ? 图标为空白 图标无法显示 根本原因 问题的核心是 MaterialIcons.ttf 没有被正确加载到 iOS App Bundle 中。 在 iOS 中,字体必须满足: 被加入 App 资源文件 在 Info.plist 中注册 如果缺少任何一步,iOS 就无法渲染字体图标,只会显示 ? 。 解决方案(推荐做法) 第一步:在 Info.plist 注册字体 打开文件: ios/<YourAppName>/Info.plist 添加以下内容: <key>UIAppFonts</key> <array> <string>MaterialIcons.ttf</string> </array> 如果已经存在 UIAppFonts ,只需追加: <string>MaterialIcons.ttf</string> 第二步:清理并重新构建 iOS 项目 修改 Info.plist 后必须重新编译 App。 方法一:Xcode Product → Clean Build F...

React Native iOS Fix: MaterialIcons Showing “?” (Font Not Loaded) – Complete Guide

Image
React Native iOS Fix: MaterialIcons Showing “?” (Font Not Loaded) – Complete Guide If your React Native app is showing ? instead of MaterialIcons on iOS, the issue is almost always caused by a missing or unregistered icon font in the iOS build. This guide explains: Why this happens How to fix it properly How to avoid the common “Multiple commands produce MaterialIcons.ttf” error Symptoms You are using: import MaterialIcons from '@react-native-vector-icons/material-icons'; And rendering icons like: <MaterialIcons name="dashboard" size={24} color="#2563eb" /> But on iOS, you see: A ? instead of icons Blank icons Or missing glyphs Root Cause The issue happens because MaterialIcons.ttf is not properly loaded in the iOS app bundle. On iOS, fonts must be: Included in the app resources Registered in Info.plist If either step is missing, iOS cannot render the icon font and falls back to ? . Fix...

React Native TTS iOS 问题全解析:修复 BOOL 错误与事件监听失效(2026 实战指南)

Image
React Native TTS iOS 问题全解析:修复 BOOL 错误与事件监听失效(2026 实战指南) 在 React Native 中使用文本转语音(TTS)本来很简单,但在 iOS 上却可能踩坑。 本文总结了两个非常常见但又很隐蔽的问题,并提供经过验证的解决方案。 🧨 问题一:Objective-C type BOOL is unsupported 错误信息 TextToSpeech.setDefaultRate(): Error while converting JavaScript argument to Objective C type BOOL convert javascript argument to object C type Bool object C type bool is unsupported 🔍 根本原因 这 不是你的代码问题 。 这是由于 iOS 原生桥接层(Objective-C)类型定义错误导致的,尤其在 React Native 新架构(Fabric / TurboModules)下更容易触发。 部分版本的 react-native-tts 错误地使用了: (BOOL *)onWordBoundary ❌ 错误 而 React Native bridge 不支持 BOOL 指针类型 ,只支持: BOOL NSNumber * ✅ 解决方案 https://github.com/ak1394/react-native-tts/issues/291 使用已修复的 fork 版本: @iternio/react-native-tts npm install @iternio/react-native-tts 该版本已修复 iOS 类型问题,可以正常运行。 ⚠️ 问题二:事件监听器未注册 警告信息 Sending `tts-start` with no listeners registered. 即使你已经写了监听: Tts.addEventListener('tts-start', () => { setIsSpeaking(true); }); 🔍 根本原因 问题在于: ...