由于自定义 CNSocialProfile 服务名称导致 imessage 中的 VCF 崩溃?

VCF in imessage crashing due to customized CNSocialProfile service name?

我使用 swift 以编程方式创建了一个 vcf。在这个 vcf 中,我制作了一个 [CNLabeledValue<CNSocialProfile>] 对象,我在其上附加了一个 CNSocialProfile 和自定义服务名称,在我的例子中是 "Instagram"

但是,一旦我使用 iMessage 共享此 vcf,所有在 iOS 13 上面运行的设备都会在单击 vcf 时崩溃,但是 iOS 13 之前的所有设备都工作正常。有没有办法暂时避免这种情况?

这个问题是 CNSocialProfile 中的自定义服务名称,是通过手动测试相同的名称并一次单独删除一个元素而获得的,因为它不可能调试 iMessage 应用程序(我认为)。

这是导致问题的代码:

if contact.instagram != ""
{
    socialProfiles.append(
        CNLabeledValue(
            label: "Instagram", 
            value: CNSocialProfile(
                urlString: contact.instagram, 
                username: contact.instagram, 
                userIdentifier: self.givenName, 
                service: CNSocialProfile.localizedString(
                    forService:"Instagram"
                )
            )
        )
    )
}

我想显示自定义社交媒体链接,如 instagram 和 snapchat 而不会使通过 iMessage 发送的 vcf 崩溃,因为它对应用程序的运行至关重要。有什么办法可以做到这一点吗?

目前从 iOS 13.2.3 开始,iMessage 应用程序中存在此错误。原因是 CNSocialProfile 的自定义标签不受支持。

同样有一个解决方法。您可以在 CNMutableContacturladdress 数组中自定义标签。

另外生日也不保存在通讯录里postiOS13.希望apple尽快修复