1

我不确定这是否可以完成......

背景:我正在构建一个内部应用程序,这意味着它不会进入应用商店,因此我不受应用商店指南的限制。

我有一个在主应用程序之前加载的 dylib。它是一种用于应用程序的扩充库。我正在使用构造函数__attribute__来加载我的东西。在那里我想放置一个警报视图或任何类型的弹出窗口,它将接收用户/密码问题。如果密码正确,则允许用户继续进入原始应用程序。

由于这是在 dylib 我还没有 UIApplication 并且我不想干涉原始应用程序或源。

欢迎提出建议,提示...谢谢。

4

4 回答 4

2

这就是我在我的应用程序中所做的非常相似的事情:

0)拦截applicationDidFinishLaunching消息,添加自己的代码,运行原始实现。

1) 制作不透明的全屏 UIWindow(例如黑色)。

2)将其设置windowLevelUIWindowLevelAlert + 1因此它隐藏了应用程序中的所有其他窗口。

3) 将用户和密码字段添加到此 UIWindow。

于 2012-06-16T13:29:12.473 回答
1

我很确定你不能在没有初始化 UIApplication 和 UIWindow 实例的情况下显示 UIAlertView 。

只有 iOS 本身可以在应用程序之外显示警报,例如当它请求权限或在 iTunes 或游戏中心登录的情况下......

作为一种解决方法,您可以:

  • 在应用程序中创建一个登录视图
  • 为登录过程创建一个 Web 应用程序。Web 应用程序可以使用自定义 URL 方案启动本机应用程序,并将“用户”和“密码”等参数传递给应用程序。
于 2012-06-16T12:53:22.533 回答
0

您应该为登录创建一个视图,然后如果您通过登录,您可以继续使用该应用程序,否则您只需让应用程序自行关闭。

于 2012-06-16T07:57:16.517 回答
0

您可以在加载 dylib 时启动一个线程并让它监听您UIApplication的可用,然后在主线程上显示警报。

于 2012-06-16T08:00:06.497 回答