导航:首页 > 文件目录 > xcode生成a文件路径

xcode生成a文件路径

发布时间:2023-11-22 13:00:55

Ⅰ 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,即可。

Ⅱ ios a文件怎么导入到工程中

1、将下载下来的sdk中的inc文件夹、mapapi.bundle、libmapapi.a添加到工程中,其中libapi.a有两个,一个对应模拟器一个对应真机,导入方法如下:
第一种方式:直接将对应平台的.a文件拖拽至XCode工程左侧的Groups&Files中,缺点是每次在真机和模拟器编译时都需要重新添加.a文件;
第二种方式:使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件,将合并后的通用.a文件拖拽至工程中即可,具体命令如下:
lipo –create Release-iphoneos/libmapapi.a Release-iphonesimulator/libmapapi.a –output libmapapi.a
第三种方式:
1.将API的libs文件夹拷贝到您的Application工程跟目录下
2.在XCode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC
3.设置静态库的链接路径,在XCode的Project -> Edit Active Target -> Build -> Search Path -> Library Search Paths中添加您的静态库目录,比 如"$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)",$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator
我是用第二种方法,在真机和模拟器下都可以调试。
2、因为静态库采用Object C++实现,所以在工程中至少要有一个.mm的文件存在(可以把appdelegate.m改为.mm)

3、导入工程所需的框架:CoreLocation.framework,QuartzCore.framework,OpenGLES.framework,SystemConfiguration.framework

4、在AppDelegate中添加BMKMapManager对象,这里要在网络地图api网站上申请一个应用key
AppDelegate.h文件如下:

[cpp] view plain
#import <UIKit/UIKit.h>
#import "TestViewController.h"
#import "BMapKit.h"

#define BaiMapKey @""

@interface AppDelegate : UIResponder <UIApplicationDelegate> {
BMKMapManager* _mapManager;
}

@property (strong, nonatomic) UIWindow *window;

@end

AppDelegate.m文件如下:

[cpp] view plain
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
_mapManager = [[BMKMapManageralloc] init];
BOOL ret = [_mapManagerstart:BaiMapKey generalDelegate:nil];
if (!ret) {
NSLog(@"BMKMapManager start failed!");
}

self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColorwhiteColor];

TestViewController *root = [[TestViewControlleralloc] init];
self.window.rootViewController = root;

[self.windowmakeKeyAndVisible];
returnYES;
}

到这里,如果工程可以正常编译,则说明相关设置已经成功了。。下面就可以用网络地图api了。。。

Ⅲ 如何在XCode中使用gcc编译生成的.a库文件

1. 把你的.a文件添加到^projectName下的任意一个组里(例如默认的Classes组)。
2. 找到Target > ^targetName,在这个^targetName下会有Link Binary With Libraries。把你已经在某组里的那个.a文件拖到Link Binary With Libraries这个Build Phase中。(也可能同时也要添加到某个Copy的Build Phase中...)
3. 提供一个可用的头文件。
4. Build and Go.
封装的话,标准的Cocoa做法是用Cocoa Framework。也就是在新建工程的时候,选择Cocoa Framework。

阅读全文

与xcode生成a文件路径相关的资料

热点内容
线下活动数据分析有哪些 浏览:314
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304
起名app数据哪里来的 浏览:888
微信怎么去泡妞 浏览:52
百度广告html代码 浏览:244
qq浏览器转换完成后的文件在哪里 浏览:623

友情链接