UImenucontroller 在 App Store 中的行为与在开发中的行为不同

Posted

技术标签:

【中文标题】UImenucontroller 在 App Store 中的行为与在开发中的行为不同【英文标题】:UImenucontroller behaves differently on App Store than on development 【发布时间】:2013-02-07 00:56:20 【问题描述】:

我的客户报告了一个基本 UIMenuController 的奇怪行为:当应用程序从应用商店或临时安装时,UIMenuController 不会出现! 它在模拟器上运行良好,或者直接从 xcode 加载时,但如果我尝试分发完全相同的应用程序并通过应用程序商店或 ipa 文件安装它,菜单不会显示。

这可能来自哪里?

我不认为它有帮助,但这里是我用来显示菜单控制器的代码:

 UIMenuController *menuController;
 NSAssert([self becomeFirstResponder], @"Sorry, UIMenuController will not work with %@ since it cannot become first responder", self);
 UIMenuItem *duplicateItem = [[UIMenuItem alloc] initWithTitle:@"Duplicate" action:@selector(duplicate:)];
 UIMenuItem *deleteItem = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(deleteButton:)];
 UIMenuItem *copyItem = [[UIMenuItem alloc] initWithTitle:@"Copy" action:@selector(copySelected:)];
 [menuController setMenuItems:[NSArray arrayWithObjects:duplicateItem, deleteItem, copyItem, nil]];
 [menuController setArrowDirection:UIMenuControllerArrowDown];
 [menuController setTargetRect:sender.frame inView:contentView];
 [menuController setMenuVisible:YES animated:YES];

和:

 - (BOOL) canPerformAction:(SEL)selector withSender:(id) sender
 
      return [super canPerformAction:selector withSender:sender];
 

【问题讨论】:

精氨酸。没有答案。我担心...我可以去哪里看? 【参考方案1】:

您的测试与分布式二进制文件之间的区别在于,您可能在“调试”中测试您的应用,但在“发布”中发布。

NSAssert 可能会从“发布”版本中剥离出来,并且 / 可以 / 改变行为。

【讨论】:

以上是关于UImenucontroller 在 App Store 中的行为与在开发中的行为不同的主要内容,如果未能解决你的问题,请参考以下文章

UIMenuController 没有出现

UIMenuController 显示错误的项目

确定何时解除 UIMenuController?

在哪里向 UIMenuController 添加自定义菜单项?

在 UIView 上设置 UIMenuController

使用 uimenucontroller 时遇到问题