【问题标题】:Xcode 4.2, Three20 on iOS 3.0 Symbol not found: _OBJC_CLASS_$_UISplitViewControllerXcode 4.2, Three20 on iOS 3.0 Symbol not found: _OBJC_CLASS_$_UISplitViewController
【发布时间】:2011-12-02 16:44:18
【问题描述】:

我正在使用 Xcode 4.2 和 Three20 创建可以在所有 iOS 上运行的应用程序。

当我在装有 iOS 3.0 的 iPhone 3G 上运行该应用程序时,
我在调试控制台中看到崩溃并显示以下消息:

dyld: Symbol not found: _OBJC_CLASS_$_UIPopoverController
  Referenced from: /var/mobile/Applications/7AB01877-55F2-4A5F-A835-FF7849D6E285/Xcode4M.app/Xcode4M
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit

我关注了这个this SO 并修复了崩溃。 现在我收到了另一个崩溃消息:

dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
  Referenced from: /var/mobile/Applications/7AB01877-55F2-4A5F-A835-FF7849D6E285/Xcode4M.app/Xcode4M
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit

我尝试用同样的方法修复这个崩溃,但没有成功。

你知道如何解决这个问题吗?

编辑:(添加有问题的代码)

文件:TTSplitViewController

@interface TTSplitViewController : UISplitViewController 
<UISplitViewControllerDelegate, TTNavigatorRootContainer> {
@private
  TTNavigator* _leftNavigator;
  TTNavigator* _rightNavigator;
  UIBarButtonItem*      _splitViewButton;
  id  _popoverSplitController;
}

【问题讨论】:

    标签: xcode three20 uisplitviewcontroller


    【解决方案1】:

    是的。你可以在https://github.com/facebook/three20/pull/695/files 看到拉取请求中的代码。除了 TTSplitViewController 之外,它还解决了 3.1 的所有问题。

    它使用了three20的特殊函数来创建一个UIPopViewController

    _popoverController =  [[TTUIPopoverControllerClass() alloc] init];
      if (_popoverController != nil) {
        [_popoverController setContentViewController:controller];
        [_popoverController setDelegate:self];
      }
    

    您仍然需要注释掉 TTSplitViewController,但这是唯一在 iOS 3.1 中存在问题的类。 (请参阅拉取请求中的 cmets)

    【讨论】:

      【解决方案2】:

      我在 Target Membership 中取消选中 TTSplitViewController.hTTSplitViewController.m
      并评论该行

      //#import "Three20UI/TTSplitViewController.h"  
      

      Three20UI.h

      并从其 Target Membership 中取消选中 UISplitViewController+TTNavigator.hUISplitViewController+TTNavigator.m

      并注释该行

      //#import "Three20UICommon/UISplitViewController+TTNavigator.h"  
      

      Three20UICommon+Additions.h

      我工作,但我更愿意做类似this SO 的事情,这样我以后可以使用这些类。如果有人知道该怎么做,我会很高兴。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-31
        • 2019-11-15
        • 2016-06-29
        • 1970-01-01
        • 2014-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多