我可以在主iOS应用和今天的扩展小部件之间共享资源(编译到应用程序中的图像)吗?假设我创建了一个新应用程序。然后将今天的扩展项目添加到解决方案中。然后我创建了一个UIImageView。我想从共享图像池中引用一个图像,而不是每个图像中有两个,一个添加到主应用程序,另一个添加到小部件应用程序。
imageView.Image = UIImage.FromBundle("IMG_3799.JPG");
IMG_3799.JPG位于该项目的References文件夹中的主应用程序中。我更喜欢小部件引用相同的图像资源。那可能吗?目前,我正在制作IMG_3799.JPG的第二份副本并将其放入小部件中。
答案 0 :(得分:1)
开箱即用,你不能。
最接近的是创建一个包含主应用和扩展程序且可以访问公共文件夹的应用程序组。但是,您不能在部署期间将任何文件放在那里,只是在运行时,因此它可能是也可能不是您需要的解决方法,但这是唯一的方法。
答案 1 :(得分:0)
我在寻找一种在主应用程序和iMessage扩展程序之间共享图像的方法时遇到了这个答案。事实证明,只需将图像文件添加到两个目标中,我就可以在两个地方使用我的图像的一个副本。
在项目导航器中,我将图像添加到了主项目(而不是扩展名)下的文件夹(不是.xcassets)中,只是确保将Target Membership设置为主要应用程序和扩展名。
答案 2 :(得分:0)
恐怕这会迟到。以下是我对 Xcode 12.4 所做的
首先,在 Xcode 中进入您的 Assets.xcassets 文件,然后选择您想要共享的图像。 其次,单击 Xcode 右上角的“隐藏或显示检查器”。 第三,单击“显示文件检查器” 然后您应该会看到 Target Membership,您只需单击复选框即可在主应用程序、扩展程序等中使用图像。
我从这个 youtube 视频的 17:10 中找到了 Wigetkit 的这种方法:https://www.youtube.com/watch?v=ZzBBDrFNXmk