NSURL不会从字符串初始化到远程字体文件(.TTF)

时间:2014-12-15 03:40:15

标签: ios file swift fonts nsurl

我正在尝试在我的应用中动态加载字体,给定提供的URL路径到托管在我的服务器上的字体文件。 出于某种原因,NSURL不会从有效的字体文件路径初始化(http:// www.mydomain.com/my-font-file.ttf - 为SO限制而插入的空格)

即使指向我服务器上的完全有效的字体文件,此代码每次都会遇到失败语句:

if let fontUrl = NSURL(string: fontUrlString)
{
     ...handle font saving here...
}
else
{
     println("Failed to create Font URL from string: \(fontUrlString)")
}

任何想法可能是什么问题?

再次,复制记录的' fontUrlString'到我的网页浏览器加载字体文件并保存好。字体文件也是一个.TTF文件而且没有任何损坏(我可以在我的机器上安装浏览器下载的字体就好了)。

2 个答案:

答案 0 :(得分:1)

  

我正在尝试在我的应用中动态加载字体,给出了提供给我服务器上托管的字体文件的URL路径

你不能。您可以在应用包中添加字体,也可以通过调用CTFontDescriptorMatchFontDescriptorsWithProgressHandler从Apple下载字体。但是,当应用运行时,您无法在应用中安装从Internet下载的任意字体。那将是一个安全漏洞。

答案 1 :(得分:0)

这对我来说很好用:

let s = "http://example.com/my-font-file.ttf"

if let url = NSURL(string: s) {
    println(url)
} else {
    println("Error")
}

您确定名称中没有空格,例如在ttf?

之后