Swift Pages无法加载远程图片求助:仅显示文本不显示图片
Swift Playgrounds Markup无法显示远程图片的原因及解决办法
我之前也碰到过一模一样的问题,Swift Playgrounds的「Show rendered markup」模式对远程图片的支持确实有严格限制,下面给你拆解原因和可行的解决方法:
为什么远程图片显示不出来?
Swift Playgrounds的Markup渲染引擎出于安全和离线可用性的考虑,默认完全不允许加载远程网络图片。它只支持加载本地项目内的资源文件,或者Playgrounds自带bundle里的图片。另外你用的那个苹果旧图标URL大概率已经失效了,但这不是核心问题——哪怕是完全有效的远程链接,Playgrounds也会直接阻止加载。
解决办法
方法一:使用本地图片(最推荐)
这是最稳定省心的方式,步骤很简单:
- 先把你要显示的图片下载到本地电脑。
- 在Swift Playgrounds里,点击左上角的「+」按钮,选择「Add Files」,把下载好的图片导入到你的项目中。
- 修改你的Markup代码,把远程URL换成本地图片的文件名,比如:
只要文件名和导入的图片完全一致,切换到渲染模式就能正常显示图片了。//: 
方法二:内嵌Base64编码的图片(适合小图标)
如果不想添加本地文件,可以把图片转换成Base64编码直接内嵌到代码里:
- 用在线工具或者本地脚本把图片转换成带
data:image/png;base64,前缀的Base64字符串(根据图片格式替换png为jpg等)。 - 把这个字符串替换到图片链接的位置,比如:
注意:这种方式只适合小尺寸图标类图片,大图片的Base64字符串会非常长,严重影响代码可读性。//: 
内容的提问来源于stack exchange,提问作者user2924482




