gpt4 book ai didi

objective-c - ShareKit 方法在 Lion/Xcode 4.3.1 中调配?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:52:43 25 4
gpt4 key购买 nike

我最近使用 iOS 5 SDK 和共享库升级到 Lion 和 Xcode 4.3.1 ShareKit已损坏 - 它为其电子邮件处理程序使用方法调配。显然苹果有 banned或者至少尝试逐步淘汰方法调配。

ShareKit 导入一个文件 </usr/include/objc/objc-class.h> ,不再存在,并定义了自己的方法 swizzling 方法 SHKSwizzle .它使用它来改变 MFMailComposeViewControllerviewDidDisappear:方法如下:

SHKSwizzle([MFMailComposeViewController class], @selector(viewDidDisappear:), @selector(SHKviewDidDisappear:));

您认为解决此问题的最佳和最简单方法是什么?

最佳答案

即使在最新的 XCode 和 iOS SDK 上,我也从未遇到过与方法调配相关的错误。我用 ShareKit 2.0 .尽管在我看来,方法调配是应该避免的事情。

如果我没记错的话,swizzled 方法是 viewDidDisappear。看看它的作用。在 iOS 5 上,您可以使用 中的完成 block 实现相同的效果 - (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion

只需更改在 中关闭 viewController 的方式 - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 可能就足够了。

这只是一个想法,您可以如何摆脱 method swizzle。

关于objective-c - ShareKit 方法在 Lion/Xcode 4.3.1 中调配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900189/

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