热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iPhone开发(一)HelloWorld初试

从没发现有哪个note软件有Evernote这么出色,不仅可以在win下使用,还可以在mac下使用,使用不同的平台时,根据账

      从没发现有哪个note软件有Evernote这么出色,不仅可以在win下使用,还可以在mac下使用,使用不同的平台时,根据账号,可以导入你以前写的note ,真是一号在手,走遍天下啊!


     好了,开始我的iphone开发入门!

     首先要注册一个Apple ID ,去官网上下载Xcode开发工具,并安装。

 --------------------------------------

iPhone SDK 包含哪些东西?


在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口、工具以及资源全都包含于iPhone SDK。

苹果公司将大部分系统接口发布在框架这种特殊的数据包。一个框架就是一个目录,它包含一个动态共享库以及使用这个库所需的资源(例如头文件、图像以及帮助应用程序等)。如果要使用某个框架,则需要将其链接到应用程序工程,这一点和使用其他共享库相似。另外,您还需要告知开发工具何处可以找到框架头文件以及其他资源。

除了使用框架,苹果公司还通过标准共享库的形式来发布某些技术。 由于iOS以UNIX为基础,操作系统底层的许多技术都源自开源技术,这些技术的许多接口可以从标准库和接口目录访问。

SDK中还包含下述重要组件:


  • Xcode工具 -提供iOS应用程序开发工具,包括如下关键应用程序:
    • Xcode -是一个集成开发环境,它负责管理应用程序工程。您可以通过它来编辑、编译、运行以及调试代码。Xcode还集成了许多其他工具,它是开发过程中使用到的主要应用程序。
    • Interface Builder -以可视化方式组装用户接口的工具。通过Interface Builder创建出来的接口对象将会保存到某种特定格式的资源文件,并且在运行时加载到应用程序。
    • Instruments - 运行时性能分析和调试工具。您可以通过 Instruments 收集应用程序运行时的行为信息,并利用这些信息来确认可能存在的问题。
  • iPhone模拟器 -是Mac OS X平台应用程序,它对iOS技术栈进行模拟,以便于您可以在基于Intel的Macintosh计算机上测试iOS应用程序。
  • iOS参考库- SDK默认包含iOS的参考文档。另外,如果文档库有更新,则更新会被自动下载到本地。通过选择Help > Developer Documentation就可以看到参考库。

SDK提供编写应用程序所需的软件,而且Xcode和Instruments允许您直接与绑定设备进行交互,在目标硬件运行并调试代码。如果您需要在实际设备上开发,请加入苹果公司的收费iPhone开发者计划,并将设备配置成开发用途。如需进一步了解iPhone开发者计划,请访问http://developer.apple.com/iphone/program/页面。

如果您需要了解如何安装iPhone SDK以及如何使用iPhone SDK开发iOS应用程序,则请参考iOS开发指南。如果进一步了解iOS的框架,并且希望了解何处可以找到底层的系统库,则请参考“iOS框架”


------------------------

有效的使用ios提供的开发库


       iOS参考库包含各种文档、样例代码以及教程,这些材料可为编写应用程序提供帮助。不过参考库包含数千页的文档,上至起步介绍,下至API参考文档尽皆涵盖其中。因此,明白如何找到需要的信息是开发过程的重要步骤。参考库使用几种数种技术来组织内容,以使其更易于浏览。

您可以从苹果开发者网站访问iOS参考库,也可以从Xcode访问。 只要在Xcode中选择 帮助>开发者文档,就可以把XCode的文档窗口显示在屏幕上。此窗口是访问iOS开发信息的核心,您可以在其中浏览文档并执行搜索,还可以为稍后可能阅读的文档添加书签。各个文档早已按其内容进行归类,这样可为更新提供便利,也可以把搜索的范围精确至相关的文档。

在安装 iPhone SDK的时候,Xcode 会自动为您安装包含iOS参考库的文档集。(XCode也会自动为您下载文档更新,不过您可以在偏好设置中取消此行为。)iOS参考库包含非常多的信息。因而,对其排版设计稍作了解意义重大。图 1-3显示的是Xcode文档窗口中参考库的主。页面顶部的工具栏包含搜索框和按键,可用于导航至其他已安装的文档集或是已创建的书签。 您可以按主题、框架或者其他您正在查找的资源类型浏览文档,也可以使用过滤器来控制文档列表,减少显示的文档集。

Cocoa Touch 层

Cocoa Touch层包含创建 iOS应用程序所需的关键框架。上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础。在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架。


高级特性                                                                                                  



http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iOs_TechOverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html#//apple_ref/doc/uid/TP40007898-CH3-SW1


下面章节描述一些常见特性,也许您也正打算在应用程序支持这些特性。

多任务

如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台。对于大多数应用程序来说,进入后台,它们就会进入挂起状态。让应用程序驻留在后台可以避免以后的重新启动过程,应用程序可以直接将自己激活,这在很大程度上改善了整体用户体验。另外,将应用程序挂起也可以改善系统性能,因为挂起应用程序可以最小化电能使用,并可让前台应用程序获得更多的执行时间。

