Qt读取苹果系统OSX上的plist资源文件

http://blog.csdn.net/u014597198/article/details/52672727

先讲一下整体流程:

1、先在X-Code上创建.h和.mm文件,并写出主要读取资源文件函数和接口

2、把.h和.mm文件添加到Qt中,并写出C++间接调用接口

3、把界面和调用读取plist资源文件接口联系起来


对于MAC上的应用软件的信息读取,一般是对于该应用程序的info.plist的解析。

解析方法:

a、采用QT的Dom接口进行解析 ,就是把苹果的info.plist文件当成xml文件来解析,具体解析和解析XML方式一致,很简单,这里就不啰嗦了。

b、采用Object-C读取,然后通过C++来调用。第二种也比较容易,但是存在OC知识的陌生性,下面我们来一起进入第二种方法的解析吧。(说到要用Object-C,不得不提.mm文件和.m文件的差异性,这里我们用.mm文件。.mm文件除了可以包含Objective-C和C代码以外还可以包含C++代码,而.m文件只能包含Objective-C和C代码。这里我们要用到.mm文件,.mm文件可以直接用苹果电脑的X-Code开发平台生成,头文件还是.h。)

完成接口的话如图:


现将如图.mm文件代码公布如下:

#include "readDeviceInfo.h"
#include <QDebug>
#import <Foundation/Foundation.h>
#import <iostream>
#ifdef Q_OS_OSX
    #import <Cocoa/Cocoa.h>
#endif

#import <GLKit/GLKit.h>
ReadDeviceInfo::ReadDeviceInfo()
{
}


QString ReadDeviceInfo::getAppNameStr()
{
    NSString *executableFile = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleExecutableKey]; //获取项目名称
    return QString::fromNSString(executableFile);
}

QString ReadDeviceInfo::getAppPublicVersion()
{
    NSString *executableFile = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleInfoDictionaryVersionKey]; //获取外部版本
    return QString::fromNSString(executableFile);
}

QString ReadDeviceInfo::getAppPrivateVersion()
{
    NSString *executableFile = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey]; //获取内部版本
    //NSString *executableFile = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleVersion"];
    return QString::fromNSString(executableFile);
}


以上是苹果提供的最常用的三个接口,还有如下接口:

const CFStringRef kCFBundleInfoDictionaryVersionKey;
const CFStringRef kCFBundleExecutableKey;
const CFStringRef kCFBundleIdentifierKey;
const CFStringRef kCFBundleVersionKey;
const CFStringRef kCFBundleDevelopmentRegionKey;
const CFStringRef kCFBundleNameKey;
const CFStringRef kCFBundleLocalizationsKey;



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计源源码,详情请查看源内容中使用说明 YOLO高分设计源源码,详情请查看源内容中使用说明 YOLO高分设计源源码,详情请查看源内容中使用说明 YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明YOLO高分设计源源码,详情请查看源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值