我已经使用自定义UI创建了一个iOS共享扩展(不使用SLComposeServiceViewController),一切都运行良好。
调用扩展程序后,它会获取共享的URL或文本并发送它。这就是它所做的一切,它运作良好。
自定义用户界面很简单。一个图像视图,显示一个图形,表明它正在发送,然后一旦完成就改为说“已发送”。然后这就消失了。
出现问题是在完成此操作后,扩展程序似乎消失了,但我无法再控制主机应用程序了。就好像一个看不见的窗口或视图位于一切之上。 (例如,Safari中的图像旋转器仍然会旋转,但我无法滚动或点击链接或按钮等。)
我在分享完成后正在调用[self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
,据我了解,这应该会取消我的用户界面。我也试过[self.view removeFromSuperview]
而没有任何运气。
发生在模拟器和设备上。有什么我想念的吗?
编辑:这是我为测试共享而构建的简单应用程序的视图层次结构在共享之前和之后的Reveal中的样子。该应用程序有两个按钮:共享文本和共享网址,每个按钮都会显示一个标准的共享表。
在
在
答案 0 :(得分:3)
好的,我不知道为什么我花了10个小时才意识到我没有在我的beginRequestWithExtensionContext:
方法中包含对super的调用。
我不知道造成了什么其他问题,但它确实引起了我的问题。