iphone开发_iphone开发教程 - CSDN
  • 1.在viewDidLoad时对属性的附值要注意在属性前加self,比如[self xxx]=jjj; 2.从文件读取文本 [code="objective-c"] NSString *htmlstring=[[NSString alloc] initWithContentsOfFile:filePath ...
    1.在viewDidLoad时对属性的附值要注意在属性前加self,比如[self xxx]=jjj;

    2.从文件读取文本
     
    NSString *htmlstring=[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

    // encoding:NSUTF8StringEncoding error:nil 这一段一定要加,不然中文字会乱码


    3.//枚举判断后缀名是否存在
     
    NSString *filename;
    while (filename = [direnum nextObject]) {
    if([[filename pathExtension] hasSuffix:@"jpg"]){
    [files addObject:filename];
    }
    }


    4.Debug不一定能马上知道错误在哪,可以先看warnning的提示,大部分问题出在那里。

    5.————————修改程序名字———————————–
    这个功能太常用了:程序员经常以一个名字开始编写一个应用;但在发布之前,常常需要为应用更名.或者想从一个现成程序开始,修改成一个新的应用,而不需要copy\paste.但苹果公司没有提供一个简单的实现方法.本文讲述的方法可以让你随心所欲修改应用输出的名称.
    1.复制现有文件夹,将拷贝更名为你所想要的名字.
    2.打开新文件夹,将.xcodeproj更名
    3.右键点击.xcodeproj并选择Show package contents,弹出一个对话框包含了几个文件.(事实上.xcodeproj是这几个文件打成的包)
    4.用textEdit打开 project.pbxproj文件,将所有旧名字替换成为新的.
    5.删除build文件夹
    6.用XCode载入该工程,点击 Build/Clean all targets
    然后重新编译工程 — 应当能看到输出的应用有了新名字吧!有的文章说需要修改.pch文件名,但那样更复杂了,所以这里不做介绍.


    6.如果你不希望应用运行时 iPhone 进入锁屏待机状态,加入下面这行代码即可
     
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];


    7.[url="http://blog.prosight.me/index.php/tag/nslocalizedstring"]Cocoa程序支持多国语言环境[/url]

    8.调用Safari
      
    NSURL *url = [[NSURL alloc] initWithString: @"http://www.oreilly.com/" ];
    [ [ UIApplication sharedApplication ] openURL: url ];


    9.挂起与复原
      
    - (void)applicationWillResignActive:(UIApplication *) application {
    NSLog(@"About to be suspended");

    /* Code to prepare for suspend */
    }


    - (void)applicationDidBecomeActive:(UIApplication *) application {
    NSLog(@"Became active");

    /* 为恢复做准备的代码 */
    }


    10.发起电话呼叫
      
    NSURL *url = [ [ NSURL alloc ]
    initWithString: @"tel:212-555-1234" ];
    [ [ UIApplication sharedApplication ] openURL: url ];


    11.隐藏toolbar, 点击屏幕又出现回来
       
    [UIView beginAnimations:@"test" context:NULL];
    [UIView setAnimationDuration:0.4];
    // 这里放代码,减速左右,做到淡入淡出
    [UIView commitAnimations];


    12.删除subviews
     
    // With some valid UIView *view:
    for(UIView *subview in [view subviews]) {
    [subview removeFromSuperview];
    }


    13.增加进度条或等待风火轮
     
    - (void) createProgressionAlertWithMessage:(NSString *)message withActivity:(BOOL)activity
    {
    UIAlertView *progressAlert = [[UIAlertView alloc] initWithTitle: message
    message: @"Please wait..."
    delegate: self
    cancelButtonTitle: nil
    otherButtonTitles: nil];

    // Create the progress bar and add it to the alert
    if (activity) {
    UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
    activityView.frame = CGRectMake(139.0f-18.0f, 80.0f, 37.0f, 37.0f);
    [progressAlert addSubview:activityView];
    [activityView startAnimating];
    } else {
    UIProgressView *progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(30.0f, 80.0f, 225.0f, 90.0f)];
    [progressAlert addSubview:progressView];
    [progressView setProgressViewStyle: UIProgressViewStyleBar];
    }
    [progressAlert show];
    [progressAlert release];
    }


    14.iPhone的特殊URL
    在iPhone中,可以直接用UIApp打开URL地址。如下所示:
     
    [ UIApp openURL: [ NSURL URLWithString:@"http://www.apple.com" ] ];

    或者:
     
    [ UIApp openURL: [ NSURL URLWithString:@"mailto:apple@mac.com?Subject=hello" ] ];


    与此同时,iPhone还包含一些其他除了http://或者mailto:之外的URL:

    sms:// 可以调用短信程序

    tel:// 可以拨打电话

    itms:// 可以打开MobileStore.app

    audio-player-event:// 可以打开iPod

    audio-player-event://?uicmd=show-purchased-playlist 可以打开iPod播放列表

    video-player-event:// 可以打开iPod中的视频

    15.让iAd 在取不到广告时隐藏广告条的方法
    相信很多苹果开发者希望在自己的应用里加入 iAd 广告以提高收入,但是 iAd 广告显示目前仅限美国,所以取不到广告时,要让广告条隐藏,可以使用以下代码
     
    - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
    {
    if (self.bannerIsVisible)
    {
    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
    // assumes the banner view is at the top of the screen.
    banner.frame = CGRectOffset(banner.frame, 0, -50);
    [UIView commitAnimations];
    self.bannerIsVisible = NO;
    }
    }

    如果 iAd 接收到广告,当然要恢复显示广告条了,代码

     
    - (void)bannerViewDidLoadAd:(ADBannerView *)banner



    16.iOS 应用里发 Twitter 的代码

    - (void) postToTwitter
    {
    // Since this will be launched in a separate thread, we need
    // an autorelease pool
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
    [NSURL URLWithString:@"http://TWITTER_ACCOUNT:PASSWORD@twitter.com/statuses/update.xml"]
    cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];

    // The text to post
    NSString *msg = @"testing";

    // Set the HTTP request method
    [request setHTTPMethod:@"POST"];

    [request setHTTPBody:[[NSString stringWithFormat:@"status=%@", msg]
    dataUsingEncoding:NSASCIIStringEncoding]];

    NSURLResponse *response;
    NSError *error;

    if ([NSURLConnection sendSynchronousRequest:request
    returningResponse:&response error:&error] != nil)
    NSLog(@"Posted to Twitter successfully.");
    else
    NSLog(@"Error posting to Twitter.");

    // Release pool
    [pool release];
    }


    [NSThread detachNewThreadSelector:@selector(postToTwitter)
    toTarget:self withObject:nil];
    展开全文
  • iPhone开发【一】从HelloWorld开始

    万次阅读 2012-10-23 16:24:51
    转载请注明出处,原文网址:... 从经典的HelloWorld开始踏入iPhone开发的大门吧! 关键字:HelloWorld iPhone IOS 1、打开xcode,选择“Create a New Xcode project” 2、xcode中的工程分

    转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广

    从经典的HelloWorld开始踏入iPhone开发的大门吧!

    关键字:HelloWorld iPhone IOS

    1、打开xcode,选择“Create a New Xcode project”


    2、xcode中的工程分为两大类,一是IOS,二是Mac OS X,前者是进行iPhone/iPad开发,后者是进行Mac PC开发。

         在IOS类别中选中“Application”,然后选择"Single View Application"工程模板(各模板功能下面有讲解)

    xcode工程模板说明:

    Master-Detail Application:
        iPhone设备:对应xcode4.0的Navigation-based Application,基于导航模式的工程模板。
        iPad设备:对应xcode4.0的Splite View-based Application,基于分割模式的工程模板。
    OpenGL Game:对应xcode4.0的OpenGL ES Application。
    Single View Application:对应xcode4.0的View-based Application,基于单视图的工程模板。
    Tabbed Application:对应xcode4.0的Tab Bar Application,基于Tab Bar的工程模板。
    Utility Application:对应xcode4.0的Utility Application,很少用到,目前还没用过。
    Empty Application:对应xcode4.0的Window-based Application,创建一个空白工程。

    3、Product Name:即工程生产的产品(iPhone应用程序)的名称


         Company identifier:com.zyg.ios,用于应用程序包名称

         Bundle Identifier:Company identifier+Product Name

         Class Prefix:工程生成的类名称都会加上这里填写的前缀

         Device Family:工程对应的设备类型,iPhone或者iPad(这两种设备的开发是有区别的,后面文章会讲到)

       

         Use Storyboards:是否使用故事板 不要选中,后面文章会专门讲解故事板

         Use Automatic Reference Counting:自动引用计数,选中后内存释放工作就不需要自己处理了,不要选中,学习iPhone开发时一定要学着自己控制内存释放,真正开发时可以选中该项。

         Include Unit Tests:是否包含单元测试,不要选中,后面文章专门讲解这个。

    4、选中目录IOSDev,保存该工程

    5、展开HelloWorld工程


    HelloWorld:这个文件夹是个逻辑目录,在文件系统并不存在这个目录。它在Xcode工程中是一个Group。开发中基本都在该Group下创建子Group或者文件。
        HelloWorldAppDelegate.h:代理类头文件
        HelloWorldAppDelegate.m:代理类源文件
        HelloWorldViewController.h:视图控制器类头文件
        HelloWorldViewController.m:视图控制器类源文件
        HelloWorldViewController.xib:包含用户接口相关的组件
        Supporing Files:可以存放源文件,一般都是存放资源文件。
            HelloWorld-Info.plist:包含工程信息的属性列表。
            InfoPlist.strings:应用程序国际化用到,包含多国语言翻译。
            main.m:包含iPhone应用程序入口函数main,一般这个文件不需要我们做任何修改。
            HelloWorld-Prefix.pch:包含一些头文件列表。xcode会预编译这些头文件,如果工程中需要大量全局变量,也可以在此文件中定义宏变量作为全局变量。
    Frameworks:引入的系统框架,默认引入
        UIKit.framework:ios的UI组件类库
        Foundation.framework:ios基础类库
        CoreGraphics.framework:2D绘图类库
    Products:包含工程编译后生产的产品HelloWorld.app

    6、通过上面对目录结构的讲解我们知道HelloWorldViewController.xib是存放用户接口相关的组件的,单击打开该文件,在xcode右下角找到label组件(可以在搜索框中输入label快速定位该组件),拖动该组件到空白view上,拖动过程中会出现水平、垂直对齐蓝线,使label水平、垂直居中与label中,然后在双击该lable,输入“Hello World”。


    7、按住Command(简称Cmd)+B编译工程,然后Cmd+R,运行工程,效果如下

    总结:

    1、程序的入口在哪儿?启动流程?

                1)在main.m中的main函数中,该函数调用了UIApplicationMain,且最后一个参数用到了HelloWorldAppDelegate,我们猜测UIApplicationMain函数启动了HelloWorldAppDelegate类。

                2)HelloWorldAppDelegate.m中didFinishLaunchingWithOptions方法中又初始化了视图控制器HelloWorldViewController,初始化参数中用到了@"HelloWorldViewController",其实就是HelloWorldViewController.xib。

                3)HelloWorldViewController.xib包含了用户接口组件,所以视图控制器HelloWorldViewController初始化完毕后,UI组件就展示在view上了,我们Hello World就显示模拟器屏幕上了。

    对程序启动流程有上面的概念即可,随着后面的学习会逐渐加深,更加清晰 。

    2、label组件可以拖到view上显示,任何其它复杂的组件理论上都可以这样做,从而显示出来。

    3、HelloWorldViewController既然叫视图控制器,那么对视图的控制操作应该在该类中实现。

    怎么与label交互,控制label的显示、内容等等呢?请看下一篇。。。


    点击下载本文源代码

    展开全文
  • Apple公司的iPhone已经开创了移动平台新纪元!...更难得的是,本书始终强调iPhone开发中的各种最佳实践,即使是有经 验的开发人员,也会因此受益匪浅。 开卷阅读本书,进入iPhone开发的神奇世界吧,它将让你热血沸腾!
  • 图解iPhone开发入门教程

    万次阅读 热门讨论 2010-03-18 00:44:00
    现在的智能手机越来越风行了,其中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识。为了便于初学者尽快上手,我尽量以代码加截图的方式加以说明。 要想进行iPhone开发,...

    现在的智能手机越来越风行了,其中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识。为了便于初学者尽快上手,我尽量以代码加截图的方式加以说明。

     

    要想进行iPhone开发,Mac和iPhone是必不可少的,虽然有人通过一些手段也能在pc上装上Mac,使用上“黑苹果”,但毕竟不是正统,经常会出现这样那样的问题,比如无线不行,声卡不行之类的问题,因此Mac最好还是要有的;至于iPhone,虽然可以通过模拟器在电脑上查看程序的运行效果,但有些功能只能在真机上运行,因此iPhone也是必备条件。我使用的是MacBook Pro 990以及iPhone一代,现在大家应该普遍都用iPhone 3G或3GS了吧。

     

    好,闲言少续,任何程序开发的第一课都是从经典的hello world开始的,我也不能免俗,本节课将在iPhone上打印出Hello World字符串。过程如下:

     

    1,首先需要下载iPhone SDK,地址是 http://developer.apple.com/,如下图所示:

     

     

    2, iPhone SDK中包含了Apple提供的开发工具:Xcode,Interface Builder以及Instrument等等,完全免费,在成功注册并激活账号后就可以下载了,该SDK容量非常大,大概有2.9G左右,因此需要下载很长时间。

     

    3,下载完毕后就可以安装了,安装过程非常简单,直接双击下载后的dmg文件即可安装,安装过程大概需要10分钟左右。

     

    4,安装完毕后在Developer/Application目录中找到Xcode.app双击运行,这就是Apple为我们提供的开发工具,可以进行Mac与iPhone开发,不妨把它放到Dock上。

     

    5,启动Xcode后新建一个iPhone OS项目,命名为HelloWorld,方式为选择左边的iPhone OS下面的Application后再选择右边的View-based Application,如下图所示,之后单击Choose按钮,这时Xcode提示你输入项目名称,直接输入HelloWorld即可:

     

     

     

    6,在新建的项目中不作任何事情,直接单击Build and Run按钮编译并运行程序,程序运行结果如下图所示:

     

     

     

    7,可以看到程序能够顺利运行并显示出iPhone模拟器,里面是一个空的界面,毕竟我们还什么没有写呢。

     

    8,现在准备在界面上显示Hello World字符串,需要编写一些代码了,iPhone和Mac开发主要使用Objective-C语言,这是C语言的超集,对于熟悉C++和Java的读者应能很快上手,只是Objective-C的使用语法有些不同,花些时间适应一下即可。

     

    9,打开HelloWorldViewController.m文件,在其中的viewDidLoad函数中编写如下代码(注意:该函数默认是被注释掉的,需要先取消注释再编写代码),完整的函数实现如下图所示:

     

     

    10,再次单击Build and Run按钮运行程序,模拟器显示的结果如下图所示,成功显示出了Hello World字符串!

     

     

     

    本节我并没有介绍iPhone开发所涉及的细节,只是通过一个简单的实例介绍了iPhone开发的流程,目的是帮助大家尽快上手,培养自信,后面我们将深入iPhone开发的具体过程中,下次课见 :-)

    展开全文
  • 10本IPhone开发书籍

    千次阅读 2013-04-02 09:06:05
    [iPhone开发书籍大全] The.iPhone Developers Cookbook ——iPhone 3.0 SDK应用开发 [iPhone开发书籍大全]Objective-C for iPhone Developers——初学者指南 [iPhone开发书籍大全] Mobile Design ...
    展开全文
  • 小总结下iphone开发环境搭建过程

    千次阅读 2012-12-15 21:51:48
    以前看了相关iphone开发相关书籍,说sdk开发包有3G多,单下载下来就需要很长时间。昨天进入苹果官网下载sdk时,发现只有1.61G的大小,我还以为是不是哪里弄错了呢。下载Xcode后,安装,然后创建一个项目,编译,然后...
  • iPhone开发实战 pdf电子书

    千次阅读 2013-12-13 15:46:24
    iPhone开发实战编辑推荐 “本书对iPhone Web开发的阐述是别处找不到的,非常珍贵。对SDK的探讨也定能使程序员大呼过瘾。”  ——Mobile orchard社区 “唯一必备的iPhone开发书籍。”  ——Rama Krishna ...
  • iPhone开发环境介绍

    千次阅读 2012-07-25 22:36:40
    iPhone开发环境介绍是本文要介绍的内容,先来看内容。 开发环境的要求 硬件: 1.苹果电脑, 必须是基于Intel的Macintosh计算机。 2.iPhone或iPod Touch,主要用来测试编写好的程序。 软件: 1.苹果...
  • iPad和iPhone开发的异同

    千次阅读 2018-05-07 11:11:54
    iPhone是手机,iPad、iPad Mini是平板电脑iPhone和iPad开发的区别: 1.屏幕的尺寸 \\分辨率 2.UI元素的排布 \\设计 3.键盘 4.API 5.屏幕方向的支持 … … 1.屏幕的尺寸 \分辨率屏幕的尺寸 \分辨率.png在iOS...
  • mac下IPhone开发环境配置

    千次阅读 2009-06-30 23:50:00
    MACBOOK已经买两 天了,经过初略地熟悉一下Unix之后,今天终于忍不住要装IPhone开发环境啦!要不然真对不起自己咯。 网上搜索了相关教程,但是基本上都是在讲Windows下的配置,可能大伙都是牛人,用不着...
  • 媒体评论“难以想象,竟然有人还没有读Erica ...”—— InfoWorld“本书全面剖析了iPhone开发的方方面面,将成为各层次开发人员的求生秘籍。丰富的代码示例和屏幕截图更为书中大量技巧和诀窍添色不少。”——Jacqui
  • iPhone开发基础教程》(PDF电子版)

    千次下载 热门讨论 2020-07-29 14:21:30
    内容简介 Apple公司的iPhone已经开创了移动平台...更难得的是,本书始终强调iPhone开发中的各种最佳实践,即使是有经 验的开发人员,也会因此受益匪浅。 开卷阅读本书,进入iPhone开发的神奇世界吧,它将让你热血沸腾!
  • 虚拟OSX系统搭建ios、iphone开发环境并成功运行模拟器 搭建ios、iphone开发环境,如果你是土豪,又或者是 愿意砸钱投资。直接买个MacBook就可以了。然后从AppStore下载所需的软件安装。 如果还没想多花钱,且之前...
  • iOS iPad和iPhone开发区别~笔记 03

    千次阅读 2017-07-12 17:38:15
    iPhone和iPad开发的区别: 1.屏幕的尺寸 \\分辨率 2.UI元素的排布 \\设计 3.键盘 4.API 5.屏幕方向的支持 二、屏幕的尺寸 \分辨率 三.开发细节 1)如何新建一个iPad应用程序 2)设备支持的应用程序
  • iPhone开发资源PDF电子书

    千次阅读 2012-07-30 10:13:41
    [中文资料] iPhone开发秘籍第2版中文扫描版PDF下载 中文名: iOS 4 编程 (涵盖iOS 4.3 and Xcode 4) 原名: Programming iOS 4: Fundamentals of iPhone, iPad, and iPod touch Development 作者: Matt ...
  • 核心内容: ...1. iPhone开发工具下载 2. Apple开发者网站如何阅读 3. Xcode的下载,模拟器和内存分析工具的使用 4. windows下如何开发iPhone程序,安装虚拟机 视频地址:iPhone开发工具安装及介绍
  • windows下搭建iphone开发环境

    千次阅读 2010-08-24 19:20:00
    在windows下搭建iphone开发环境,我是这样做的。 1. 安装虚拟机,并且在虚拟机中安装mac os; 2. 启动虚拟机的mac os, 然后安装 iphone sdk。
  • 本文给初学者介绍下iphone开发中常见的文件读写,当然,我也是初学者~ iOS的文件存储采用的是“沙箱机制”,也就是应用程序只能访问自己的文件目录,每个应用程序的数据是独立的,就像一个一个的沙箱一样。这种...
  • 很多朋友希望在体验或学习iphone开发,但是iphone开发环境一般需要 安装在mac计算机下mac os中。  这给许多朋友带来了额外成本投入。  网上已经有各种破解方法,在非苹果电脑上安装iphone开发环境,给我们带来了...
  • Ubuntu 10.04上搭建iPhone开发环境

    千次阅读 2010-12-17 16:34:00
    1. 准备Ubuntu环境Ubuntu 10.04sudo apt-get install build-essential gnustep gobjc ...准备SDK和iPhone Fireware文件2.1iPhone1,2_3.1.2_7D11_Restore.ipswhttp://appldnld.apple.com.edgesuite.net/content.in
1 2 3 4 5 ... 20
收藏数 152,882
精华内容 61,152
关键字:

iphone开发