svi*_*tus 8 xcode cocoa objective-c
我正在尝试为我的应用程序的文档类型注册一个图标.在阅读声明新的统一类型标识符并查看后,/Developer/Examples/Sketch我想出了类似这样的内容Info.plist:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.mycompany.myextension</string>
</array>
<key>NSDocumentClass</key>
<string>NSString</string>
</dict>
</array>
...
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>Blah blah blah</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeIconFile</key>
<string>My-file-icon.icns</string>
<key>UTTypeIdentifier</key>
<string>com.mycompany.myextension</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>myextension</string>
</array>
</dict>
</dict>
</array>
Run Code Online (Sandbox Code Playgroud)
现在,一切都很好,花花公子,即当我点击带有我的扩展名的文件等时我的程序被打开.但是,文档图标没有在操作系统中注册,即我看到一个丑陋的空白图标而不是我的美丽My-file-icon.icns.我怀疑我在上面的plist中遗漏了什么,有什么想法吗?
cde*_*osa 10
尝试将图标名称放在数组中的CFBundleTypeIconFile键中CFBundleDocumentTypes,而不是放在UTExportedTypeDeclarations数组中.
当然,请确保"My-file-icon.icns"位于目标的Copy Bundle Resources构建阶段,并被复制到应用程序包中的Contents/Resources中.
我一直在尝试在 Xcode 11 中做到这一点,这是一个挑战。对于这样的问题,这里有很多答案,但我找不到一个拥有完成这项工作所需的一切的答案。我会在这里尝试这样做。
技术问答 QA1587虽然这有点旧,但我认为它拥有所需的一切,但在某些地方有点模糊,例如它说Provide an icon for the document.
我以为我可以让它与图标一起工作Assets.xcassets,但直到我提供了一个文件后它才对我起作用icns。我采用了 1024x1024png应用程序图标并将其转换为cloudconverticns的此处。然后我将其添加到我的项目中。我认为你把它放在哪里并不重要。我把它放在顶层的正下方。就是下图中圈出来的。icns
按照图像中的箭头操作,您最终会看到“信息”选项卡。我点击“添加”按钮创建文档类型并填写,如图所示。当您点击图标部分中的“添加”按钮时,它会要求您提供icns文件。一旦我将我的项目放入项目中,它就会出现在窗口中,我可以选择它。
对于已配置的 UTI 也是如此。
就是这样。在文件、消息或邮件中会出现该图标。
| 归档时间: |
|
| 查看次数: |
4700 次 |
| 最近记录: |