尽管应用程序进入后台就会被挂起,但可以通过下述的技术让其在后台继续运行:


  • 应用程序可以请求一定的时间完成某些重要的任务。
  • 应用程序可以声明自身支持的某种服务需要获得定期后台执行时间。
  • 应用程序可以使用本地通告在指定时间向用户发通知。这种方式对于应用程序是否运行没有要求。

不管应用程序是被挂起还是在后台运行,支持多任务不需要付出额外的工作。但是在某些情况(例如内存不足)下,应用程序可能会被结束运行。因此,应用程序应该可以在任何时候退出。这就意味着许多在退出应用程序时需要执行的任务必须改为在应用程序切换到后台的时候执行。这就要求您在应用程序委托中实现一些新的方法以响应程序的状态切换。

如果需要进一步了解如何对后台状态切换进行处理以及如何让应用程序在后台继续运行,请查看iOS应用程序编程指南

数据保护

和敏感用户数据打交道的应用程序可以使用设备内建加密功能(有些设备可能不提供内建加密功能)对数据进行保护。如果应用程序指定某个文件受保护,系统会以加密格式将该文件保存在磁盘。当设备锁住的时候,您的应用程序以及其他潜在的闯入者都不能访问该文件,而当用户解锁设备后,系统会生成一份密钥以便您的应用程序就访问该文件。

如需实现数据保护,应用程序应在待保护数据的创建和管理方式下一些功夫。它必须能够在数据创建之时保证其安全,而且需要适配设备上锁或未上锁造成的文件可访问性的变化。

如需进一步了解应用程序如何为文件添加数据保护,请查看iOS应用程序编程指南中的实现标准的应用程序行为一章。

苹果推送通知服务

iOS 3.0及后续版本的系统中,不管应用程序是否运行,苹果推送通知服务可用于通知用户某个应用程序具有新信息。利用这项服务,您可以向系统推送文本通知,可以触发声音提醒或者在应用程序图标上添加一个数字化标记。这样用户就知道他们应该打开应用程序接收相关信息。

从设计角度看,让应用程序支持推送通知包含两个部分。首先,iOS应用程序需要请求系统向其发送通知,然后要合理配置应用程序委托使其可以对通知进行恰当处理。这些工作可以通过应用程序委托以及UIApplication对象合作完成。第二,您需要提供一个服务器端进程用于产生最初的通知。该进程运行在您自己的本地服务器,它和苹果推送通知服务协同工作以产生最初的通知。

如需进一步了解如何配置应用程序以便使用远程通知,请查看本地通知及推送通知编程指南。 

本地通知

iOS 4.0引入了本地通知。本地通知是对已有推送通知的补充,通用程序可以通过它在本地生成通知,不再需要依赖外部服务器。当有重要的事件发生时,后台应用程序可以利用本地通知获得用户关注。举个例子,运行于后台的导航应用程序可以使用本地通知提醒用户要转弯。应用程序也可以安排在未来的某个时刻向用户发送本地通知,而且发送这些通知并不要求应用程序处于运行状态。

本地通知的优点是它独立于您的应用程序。一旦某个通知被安排好后,系统会负责通知发送。而且在发送通知的时候,您的应用程序无需处于运行状态

如需进一步了解本地通知的使用方式,请查看本地通知及推送通知编程指南

手势识别器

iOS 3.2引入了手势识别器。手势识别器是一个绑定到视图的对象,用于检测常见的手势类型。将手势识别器绑定到视图后,您可以告诉它某个手势发生的时候执行何种动作。之后,手势识别器就可以对原始事件进行跟踪,根据系统定义的试探方式识别手势。在引入手势识别器前,如果要识别一个手势,您需要跟踪视图的原始触摸事件流,然后再使用复杂的试探方法来判断这些事件是否表示某种手势。

现在,UIKit框架中包含一个UIGestureRecognizer 类,它定义了所有手势识别器的基本行为。您可以使用自定义的手势识别器子类或者系统定义的某个子类处理下面这些标准手势:


  • 拍击 (任意次数的拍击)
  • 向里或向外捏 (用于缩放)
  • 摇动或者拖拽
  • 擦碰 (以任意方向)
  • 旋转 (手指朝相反方向移动)
  • 长按


如需进一步了解您可以使用的手势识别器,请查看iOS事件处理指南


内容来自与Apple官方文档






推荐阅读
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 本文详细介绍了 Node.js 中 OS 模块的 arch 方法,包括其功能、语法、参数以及返回值,并提供了具体的使用示例。 ... [详细]
  • 解析Java虚拟机HotSpot中的GC算法实现
    本文探讨了Java虚拟机(JVM)中HotSpot实现的垃圾回收(GC)算法,重点介绍了根节点枚举、安全点及安全区域的概念和技术细节,以及这些机制如何影响GC的效率和准确性。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
author-avatar
自由常飞_337
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有