【问题标题】:NSURL won't init from string to remote font file (.TTF)NSURL 不会从字符串初始化到远程字体文件 (.TTF)
【发布时间】:2015-01-08 11:07:03
【问题描述】:

我正在尝试在我的应用程序中动态加载字体,给定托管在我的服务器上的字体文件的 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 文件并且没有以任何方式损坏(我可以在我的机器上安装浏览器下载的字体就好了)。

【问题讨论】:

    标签: ios file swift fonts nsurl


    【解决方案1】:

    我正在尝试在我的应用程序中动态加载字体,给定一个提供的 URL 路径到我的服务器上托管的字体文件

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

    【讨论】:

      【解决方案2】:

      这对我来说很好用:

      let s = "http://example.com/my-font-file.ttf"
      
      if let url = NSURL(string: s) {
          println(url)
      } else {
          println("Error")
      }
      

      您确定名称中没有空格吗,例如 ttf 之后?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-25
        • 2017-05-02
        • 2011-01-01
        • 2013-04-29
        • 2010-11-30
        • 1970-01-01
        相关资源
        最近更新 更多