ios开发环境搭建,IOS开发工程

iOS开发-iCloud环境配置及使用

配置iCloud,首先你就先要有一个真实的苹果开发者账号,没错,就是一年688的那个。开通了之后,在Xcode中新建一个项目。然后在 TARGETS - Capabilities - iCloud 中打开开关就可以了。

荥经网站建设公司成都创新互联公司,荥经网站设计制作,有大型网站制作公司丰富经验。已为荥经近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的荥经做网站的公司定做!

就像这样,是不是很简单啊。

诶,可是好像有什么地方不对,有些地方爆红了。

这是因为我们还没有给这个App ID 注册,所以接下来我们去苹果的 开发者官网 添加一个App ID,在添加的时候勾选 iCloud 服务就可以啦。

什么?你说你已经创建过App ID了???没关系,在管理App ID这边选择 Edit ,然后在勾选 iCloud 也是一样的。

这时候回到Xcode中在看一下,应该就已经没有爆红了吧。

什么???还有爆红??? 那你重启一下XCode试试吧。再不行,你重启一下电脑试试好了。

在Xcode中 iCloud 下边一共有三个可以勾选的服务,其中第一个就是 key-value storage ,这个也是最简单的 iCloud 使用方法了,他跟 NSUserDefaults 的使用方法基本一样,都是以键值对的方式存储数据。只不过处理iCloud的类为 NSUbiquitousKeyValueStore 。

存储数据的方式很简单,只要使用 setObject:forkey: 之后,使用 synchronize 同步一下就可以了。

获取数据的方式也一样,是要使用 objectForKey 就可以了。

看一下 NSUbiquitousKeyValueStore 的头文件,我们发现他还有一个通知消息

注册这个通知,就可以在数据修改的时候接收到通知,然后做对应的处理。最好的验证方法就是在存储了数据之后直接删除掉这个app,然后再次安装,这个时候就会触发该通知。

