iphone上daemon进程设置应用的badge(徽章)
来源:互联网 发布:微信mac安装包 编辑:程序博客网 时间:2024/05/16 15:30
在我们的应用程序中,我们要设置badge(徽章)是一件很简单的事情,系统提供了标砖函数,UIApplication 类的setApplicationIconBadgeNumber函数就可以
但是当我们运行一个后台进程,并且想在后台进程中给前台没有运行的应用设置徽标就没那么容易了,典型的是后台是一个没有界面的daemon,下面告诉你一个实现的方法
此方法在4.x上依然是有效的
原理是利用苹果自己的iTunesStore中的函数,这个是一个私有的framework,我们首先要做的是导出其头文件
利用class-dump导出 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/iTunesStore.framework/iTunesStore
使用的命令如下:
class-dump -H /Developer/xcode_3_2_3/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/iTunesStore.framework/iTunesStore -o ~/Desktop/itunesstore
上面的意思是将其头文件导出到桌面的itunesstore文件夹下,当然前提是你装了class-dump,否则是没有此命令的
导出后,在/Developer/xcode_3_2_3/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/iTunesStore.framework下面建立一个Heads文件夹,将导出的头文件中的ISSpringBoardUtility.h头文件放到Heads文件夹下
在你的应用中加入iTunesStore.Framework库(这个库是私有的,你要自己定位到它,在系统提供的库中是默认没有的)
给应用加badge如下
ISSpringBoardUtility *util = [[ISSpringBoardUtility alloc] init];
[util setBadgeString:value forIdentifier:bundleIdentifier];
[util release];
其中的value是你要添加的badge中的字符串(可以是数字字符串),bundleIdentifier是应用的标识符,典型的应用标识符是@"com.yourcompany.youapp"
当然了,你可能需要获取原有的徽章上的数字或者是字符串,需要使用的是下面的函数
ISSpringBoardUtility *util = [[ISSpringBoardUtility alloc] init];
NSSTring * badgestring=[util badgeStringForIdentifier:bundleIdentifier];
你可以将其转换成数字,这样你就获取了原来的badge上的数字了
- iphone上daemon进程设置应用的badge(徽章)
- 设定应用程式上的 Badge -- IOS
- Android Badge徽章框架
- Android应用图标上的小红点Badge实现
- Android上的Badge,给应用添加角标
- Android上的Badge,给应用添加角标
- Android应用图标上的小红点Badge实现
- Android应用图标上的小红点Badge实现
- Google MDL Badge - 徽章, 小红点?
- BootStrap--CSS组件-- 徽章(badge)
- 设置按钮的徽章文本
- 设置按钮右上角的badge
- iphone应用在ipad上的启动画面设置
- Bootstrap—标签label和徽章badge
- Bootstrap基础10——徽章badge
- Linux daemon进程的应用、实现和原理
- GitHub 项目徽章的添加和设置
- daemon进程的简介
- WINCE BSP中source文件中的宏定义
- TextBox只能输入数字的验证
- 使用eclipse+gdb进行arm板嵌入式linux远程调试的配置方法
- 如何在Ubuntu10.04系统手动安装gcc
- 如何在VC中显示动态的GIF
- iphone上daemon进程设置应用的badge(徽章)
- 【转】使用J-Link GDB Server + Eclipse CDT进行ARM程序调试
- 悲催的程序员,以及程序员的悲催
- js---press the Enter key to submit
- 关于内存管理
- SCP命令的含义及使用
- 文本转换成图片
- 提升程序的特权(AdjustTokenPrivileges)
- 数据合并[] union []