You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改iOS分享功能中我的App的显示文本?

解决iOS分享菜单中App显示文本为“Copy to”的问题

嘿,这个问题我之前帮好几个开发者捋清楚过,官方文档确实有点语焉不详,但核心配置都藏在Info.plist里,咱们一步步来调整:

1. 先修正文件处理角色配置

打开你的Info.plist(建议用源代码模式编辑,比可视化界面更直观),找到CFBundleDocumentTypes数组——这是你声明App支持的文件类型的核心配置区。

对于每个你想修改分享文本的文件类型条目,必须确保LSHandlerRole的值设置为**Viewer或Editor**,而不是None或其他值:

  • 当角色是Viewer/Editor时,系统会默认识别为“打开/导入”类操作,显示类似“Open in [你的App名]”的文本
  • 如果角色配置错误,系统就会默认显示“Copy to [你的App名]”

示例源代码配置:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>我的支持文件</string>
        <key>LSHandlerRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.text</string> <!-- 替换成你实际支持的UTI类型 -->
        </array>
    </dict>
</array>

2. 自定义显示文本(可选)

如果你想把前缀从“Open in”改成“Import to”或者其他自定义表述,需要通过本地化字符串来覆盖系统默认逻辑:

  1. 在项目中创建对应语言的InfoPlist.strings文件(比如en.lproj/InfoPlist.strings、zh-Hans.lproj/InfoPlist.strings)
  2. 在文件中添加键值对(以英文为例):
// 自定义App的显示名称
"CFBundleDisplayName" = "MyApp";
// 可选:自定义文件类型的描述,让文本更贴合导入场景
"CFBundleTypeName" = "可导入文件";

系统的分享菜单文本逻辑是[动作前缀] + [App名称],如果你的App主打导入场景(比如导入文档、照片),调整角色后系统大概率会自动切换为“Import to”前缀;如果还是不符合预期,通过本地化字符串可以进一步微调。

3. 检查自定义文件类型声明(如果有)

如果你的App是通过UTImportedTypeDeclarations声明自定义文件类型的,也要确保对应的UTTypeTagSpecification和角色配置正确,避免系统误判为“复制”类操作。

最后记得清理项目缓存(Command+Shift+K),然后完全重装App到测试设备——Info.plist的修改有时候需要彻底替换才能生效。

内容的提问来源于stack exchange,提问作者William

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:52:32