IOS开发错误汇总

没有Mac设备,Object-c、X-Code偶尔会让你抓狂,有的是进入新领域的一腔热情!

误信息】

按照网上教程通过VMware搭建IOS开发环境,我分别下载了

[苹果操作系统.-.雪豹.10.6].snowleopard_10a432_userdvd.dmg

Rebel EFI.iso

xcode_3.2.3_and_iphone_sdk_4__final.dmg

进入Mac OS安装xcode时却出现

iphone SDK requires Mac OS X 10.6.2

To install the iphone SDK you must quit the installer and upgrade to Mac OS 10.6.2

原因及解决办法:

查看了下Mac OS版本我的版本是10.6,原来安装xcode_3.2.3一定需要Mac OS X 10.6.2以上版本

IOS开发错误汇总_第1张图片

IOS SDK对应Xcode版本

iPhone SDK 3.1.3 with XCode 3.2.1 for Snow Leopard (10.6.0)
http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.1.3__final/iphone_sdk_3.1.3_with_xcode_3.2.1__snow_leopard__10m2003a.dmg

iPhone SDK 3.2 Final with Xcode 3.2.2 for Snow Leopard (10.6.0)
http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.2__final/xcode_3.2.2_and_iphone_sdk_3.2_final.dmg

Xcode 3.2.3 and iPhone SDK 4 GM seed for Snow Leopard (10.6.2)
http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_4_gm_seed/xcode_3.2.3_and_iphone_sdk_4_gm_seed.dmg

Xcode 3.2.3 and iPhone SDK 4 Final for Snow Leopard (10.6.2)
http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_4__final/xcode_3.2.3_and_iphone_sdk_4__final.dmg

最后只能去下载Mac 10.6.2补丁解决

Mac OS X v10.6.2 Update (Combo)


误信息】

 IOS 10.6.2安装Xcode时,如果出现如下错误:

the installation failed

xcode the installation failed an unknown error occurred, the installer encountered an an error that caused installation to failed

安装失败

安装器遇到了一个错误,导致安装失败。请联系软件制造商以获得帮助。

IOS开发错误汇总_第2张图片

原因及解决办法:

xCode签名过期,需要把IOS系统时间修改为XCode发布最近时间就OK了,我的mac os的系统改成2012-01-01就可以了


误信息】

iphone启动时出现如下代码:

panic(cpu 0 caller 0x9dc33f3b):"a freed zone element has been modifed:expected 0xdeadbeef but found 0xdeadbeef,bits chabged 0xad0000,at offset 9 of 40 in zone:kalloc.40"

debugger message:panic

OS version:Not set yet

Kernel version:Darwin Kernel Version 13.0.0:Web Oct 10 23:29:02 PDT 2012;root:xnu-2107.2.34~2/RELEASE_ARM_S5L8930XIBoot version:iBoot-1537.4.21

secure boot?:YES

Paniclog version:1

Kernel slide:0X00000000001DC00000

.......

.......

Debugger message:panic\

OS version:Not set yet

Kernel version:Darwin Kernel Version 13.0.0:Web Oct 10 23:29:02 PDT 2012;root:xnu-2107.2.34~2/RELEASE_ARM_S5L8930XIBoot version:iBoot-1537.4.21

secure boot?:YES

Paniclog version:1

Kernel slide:0X00000000001DC00000

......

......

原因

iphone在火车上充电的地方充电之后冲坏的,后面会经常无故重启,最终强制启动也没有办法开机


解决办法:

碰到这种情况,机器还能启动如果在1年保修期内的尽快去苹果专卖门店去维修,如果机器不能启动的话只能送到苹果官方指定的售后维修点维修


误信息】

Couldn't load cocos2dx.xcodeproj because it is already opened from another project or works or workspace

原因及解决办法:

必须同时把之前的两个项目都关闭,然后再打开项目(.xcodeproj),才正常。


误信息】

clang: error: no such file or directory: '/Users/shuizhuyu-mac/Desktop/demo test/开源项目/SegmentFault移动应用/iOSSF-master/SegmentFault/Support/AFNetworking/AFNetworking/AFHTTPClient.m'
clang: error: no input files
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

原因及解决办法:


误信息】

+ (void)login:(UMViewController *)vc withCallback:(NSString *)callback
{
    [vc.navigator openURL:[[NSURL URLWithString:@"sf://login"] addParams:[NSDictionary dictionaryWithObjectsAndKeys:
                                                                            @"登录", @"title",
                                                                            callback, @"callback",
                                                                            nil]]];
}

上面代码出现如下错误:

/Users/shuizhuyu-mac/Desktop/demo test/开源项目/SegmentFault移动应用/iOSSF-master/SegmentFault/Services/SFLoginService.m:72:9: Property 'navigator' not found on object of type 'UMViewController *'

原因及解决办法:

xcode版本的问题


误信息】

//这个是新按钮的响应函数
-(IBAction) buttonClicked:(id)sender {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
                                                    message:@"单击了动态按钮!"
                                                   delegate:self
                                          cancelButtonTitle:@"确定"
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];
}
*'release' is unavailable:not available in automatic reference counting mode

*ARC forbids explicit message send of 'release'

原因及解决办法:

1)

You need to turn off Automatic Reference Counting. You do this by clicking on your project in the navigator (the top item in the finder-like thing on the left), then click on your target, select "Build Settings" and turn off the option "Objective-C Automatic Reference Counting" (you can use the search field on the upper right to search it).

用的是X-code 4.6,苹果引入了自动记算引用数的功能,所以老的项目中

[alert release];是报错的,必须把arc(auto-reference-command)关闭才行,方法如下:

Build Phases--->Apple LLVM compiler 3.0- Language--->Objective-C Automatic Reference Counting 将YES改为NO

2)

project -> build setting -> Apple LLVM Complier 3.0 – Language -> Objective-C Auto Reference Counting ->
NO 关闭

YES 打开

ARC在编译阶段会产生代码来处理对象引用数,所以启用ARC的话,很多retian和release都不需要了

现在xcode默认启用ARC,关闭的话,要自己补上释放对象的代码哟

所以注释掉代码:

//[alert release];


误信息】

@property (weak, nonatomic) IBOutlet UIButton *button1;

如下错误:

@synthesize of 'weak' property is only allowed in ARC or GC mode


原因及解决办法:
strong与weak是由ARC新引入的对象变量属性
xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和assign,是不支持ARC的。xcode 4.3(ios5和以上版本)之后就有了ARC,并且开始使用
strong与weak


疑问Xcode中新建一个Universal Applications

解答:

iPhone SDK 3.2引入了一种新的通用应用程序格式。这为开发人员提供了一个简便的途径,可以发行同时包含iPhone和iPad版本的单个应用程序包--因此要使用相应的通用名称。如你所料,如果应用程序被下载到iPad上,就会运行iPad版;如果被下载到iPhone上,就会运行iPhone版。显然,也可以选择仅将应用程序编译为独立的iPad应用程序或iPhone应用程序。



作者:水煮鱼
出处:http://blog.csdn.net/panfb227

你可能感兴趣的:(ios,错误,汇总,Object-C)