本文目录
- xcode6创建的一个新project怎么创建uinavigationcontroller
- Xcode6模拟器app和文件在哪儿
- 如何在xcode6.
- xcode6怎么打包无证书的ipa
- Xcode6获取app名字的方法和Xcode5的不同
- 如何往xcode6添加iOS6模拟器
- xcode 6 beta3怎么下载
- Xcode 6的基本信息
xcode6创建的一个新project怎么创建uinavigationcontroller
解说:使用xcode6的Empty项目模板创建出的项目啥都没有,及不方便。本编就先教大家如何创建一个包含有Target以及Appdelegate等目录的空项目以及添加导航视图控制器。
步骤1:打开xcode6,然后File - 》 New -》Project,打开后选择Single View Application模板,点击Next,输入项目名称,点击Next,选择保存位置,点击Create。
步骤2:选中项目名称,在配置栏中选择Info栏目,在Custom iOS Target Properties子栏目中删除Main storyboard file base name项(即点击“-”号按钮即可):
步骤3:删除xxxViewController的.h和.m文件,并删除Main.storyboard文件;
步骤4:创建根视图控制器,例如名称为RootViewController(名称自己定义):
在项目名称上右键选择New File,在iOS栏目中,选择Source子栏目,选中Cocoa Touch Class类型的模板,点击Next,在Class项中输入控制器文件名称RootViewController,选中Also create XIB file,点击Next,点击Create。
步骤5:在AppDelegate.m文件中,
添加引用:#import “RootViewController.h“
找到didFinishLaunchingWithOptions方法,清理方法体内容;编辑内容如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];
//第一个视图控制器
RootViewController *rootVC = [[RootViewController alloc] init];
//将第一个视图控制器作为基栈视图控制器添加到导航视图控制器中
UINavigationController *navCtr = [[UINavigationController alloc] initWithRootViewController:rootVC];
//将导航视图控制器作为根视图控制器
self.window.rootViewController = navCtr;
return YES;
}
步骤6:(可选)在RootViewController中的viewWillAppear方法中添加标题:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//添加标题
self.navigationItem.title = @“RootViewController“;
}
运行结果如下:
Xcode6模拟器app和文件在哪儿
Xcode6发布后,出现了很多的变动,功能性的变动,在这里不进行过多的赘述,在WWDC上苹果已经进行了讲述,网上也有很多文章,这里要介绍的是一些不太容易发现的,但很重要的小地方。
1、Xcode6模拟器路径的变更
在Xcode5和之前的版本中,Xcode的模拟器路径为:/Users/username/Library/Application Support/iPhone
Simulator。在该文件夹下,可以查看到所有的模拟器版本,点进去后,可查看应用沙盒情况。
在开发中,建议将文件拖动快捷路径到Finder左侧个人收藏下,可以方便打开查看应用沙盒。
在Xcode6中,将模拟器的位置进行了变更,地址如下:/Users/username/Library/Developer/CoreSimulator,打开后会发现如下情况:
在这里,苹果对模拟器进行了编码处理,并不是以模拟器系统版本进行的命名和分类,而是对Xcode6中所有的模拟器进行的区分,里面的16个文件夹分别对应的Xcode6中的16种模拟器
,那如何根据这个看似乱码的文件夹,判断出是哪一款模拟器呢?
选中某个文件后,打开会看到一个名为data的文件夹,和device.plist的配置文件,打开device.plist的配置文件后,会看到模拟器的UDID、设备类型、系统版本、名称等。通过这个可以知道模拟器的设备和系统版本。打开后,会发现,前面的看似乱码的文件名称,其实就是模拟器的设备UDID,虽然从这里可以得到模拟器的UDID,苹果也用它来进行分类模拟器,但在实际的编程中,如果想最后发布到APP
Store的话,还是放弃UDID吧,这也是苹果比较霸道的一点,当然了也是在保护用户隐私的情况下做出的。
2、应用沙盒地址的变更
得到了模拟器路径后,还是用很多的不同的,应用的沙盒地址也和之前有所不同。
在Xcode5及之前的版本中,沙盒地址为如下:/Users/username/Library/Application Support/iP hone
Simulator/7.0.3/Applications,在Applications文加下,会找到应用程序的沙盒。
在打开应用沙盒后,会有应用程序文件、Document文件夹、Library文件夹、tmp文件夹。至于这几个文件夹的作用不在此做赘述。
在Xcode6中,应用程序文件、Document文件夹、Library文件夹、tmp文件夹这四个文件放在了不同的目录中。应用程序文件路径:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Containers/Bundle/,Application文件夹下;Document文件夹、Library文件夹、tmp文件夹路径:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Containers/Data/,Application文件下。但是不幸的是,这两个路径打开后的文件名,还是经过编码过的,而且,同一个应用中的应用程序文件和D、L、t文件夹所在的文件夹的文件名是不同的。只能自己找。
3、NSUserDefault 文件存储位置变更
NSUserDefault是iOS提供的本地化数据存储方式,会在沙盒中自动创建一个.plist的配置文件,将数据保存起来,在读取时,以NSDictionary字典来进行接收
在Xcode5及之前的版本中,具体的路径为:/Users/shifengwei/Library/Application Support/iPhone
Simulator/7.0.3/Applications/C9588981-3D82-49BC-92B8-F5BA72185629/Library,Preferences文件夹下,名称为程序Bundle
Identifier的plist文件。在删除模拟器中的程序后,在Library文件夹下的plist文件会相应的删除。
在Xcode6中,程序对使用NSUserDefault方式创建的plist文件的位置进行了更换,具体路径为:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Library,Preferences文件夹下。
这里特别说一下,如果按照在Finder里打开的路劲来看,并不是这样的,但通过
Finder,前往文件夹,通过该路径查找是可以查到的。上述的路径地址是通过查看Preferences文件夹的显示简介获得的。
通过上述的路径可以看出,通过NSUserDefault创建的plist文件夹还是在Library文件下,但不同的是,真正存放的位置变了,成了在模拟器的资料库文件夹下,这样的改变所产生的变化就是,当我们在删除模拟器中的应用程序后,plist文件还是会保留,并不会删除。
那么,既然模拟器中的位置变了,那升级到iOS8后,在这方面有什么不同呢?下面就说说在在真机中调试的不同。
1、Organizer中,在Xcode5中,是Devices、Projects、Archives三栏,而在Xcode6中,单独将Devices拿了出来,成了和Organizer平级的,在Xcode菜单栏,Window下。如果了解过Xcode从4.X升级到5时,就会知道,Organizer在那个时候也变更过,从原来的四栏变成了三栏,将帮助文档移除了。
2、在进行真机调试时,会打开真机中应用程序的沙盒,进行查看,在Xcode中,
打开Devices的Application中,可以下载下来应用程序的沙盒,通过右击显示包内容来查看沙盒的信息。但是在iOS8和iOS7及之前出现了不同。
上图为同一款应用在不同的系统中所表现的,左图为iOS8下,下载下来的沙盒内容,右图为iOS7.0.4下,下载下来的沙盒内容,很显然,在iOS8下,通过Devices下载的沙盒内容无法查看沙盒里面的内容。
我们通过第三方的软件,在这里使用的是iFunBox,找到应用程序后,打开发现可以查看到沙盒的内容,复制到本地后,发现,原本的5个文件,只有3个,也就是Document文件夹、Library文件夹、tmp文件夹三个。
这里特别说一下,上述提到过的,在模拟器中,通过NSUserDefault自动创建的plist文件,在删除软件后,还会保留,但在真机中,也是会删除的,相应的plist文件的路径到了通过导出的Library文件夹下的Preferences文件夹下,删除应用程序后,不会保留。这应该算是一个真机和模拟器中的不同。
这个不同会造成一种情况,那是否还可以使用NSUserDefault?就笔者目前来看,还不至于废弃NSUserDefault,毕竟它只是在模拟器中会出现删除应用保留的情况,在真机中不会,而且NSUserDefault在开发中,作为数据持久化,在保存数据时,还是很好用的。当然了,也有开发者会不适应这种情况,担心在真机中会出现,如果有开发者认为不适应的话,可以自己创建一个plist文件在沙盒中,代替,但是如果说应用中使用的NSUserDefault比较多的话,不建议这样,毕竟苹果封装的NSUserDefault还是很好用的。可以在模拟器删除文件后,在保存plist文件的文件夹下,将plist文件删除即可,多个步骤而已,至少目前来看,在真机中还是和之前一样的。
当然,在iOS中,除了NSUserDefault会系统自动生成文件进行数据保存外,归档也是一样的,由于笔者没有进行测试,为了避免误导,这里就不说了,待测试后,进行总结发布。
PS:最后补充一下,打开或关闭Mac的隐藏文件的命令。
打开Mac隐藏文件命令:defaults
write com.apple.finder AppleShowAllFiles -bool true
关闭Mac隐藏文件命令:defaults
write com.apple.finder AppleShowAllFiles -bool
false
方法:在终端中,输入该命令,回车,然后在强制退出中,重启Finder,即可。
如何在xcode6.
运行Xcode 6,创建一个Single View Application工程。
创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓。
打开Info.plist,把Launch screen interface file base name,以及Main storyboard file base name两项,删除(点击旁边的减号即可)。
打开工程项目属性文件,点击Target下面的第一项,再选择General选项卡,向下找到Use Asset Catalog按钮。点击它。
弹出对话框,点击Migrate即可。这样,应用尺寸就能根据屏幕大小进行调整了。
最后,在AppDelegate的第一个方法里面,“return”语句之前,添加必要代码。
代码只有3句,相当于分3步走。1.创建window;2.设置window背景;3.使window可见。
OC和Swift的语法略有不同,但代码内容基本一致。
//OC需要添加的代码
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
//Swift需要添加的代码
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.backgroundColor = UIColor.whiteColor()
self.window?.makeKeyAndVisible()
-xcode
xcode6怎么打包无证书的ipa
选择“打开方式”-》“Xcode6.1” 在Xcode中设置发布证书。 选择“Product”-》“Edit Scheme...“打开如下界面 在“Build Configuration”中选择“Release”,单击“OK 选择菜单栏中的“Product“-》“Archive“ 之后等等待几秒钟出现如下操作框。选择“Exp...
-c
Xcode6获取app名字的方法和Xcode5的不同
1.在Xcode5下,获取程序名字(app
name)的方法为:
NSString
*proName
=
[[[NSBundle
mainBundle]
infoDictionary]
objectForKey:@“CFBundleDisplayName“];
NSLog(@“dicName
====
%@“,[[NSBundle
mainBundle]
infoDictionary]);
打印之后可以看到:
CFBundleDisplayName
=
TestOfButton;
CFBundleName
=
TestOfButton;
2.在Xcode6下,获取程序名字(app
name)的方法为:
NSString
*proName
=
[[[NSBundle
mainBundle]
infoDictionary]
objectForKey:@“CFBundleName“];NSLog(@“dicName
====
%@“,[[NSBundle
mainBundle]
infoDictionary]);
打印之后可以看到:
CFBundleName
=
TestOfButton;
没有了这一键值:CFBundleDisplayName
=
TestOfButton;
而
Xcode6
程序的CFBundleDisplayName可以在info.plist里添加这个key。
3.说到
Info.plist,在Xcode6中,没有
info.string
文件,只有
Info.plist
文件,所以,如果做国际化可以新建一个
Info.string,来弥补Xcode6中
Info.string
的缺失。而且如果要在这里改app
name
则,CFBundleDisplayName
要加上双引号。然后,剩余的国际化进行的操作和网上介绍的方法雷同了
-xcode
如何往xcode6添加iOS6模拟器
不同版本的模拟器,需要有对应的SDK,如果要装IOS6
的模拟器,必须有IOS6
的SDK,Xcode6不支持IOS6了。但是也有#解决方案#,你下一个Xcode5,两个模拟器可以同时安装在你的电脑上,需要用到iOS6的时候在打开Xcode5。这里有个细节,如果你感觉Xcode5下载比较慢,如果你之前恰好Mac上使用了时光机备份,你就可以点击Xcode6然后选时光机恢复Xcode6,到时候会问你替换和是保留两个,果断选保留两者,于是你就可以Xcode6和Xcode5并存了!还有个细节,Xcode5存在时,他的名字显示是Xcode5(原身),以后再升级的Xcode都会同时替换Xcode5(原身)和Xcode6两者,一旦升级Xcode,Xcode5(原身)就会消失!所以将来如果想再次添加Xcode5还是得进行响应的操作!这是个我自己总结的答案,不是网上复制粘贴的,希望我的回答,对你有帮助,如果感觉有帮助,帮忙点下采纳按钮,你的采纳是对我继续回答问题的鼓励!!
-c
xcode 6 beta3怎么下载
Swift在2014年WWDC发布会上正式公布,在短短一个月内,就挤入全球热门编程语言前20强,同时苹果也开放Xcode 6免费下载服务。
Swift编程语言为开发者提供了全新、简洁和高效的工具,让开发应用更简单、更快捷。苹果工程师们可以在Swift博客上分享语言开发的幕后故事,还会有各种技巧等内容。
同时,苹果公司也在新博客上线了Xcode 6 Beta3最新版免费下载服务(点此下载),允许苹果开发者注册、登录免费版苹果开发者账户,无需支付99美元的开发年费。这项举措也进一步吸引了更多开发者的加入。
-xcode
Xcode 6的基本信息
在本次更新后,Xcode 6新增了一个功能选项,允许开发者为iPhone和iPad调整开发应用大小(Resizable iPhone and Resizable iPad);苹果对Xcode 6推出的这一更新或许是为了鼓励开发者针对传闻中的4.7英寸、5.5英寸iPhone 6以及一款12英寸iPad Pro设备开发应用。
同时,Xcode 6还支持ios 8全新编程语言——Swift!-c