㈠ 如何找出Xcode中不同版本Swift的路径
熟悉unix shell命令的童鞋都知道有一个find指令,在我们已知Xcode路径时,我们可以在其中找到Swift在哪里:
find /Applications/Xcode.app -name swift -a -type f
以上命令中的-a选项表示的是and逻辑,你也可以写全称为-and.所以你必须同时符合name为swift,同时type为一般文件这两个条件才可以哦.
其他type的参数有:
-type t
True if the file is of the specified type. Possible file types are as follows:
b block special
c character special
d directory
f regular file
l symbolic link
p FIFO
s socket
在本猫的air上运行以上指令结果如下:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/bin/swift
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
第一个swift版本显然是2.3,我们看一下后面Swift的版本:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -version
Apple Swift version 3.0 (swiftlang-800.0.34.6 clang-800.0.33)
Target: x86_64-apple-macosx10.9
不出意外是Swift 3.0哦,我的Xcode是8.0beta4
㈡ ios swift中的pct文件用设置路径吗
1、模拟器沙盒目录 文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library。 因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除 iTunes在与iPhone同步时,备份所有的Documents和Library文件。 iPhone在重启时,会丢弃所有的tmp文件。 查看方法: 方法1、可以设置显示隐藏文件,然后在Finder下直接打开。设置查看隐藏文件的方法如下:打开终端,输入命名 (1)显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true (2)隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false (3)输完单击Enter键,退出终端,重新启动Finder就可以了 重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder--> 现在能看到资源库文件夹了。 打开资源库后找到/Application Support/iPhone Simulator/文件夹。这里面就是模拟器的各个程序的沙盒目录了。 方法2、这种方法更方便,在Finder上点->前往->前往文件夹,输入/Users/username/Library/Application Support/iPhone Simulator/ 前往。 username这里写用户名。 代码查看目录: NSString *path = NSHomeDirectory();//主目录 NSLog(@"NSHomeDirectory:%@",path); NSString *userName = NSUserName();//与上面相同 NSString *rootPath = NSHomeDirectoryForUser(userName); NSLog(@"NSHomeDirectoryForUser:%@",rootPath); NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory=[paths objectAtIndex:0];//Documents目录 NSLog(@"NSDocumentDirectory:%@",documentsDirectory); 结果如下: 2013-09-03 20:31:27.210 ios那啥[8383:c07] NSHomeDirectory:/Users/wmm/Library/Application Support/iPhone Simulator/6.1/Applications/D803DBD2-9CB2-4D18-9152-6E9398EFF5DB2013-09-03 20:31:27.210 ios那啥[8383:c07] NSHomeDirectoryForUser:/Users/wmm/Library/Application Support/iPhone Simulator/6.1/Applications/D803DBD2-9CB2-4D18-9152-6E9398EFF5DB2013-09-03 20:31:27.211 ios那啥[8383:c07] NSDocumentDirectory:/Users/wmm/Library/Application Support/iPhone Simulator/6.1/Applications/D803DBD2-9CB2-4D18-9152-6E9398EFF5DB/Documents 自定义类返回各目录路径: #import <Foundation/Foundation.h> @interface ICSandboxHelper : NSObject + (NSString *)homePath; // 程序主目录,可见子目录(3个):Documents、Library、tmp + (NSString *)appPath; // 程序目录,不能存任何东西 + (NSString *)docPath; // 文档目录,需要ITUNES同步备份的数据存这里,可存放用户数据 + (NSString *)libPrefPath; // 配置目录,配置文件存这里 + (NSString *)libCachePath; // 缓存目录,系统永远不会删除这里的文件,ITUNES会删除 + (NSString *)tmpPath; // 临时缓存目录,APP退出后,系统可能会删除这里的内容 + (BOOL)hasLive:(NSString *)path; //判断目录是否存在,不存在则创建 #import "ICSandboxHelper.h" @implementation ICSandboxHelper + (NSString *)homePath{ return NSHomeDirectory(); } + (NSString *)appPath { NSArray * paths = (NSApplicationDirectory, NSUserDomainMask, YES); return [paths objectAtIndex:0]; } + (NSString *)docPath { NSArray * paths = (NSDocumentDirectory, NSUserDomainMask, YES); return [paths objectAtIndex:0]; } + (NSString *)libPrefPath { NSArray * paths = (NSLibraryDirectory, NSUserDomainMask, YES); return [[paths objectAtIndex:0] stringByAppendingFormat:@"/Preference"]; } + (NSString *)libCachePath { NSArray * paths = (NSLibraryDirectory, NSUserDomainMask, YES); return [[paths objectAtIndex:0] stringByAppendingFormat:@"/Caches"]; } + (NSString *)tmpPath {return [NSHomeDirectory() stringByAppendingFormat:@"/tmp"]; } + (BOOL)hasLive:(NSString *)path { if ( NO == [[NSFileManager defaultManager] fileExistsAtPath:path] ) { return [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:NULL]; } return NO; }
㈢ Xcode 使用Swift Package 来添加第三方库
xcode11 增加了Swift Package 的功能,用来添加和管理依赖的第三方库.只要输入第三方库的链接,其他自动完成,非常方便.
下面以GitHub 上的 Toast-Swift (https://github.com/scalessec/Toast-Swift)库为例来讲解如何添加第三方库.
1.首先在XCode中,点击Project选项,选择Swift Packages.
2.点击加号并在输入框中输入要添加的库的url
3.点击下一步
4.继续下一步
5.点击finished后就可以看到库已经添加上了
同时在项目左边的地方也能看到添加的库
打开Package.swift文件,可以看到已经添加的toast依赖库
这个库的路径在哪呢, 右键show in finder 中发现路径没在工程目录下,而是在DerivedData下
相信安装过pod的开发者们都有个体会,安装太麻烦了,先装ruby,再装pod,要解决各种报错问题,网络不好的情况半天才能配置好,太痛苦了,苹果推出的这个swift package相当于pod的功能,不需要安装任何工具,简单便捷,目前好多库已经提供了支持.
㈣ swift 路径是文件还是文件夹
把html文件放在项抄目路径下,然后:var filepath:NSString = NSBundle.mainBundle().pathForResource("test", ofType: "html") Swift是苹果公司在WWDC2014上发布的全新开发语言。从演示视频及随后在appstore上线的标准文档看来