0

我必须将项目从 iOS 3.2 更新到 iOS 4.3(或 iOS 5.0)。

我发现在 iOS 3.2 中,他们使用MessageWebLayer.h了框架的私有文件。

但是从这个链接,我发现它是从 iOS 4.3 公开的。

当我尝试MessageWebLayer.h在我的应用程序中实现时,它给了我错误。

从我的搜索中我发现我必须使用MessageUI框架的 MFMailComposer。

适用于 iOS 3.2 的代码

.h 文件

导入“MessageWebLayer.h”

MessageWebLayer *消息;

.m 文件

CGRect webViewFrame = CGRectMake(0, 118, 768, 4000);

message =[[MessageWebLayer alloc] initWithFrame:webViewFrame visibleSize:webViewFrame.size];

如果我尝试在 iOS 4.3 中运行它,它会给我类似的错误

_OBJC_CLASS_$_MessageWebLayer", referenced from: objc-class-ref in MessageUIAppDelegate.o

但我仍然无法解决问题?

我该怎么办 ?

4

3 回答 3

0

添加MessageUI.framework到您的项目并将您的 xCode 更新到最新版本,以便为更高版本的 iOS(如 iOS 4.3 或 5.0)编译应用程序。

于 2011-11-01T06:56:57.973 回答
0

尝试下载这个私有框架。替换 MessageUI 框架并尝试。尝试找出最新更新的 MessageUI 框架。希望可以工作

编辑:

参考以下一些链接后:

https://www.elance.com/p/blog/2011/10/ios5-a-developers-perspective.html

http://gravityjack.com/gravityjack_news/ios-5-for-developers-what-you-need-to-know.html

http://blog.vanitypoint.com/2011/10/key-improvements-developers-are-eyeing-on-ios-5/

我遇到过在 iOS 5 中发生了重大变化MessageUI framework 所以尝试从 iOS 5 SDK 中仅提取 MessageUI 框架并在您的应用程序中使用该框架。

于 2011-11-01T10:42:53.113 回答
0

好的,我已经解决了我的问题。

iOS 3.0,

MessageUI.framework包含私有头文件,即MessageWebLayer.h.

iOS 4.3和中iOS 5.0

MessageUI.framework包含私有头文件,现在重命名为MFMessageWebLayer.h

所以,我用文件替换MessageWeblayer.hMFMessageWebLayer.h文件。

并且还将对象和相关方法更改为这个私有头文件。

所以它工作正常并提供适当的输出。:)


问:如何获取这个私有头文件MessageUI.framework

答:

1)下载class-dump-z

2)然后使用此链接中的最后一个选项

于 2011-11-02T04:52:20.793 回答