没有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 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
安装失败安装器遇到了一个错误,导致安装失败。请联系软件制造商以获得帮助。
原因及解决办法:
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