【问题标题】:MessageUI in iOS 6.0 issueiOS 6.0 中的 MessageUI 问题
【发布时间】:2012-10-18 03:12:52
【问题描述】:

Xcode 和 obj-c 中的初学者问题。

在我的项目中,我有一个带有 IBAction 的按钮,可以在不使用我的应用程序的情况下发送短信(MessageUI 链接到项目)。在 iOS 5 代码运行良好,但是当我在最新的 Xcode 中打开相同的项目为 iOS 6 重新编译它时,我收到警告:http://uaimage.com/image/10e31752 在 iOS 6 中使用 MessageUI 是否有所改变?

感谢您的关注!

【问题讨论】:

  • 自从将 iPhone 4 升级到 IO6 后,我也遇到了同样的问题。虽然没有警告。这似乎是由于线程模型的变化引起的。
  • 能看到接口声明吗?
  • 当然! uaimage.com/image/e71f051f 协议声明因警告而被否决

标签: objective-c sms message xcode4.5


【解决方案1】:

嗯……刚刚发生了一件非常奇怪的事情。

我的项目结构如下:

YourProject (Root of the project with Xcode Project Icon)
    /YourProject (Folder)
        /Group X (Nested Folder)
            /SomeViewController.h
        /Group Y (Nested Folder)
            /Group Y1 (Nested Folder)
                /OtherViewController.h
            /Group Y2 (Another Nested Folder)
                /YetAnotherViewController.h

SomeViewController 类,使用 MFMessageComposeViewControllerDelegate 和 MFMailComposeViewControllerDelegate 工作正常:

...
@interface SomeViewController : UIViewController <MFMessageComposeViewControllerDelegate, MFMailComposeViewControllerDelegate> {}
...

OtherViewController 和 YetAnotherViewController 类,使用相同的 MFMessageComposeViewControllerDelegate 和 MFMailComposeViewControllerDelegate 将无法编译!

错误是:

  • 找不到“MFMessageComposeViewControllerDelegate”的协议声明

和/或

  • 找不到“MFMailComposeViewControllerDelegate”的协议声明。

所以我检查并重新检查导入,声明所有方法和我的 ViewController 相同,唯一不同的是它们的数据对象名称。

最后解决方案真的很傻!我通过将嵌套文件夹向上移动一级解决了这个烦恼。一切都编译得很好!

显然库的导入(当您将它们添加到项目中时)不会到达子组中的文件!我猜这是 XCode 和 iOS 6 的错误,但我遇到了同样的错误。

由于组是项目结构中的虚拟文件夹(它们不在文件系统中),这真的很奇怪。

我希望可以节省时间和避免头痛的人!

【讨论】:

  • 非常感谢您的评论,希望对大家也有帮助!
【解决方案2】:

看这张图片:

http://uaimage.com/image/e71f051f

你必须使用 MFMessageComposeViewControllerDelegate 而 MFMailComposeViewControllerDelegate

【讨论】:

    【解决方案3】:

    MFMessageComposeViewControllerDelegate 添加到您的 Header(.h) 文件中。

    示例:UIViewController&lt; MFMessageComposeViewControllerDelegate&gt;

    【讨论】:

    • 我的 ViewController 符合 MFMessageComposeViewController,并且 MessageUI 被添加到项目文件夹中。使用相同的代码在 iOS 5 中一切正常。
    猜你喜欢
    • 2023-03-12
    • 2013-02-09
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    相关资源
    最近更新 更多