gpt4 book ai didi

iphone - 以编程方式控制 iPhone OS 版本以启用 OS 3.x 和 4 的功能 - MFMessageComposeViewController 问题

转载 作者:行者123 更新时间:2023-12-03 18:41:12 25 4
gpt4 key购买 nike

为了支持 iPhone OS 3.x 和 4.0,我以编程方式控制 MFMessageComposeViewController 功能,如下所示(仅当操作系统版本为 4.0 或更高版本时才使用它):

// if iPhone OS version >= 4.0
if (os_version_num >= 4) {
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = text;
controller.recipients = [NSArray arrayWithObjects: nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
[controller release];
}
}

但是,当我尝试在 iPhone 3.1.3 设备上运行它时,我立即收到以下错误(甚至在应用程序加载之前):

dyld: Symbol not found: _OBJC_CLASS_$_MFMessageComposeViewController
Referenced from: /var/mobile/Applications/7232C474-FAD5-4E28-ABC5-8520F62300B0/TextMe.app/TextMe
Expected in: /System/Library/Frameworks/MessageUI.framework/MessageUI

数据格式化程序暂时不可用,将在“继续”后重试。 (此时调用 dlopen 不安全。)

我做错了什么?

最佳答案

您需要确保您正在做一些事情:

在目标的build设置中:

  • 将基础 SDK 设置为 iPhone 设备 4.0
  • 将 iPhone 操作系统部署目标设置为 iPhone OS 3.1.3(或更低版本)

在目标的常规设置中,在链接库下,将 MessageUI.framework 旁边的“类型”更改为弱。

不要导入<MessageUI/MFMessageComposeViewController.h>否则在 3.x 中启动时会崩溃。只需导入<MessageUI/MessageUI.h>

我不知道 os_version_num 是什么,但这是我用来测试 MFMessageComposeViewController 可用性的代码:

Class smsClass = (NSClassFromString(@"MFMessageComposeViewController"));
if (smsClass != nil && [MFMessageComposeViewController canSendText]) {
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.body = text;
controller.recipients = [NSArray arrayWithObjects: nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
[controller release];
}

关于iphone - 以编程方式控制 iPhone OS 版本以启用 OS 3.x 和 4 的功能 - MFMessageComposeViewController 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com