先放一下demo的[ 地址 。

以上就是关于配置iCloud和key-value存储的简单使用,后边我们再看看其他两种服务是怎么样使用的。

相较于key-value的存储类型,Documents是用来管理一些比较大的文件,比如用户创建的文档等等。

在我们打开iCloud选项的时候,系统就是自动为我们添加一个 xxx.entitlements 的文件,这个东西用来保证应用的安全性,确保只有你的应用才能访问你自己创建的文档,系统也是依赖于他来区分用户的iCloud账户中每个应用的文档。

查看这个 xxx.entitlements 我们会发现在他里边有这样的一个key Ubiquity Container Identifiers ,对应的value为 iCloud.$(CFBundleIdentifier) 。其实这个 $(CFBundleIdentifier) 就代表这你的APP ID。所以也可以看成是 iCloud.com.zzr.ZZRiCloudDemo 。

NSFileManager 主要是对文件的操作,我们用它来获取iCloud的存储地址。

根据我们的entitlements,通过 NSFileManager 就可以获得iCloud的存储地址,在获取地址之后,我们要先判断一下获取的地址是否为空,如果这个地址为空,则说明用户的iCloud暂时不可用,接下来一切的操作都没办法进行下去。

UIDocument 主要是用于对文件内容的操作。

其实获取了文件的地址之后,我们已经可以直接对文件进行操作了,但是官方还是让我们通过 UIDocument 来操作,因为当我们在对iCloud进行操作的时候,不止是只有我们自己对他进行操作, iCloud daemon 也会对iCloud操作,用 UIDocument 操作能够保证存取安全。

在使用 UIDocument 之前,我们新建一个类,继承于 UIDocument ,并且重写两个方法:

NSMetadataQuery 主要用来查询数据。

有了之前的准备工作,创建一个文档就非常简单了,只要创建好我们要保存的文件,通过

就可以将文档上传到iCloud中了。

我们以一个txt文件作为示范。

修改文档,其实就是重写文档,就是将上边创建文档中的 UIDocumentSaveForCreating 改为 UIDocumentSaveForOverwriting 。

删除文档其实就是通过之前的地址获取到文件,然后调用remove方法即可。

之前讲了增加、删除、修改,好像增删改查中只剩下查询这个方法没有介绍了。查询和前边几个有点不同,他需要用到 NSMetadataQuery 。

直接调用 startQuery 开始查询,iCloud就已经开始帮我们查询了,查询好之后,iCloud会通过通知来告诉我们查询到了东西。

所以我们注册两个通知

并相应他们

其中

就是查询到的内容的数组,遍历他,就可以获取到对应目录下的全部文件了。

先放一下demo的 地址 。

demo简单的制作了一个text文档的存储功能,一些交互没有完善,但是基本的增删改查功能都已经实现了。

以上就是 iCloud Document 的简单使用。此文章仅供个人学习使用,如有不当,希望大佬指出。

IOS :Xcode 10.1环境搭建&连接真机

【必选】Mac OS X操作系统的电脑,Apple ID,iphone 真机 

( 若不需要“GPS”、“照相机”、“蓝牙”等功能可使用iphone模拟器)

Xcode是IOS开发的免费的IDE(集成开发环境)

截至目前,其最新版本为10.1,我们可以在App Store中轻松取之。(速度较慢,请耐心等待 ????)

选择“iOS”和“Single View App”并点击“Next”

填写工程基本信息

选择工程存放位置,如下我的位置

如下图工程创建成功,但有红色的感叹号:‘Signing for "HelloWorld" requires a development team’

Xcode在调试iphone真机时需要Team账号(即Apple ID),所以需要设置下(点击add account),添加apple id后关闭窗口,然后回到下图

选择刚才创建的team,红色感叹号消失

USB连接iPhone手机,分分钟,在下图上红框中可以选择已连接的手机。

这时,有可能会有ios系统不兼容提示(“OS version lower lower than deployment target”),即你开发针对的目标系统过高了。这时,在下图下红框中,适当调整Target的iOS版本号,直到没有不兼容的提示。运行“Hello World” 

然后会遇到如下问题:解决详见 我的另一篇文章

????IOS:xcode提示“codesign 想要访问您的钥匙串中的密钥”

第一次调试真机时,会要求手机通过信任(如下图),点击OK,然后操作手机,依次选择:设置-通用-设备管理-“你的Apple ID”-信任“你的Apple ID”-信任。

编译成功,真机桌面生成图标

点击桌面图标,打开盖应用“zhenji”

iOS部署开发环境的几个步骤

将代理换回国内的淘宝后,重新执行一遍安装命令

如果Ruby环境不够新,可能需要更新以下:

在执行

的时候,可能会比较慢,这时候不要慌,可以通过

查看当前的安装进度

如果Mac自带的Ruby版本不够新,可以参考我的另一篇文章

在按照步骤执行的过程中遇到任何问题希望大家多多交流

如何在 Windows 系统中搭建 iOS 开发环境

开发iPhone等iOS平台的移动应用时需要使用Mac本,但是Mac本都比较昂贵,所以可以采用Windows7上利用VMWare安装Mac操作系统的方法来模拟ios开发环境,达到降低成本的目的。

相关配置

操作系统:windows7旗舰版

Work station:VMWare10

Mac操作操作系统:OS X 10.8

安装VMWare

检测CPU是否支持虚拟化 检测工具 securable.exe。设置过程如下:重新开启——F1——BIOS——Advanced——cpu Setup——intel Virtualization Technology——Enabled——F10保存退出。

安装VMWare的Mac补丁

将补丁文件下载之后,解压缩。打开安装文件的windows目录,右键以管理员身份运行install.cmd。

创建虚拟机

VMWare安装好之后,选择"文件"---"新建虚拟机",进入到创建虚拟机的界面,选择自定义,点击下一步选择“稍后安装操作系统”,点击“下一步”,操作系统类型上选择“Apple Mac OS X”,版本上选择10.8,点击“下一步”,设置虚拟机的名称和安装的路径,点击“下一步”,设置好处理器数量之后,点击下一步,将网络连接方式最好设置成桥接,这样就可以和物理机实现同网段,接下来几步,都可以设置为默认方式。

如何使用qt搭建ios开发环境

开始编译安装:

一、X11编译:

1.进入qt-x11-opensource-src-4.5.0源码目录。

./configure -no-openssl

在我这里必须加上-no-openssl选项,否则在make过程中,编译到ssl时会报错。出错信息为:

ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field ‘q_sk_free’

declared void

ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘STACK’ was

not declared in this scope

ssl/qsslsocket_openssl_symbols_p.h:264: error:

‘a’ was not declared in this scope

ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘STACK’ was not declared in this

scope

ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘a’ was not declared

in this scope

……

……

默认安装路径为

/usr/local/Trolltech/Qt-4.5.0。可用--prefix 指定其他安装路径。

2. gmake

# linux下一般可直接用make代替gmake。如果要加快编译速度,就加上 -jx ,x表示最大的线程数。

3.

gmake install

二、qt-embedded-x86编译:

1.进入qt-embedded-linux-opensource-src-4.5.0-x86源码目录。

./configure -prefix

/usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -no-openssl -qt-gfx-qvfb

-qt-kbd-qvfb -qt-mouse-qvfb

先后配置了安装目录、嵌入式架构(x86)。同时也跟X11版本一样,配置了

-no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。再后面的几项是为了更好的配合qvfb,网上说如果没有这几项,安装好qt-embedded-x86后想在qvfb上调试程序时,会出现类似下面的错误:

Error opening buffer device /dev/fb0QScreenLinuxFb::connect: No such

file or directory

2. gmake

跟x11版一样

3. gamke

install

三、qt-embedded-arm:

与前面两个不同,在编译arm版本的qt-embedded前,必须确认已经安装了交叉工具链,编译过程中要生成许多arm架构的库,所以必须有arm-linux-gcc、arm-linux-g++等工具。我用的是友善提供的arm-linux-gcc-4.5.1版本。

1. 进入qt-embedded-linux-opensource-src-4.5.0-arm源码目录。

./configure -prefix

/usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-openssl

-qt-libpng

指定了安装路径、嵌入式架构。同时也跟X11版本一样,配置了

-no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。

另外,还增加了一项,

-qt-libpng,这个选项应该是关于png相关的库,指定用qt自带的png库。如果没有这一项,我这里会出现如下错误:

image/qpnghandler.cpp: In member function 'virtual QVariant

QPngHandler::option(QImageIOHandler::ImageOption) const':

image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated

(declared at

/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)

image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated

(declared at

/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)

image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated

(declared at

/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)

image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated

(declared at

/opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)

make[1]: *** [.obj/release-shared-emb-arm/qpnghandler.o] 错误 1

make[1]:

*** 正在等待未完成的任务....

make[1]: Leaving directory

`/root/qt4.5.0/qt-embedded-linux-opensource-src-4.5.0-arm/src/gui'

make:

*** [sub-gui-make_default-ordered] 错误 2

看起来像是我的交叉工具链跟这个QT版本匹配的不太好,Qt好像不太兼容交叉工具链的png.h头文件中定义的数据结构。加上 -qt-libpng

可解决此问题。

四、qvfb:

这时QT就已安装成功。但是还需要额外安装qvfb。

进入qt-x11-opensource-src-4.5.0源码包目录,然后

cd tools/qvfb

在qvfb源码目录下运行

make

会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下即可。

end:

到这里,QT的开发环境基本就搭建好了,利用 qt-embedded-x86 和 qvfb

工具可以很方便的调试QT程序,调试好的程序再经 qt-embedded-arm

编译就可在开发板上运行(还有个小问题,我现在编译好的QT程序虽然可以在开发板上运行,但是运行时触摸屏不能用,只能用USB鼠标控制,想支持触摸屏貌似还需要移植tslib库,等我折腾完了再回来把相关内容补充上)。


分享标题:ios开发环境搭建,IOS开发工程
当前URL:http://ybzwz.com/article/dscjgdi.html