IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者
首页 / 风雨雷电堂
IT 2016-02-21 22:45:35 / 累计浏览 1,240

iOS开发Extra系列:NSString***

这篇讲的是 iOS 开发中最基础也最常用的对象之一:NSString。作者从实际开发角度出发,指出它在 iOS 系统中的许多用法与其他语言存在差异,并系统梳理了相关的实用技巧。 文章首先介绍了使用 `stringWithFormat:` 和 `initWithFormat:` 进行格式化创建字符串的方法,并详细列出了 `%@`、`%d`、`%f` 等常用替换符。接着,重点讲解了用于表示和操作字符串范围的结构体 NSRange,包括其定义、通过 `NSMakeRange` 函数创建,以及在查找子字符串时的返回值应用(如 `rangeOfString:` 方法,以及使用 `NSCaseInsensitiveSearch` 等选项进行精细化查找)。 此外,文章还涵盖了字符串的截取(`substringToIndex:`、`substringWithRange:`)、比较(前缀 `hasPrefix`、后缀 `hasSuffix` 以及 `isEqualToString:` 完全比较)、替换、按分隔符分离成数组,以及读写文本文件等一系列核心操作。这些方法覆盖了日常开发中处理字符串的主要场景。 对于 iOS 开发者而言,这篇内容相当于一份 NSString 的高效查阅手册,快速回顾了这些不可或缺的 API 及其使用要点。

本机暂存
IT 2016-02-18 23:45:10 / 累计浏览 1,960

APP调用Custom URL Scheme

这篇讲的是如何让应用之间通过一个自定义的地址跳转来打开并传递信息,也就是实现Custom URL Scheme。文章从Android和iOS两个主流平台出发,清晰拆解了各自的配置方法与核心代码。 在Android端,核心是在AndroidManifest.xml的Activity中配置intent-filter,指定自定义的scheme(如`mgtv`),并通过Intent或浏览器链接来启动应用,接收端可以获取完整的URI数据。对于iOS,则需要在Xcode项目中设置URL Types,注册你的scheme标识符,并在AppDelegate里实现特定的处理方法来接收调用。文章用`mgtv://?action=play&data=12345`作为贯穿始终的例子,直观地展示了参数如何在应用间流动。 除了基础的启动,文章还深入介绍了如何进行参数解析与应用间通信,比如iOS应用可以判断调用源,并返回一个回调URL来告知调用方执行结果,甚至能在应用未启动时拉起特定页面。这使得URL Scheme不仅仅是打开一个应用,更能支撑起丰富的交互逻辑。 总的来说,这是一篇从配置到实战,覆盖双平台的应用间跳转指南,对于想实现应用深度链接或应用间协作的开发者来说,提供了非常具体的实现路径。

本机暂存
IT 2016-02-16 20:53:22 / 累计浏览 1,820

安卓第三方应用调起常见问题

当Android开发者需要调起其他应用分享或登录时,常常会卡在“如何精确唤起目标页面”这一步。这篇讲的就是解决这个具体痛点。文章没有空谈理论,而是直接给出了核心代码——通过Intent明确指定ComponentName(即包名和Activity名),并辅以常用Activity的ACTION_MAIN和CATEGORY_LAUNCHER标志,确保能从桌面正常启动。 为了让开发者“拿来即用”,作者还贴心地列出了微博、微信、QQ等几个常用应用的具体包名和编辑界面Activity路径。这就像一份速查手册,省去了反复查阅官方文档的时间。 更进一步,文章考虑到了目标应用可能未安装的场景。它演示了两种方案:一是通过PackageManager遍历已安装列表来判断,二是利用Intent的URI Scheme(如`sinaweibo://`)进行直接调用,并最终通过Intent.createChooser提供一个“兜底”选择。如果App未安装,则自动跳转到对应的网页版,实现了体验上的优雅降级。 从直接调起到异常处理,这篇文章为开发者提供了一套清晰、可落地的实施步骤。

本机暂存
IT 2016-02-16 20:45:46 / 累计浏览 1,420

iOS开发检测通讯录权限并申请开启

这篇讲的是开发者在升级到 iOS 6 后,遇到的通讯录访问权限问题。原先正常的代码突然报错,且程序在系统的隐私设置中“隐身”,根本原因在于 iOS 6 对通讯录访问控制进行了收紧,要求应用必须主动向用户请求授权。 作者分析了官方文档后,提供了一个清晰的解决方案:封装一个检查权限的方法。该方法首先通过 `ABAddressBookGetAuthorizationStatus()` 获取当前状态,若非已授权,则主动调用 `ABAddressBookRequestAccessWithCompletion` 发起请求,并通过回调处理结果。文章中给出的代码,巧妙地利用 `dispatch_async` 确保回调在主线程执行,方便更新 UI。 实际应用时,开发者可以在关键路径调用此方法。如果用户首次拒绝了授权,就只能引导其前往系统设置手动开启。这个封装的方法将权限检查与请求逻辑整合在一起,为解决此类权限问题提供了一个可复用的实践模板。

本机暂存
IT 2016-02-16 20:32:38 / 累计浏览 1,920

苹果iOS系统下检查第三方APP是否安装及跳转启动

这篇讲的是如何在iOS系统中检测其他APP是否安装,并实现跳转启动。作者从移动端常见的“应用间跳转”需求出发,详细介绍了基于URL Scheme框架的解决方案。核心方法是通过调用`canOpenURL:`方法判断目标APP的Scheme是否被系统支持,从而得知其是否安装;再使用`openURL:`方法即可唤起对应应用。文章不仅给出了清晰的代码示例(如检测和启动QQ),还整理了一份极其详尽的“常用APP的URL Scheme前缀”列表,覆盖社交、出行、工具、娱乐等上百款应用,甚至包括部分系统功能设置的跳转路径。 对于iOS开发者而言,这份列表省去了大量查阅官方文档的时间。无论是想快速集成第三方登录、分享功能,还是探索应用间的数据传递与交互,文中提供的方案都直观且易于实现。需要注意的是,自iOS 9起,使用`canOpenURL`需要在项目的`Info.plist`中声明要查询的Scheme,文章虽未深入讨论此权限变更,但其提供的基础逻辑与Scheme索引仍具很高的实用参考价值。

本机暂存
IT 2016-02-15 17:08:09 / 累计浏览 4,000

苹果iOS系统下的推送机制及实现

这篇指南从iOS应用在后台无法持续运行、难以实时通知用户的现实问题出发,详细剖析了苹果推送通知服务(APNS)的完整解决方案。 核心是讲解APNS的工作流程:应用获取设备标识(device token)并交由你的服务器保管;当需要推送时,服务器向APNS发起请求,再由APNS将通知分发到用户设备。文章清晰地拆解了从用户授权、证书配置到通知主体JSON格式编写的全过程,包括alert、sound、badge等字段的具体用法。 更重要的是,它指出了开发者必须注意的关键点:APNS并不能保证通知的送达率和实时性,发送延迟或失败是常态;同时,在苹果的证书和配置文件体系下进行设置的过程相当繁琐,需要开发者耐心操作。文中还探讨了维护推送服务可能带来的服务器负载与成本问题。 如果你正在为iOS应用寻找后台唤醒用户的方法,那么这篇从原理到实践、兼顾理想与现实限制的讲解,会是一个扎实的起点。

本机暂存