标签: uiapplication

什么最能描述应用程序代表?它如何适应整个概念?

我想知道App Delegate的功能.它有一些很好的方法,比如-applicationDidFinishLaunching应用程序完成启动时会调用,等等.但究竟是什么呢?是否在UIApplicationMain函数中实例化了一些对象?

我的应用程序中的每个类都可以访问该App Delegate对象,它是如何工作的?网上是否有任何可视化这些关系的好图表?

delegates uiapplication uiapplicationdelegate ios appdelegate

16
推荐指数
1
解决办法
8372
查看次数

来自App Extension的openURL

在iOS 8 beta 2上,应该可以使用app扩展中的openUrl写入发行说明中:

在此输入图像描述

但是,当我尝试使用此API(在Xcode 6 beta 2上)时,我收到以下错误:

在此输入图像描述

Beta 2是否真的解决了这个问题?

uiapplication openurl ios8 ios-app-extension

15
推荐指数
2
解决办法
1万
查看次数

Booking.com如何以编程方式关闭他们的应用程序?

我刚看到Booking.com应用程序的这个技巧,让你更改应用程序的语言:

booking.com app

我不知道有任何技术以编程方式关闭iOS应用程序(并且它也被Apple的指导禁止,但让我们"假装"我的老板要我这样做).

他们是如何做到的呢?我已经尝试了,exit(0)但它会立即退出,就像进程崩溃一样,而他们的应用程序通常会动画到主屏幕.是否可能有私人URL方案打开主屏幕?

objective-c uiapplication ios swift

13
推荐指数
1
解决办法
502
查看次数

Vesper如何在没有UIApplicationIsOpaque键的情况下向用户显示壁纸?

一个名为Vesper的应用程序已针对iOS 7进行了更新,并在iOS 7上显示了用户的壁纸.我发现使用UIApplicationIsOpaque键和UIBackgroundStyleLightBlur可以显示用户背景,但不会通过验证.Vesper通过验证并通过Apple.我确实将这个问题上传到开发论坛,但苹果已经把它删除了.

uiwindow uiapplication ios7

12
推荐指数
1
解决办法
2244
查看次数

在iOS7上区分屏幕锁定和主页按钮按下

我需要做点什么applicationDidEnterBackground.但我需要区分哪个用户操作导致"输入背景":屏幕锁定或按下主页按钮.

我正在使用这个代码,这是从这篇文章 - 如何区分iOS5上的屏幕锁定和主页按钮?:

UIApplicationState state = [application applicationState];
if (state == UIApplicationStateInactive) {
    NSLog(@"Sent to background by locking screen");
} else if (state == UIApplicationStateBackground) {
    NSLog(@"Sent to background by home button/switching to other app");
}
Run Code Online (Sandbox Code Playgroud)

它在iOS6上运行良好.但是在iOS7(设备和模拟器)上UIApplicationStateBackground,无论用户是单击主页还是锁定按钮,我总能得到.

有人知道可能导致这种情况的原因吗?iOS 7更新到多任务后台处理?或者我的应用程序的某些设置(我的应用程序的后台模式已关闭)?

还有替代解决方案吗?

cocoa-touch objective-c uiapplication ios ios7

12
推荐指数
1
解决办法
4749
查看次数

UIApplication共享应用程序openURL无法正常工作

我有这个方法

- (IBAction)facebookButtonPress:(id)sender {
    NSLog(@"fb hit");
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"www.facebook.com/asbreckenridge" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么safari没有打开链接.我记录了'fb hit',所以正在调用该方法,但它没有在Safari中打开链接,我做错了什么?

objective-c nsurl uiapplication openurl ios

12
推荐指数
2
解决办法
2万
查看次数

如何从iPhone应用程序中删除UIApplicationMain?

我正试图将游戏库移植到iPhone上.与SDL不同,此库不完全控制main()函数,它通过快速返回的函数与您自己的代码进行通信.所以,例如,明显的伪代码:

int main() {
  library_init();
  // game init code here
  while(we_have_not_quit_the_game) {
    library_message_loop();
    library_init_render();
    // render stuff
    library_end_render();
    // update game state
  }
  library_shutdown();
}
Run Code Online (Sandbox Code Playgroud)

iPhone使这很困难,因为它要求你调用一个永不返回的UIApplicationMain函数.在library_init();之后我根本无法回到用户代码.

我不相信它是必要的 - 有NSRunLoop可以用来处理这些事件.然而,我不知道UIApplicationMain是否做了其他重要的事情.(请注意,我没有计划使用.nib文件,这是我发现UIApplicationMain唯一的另一件事.)

我有三个我能想到的真实想法,但它们都是一项重大的实施工作,所以我想知道是否有人有这方面的经验,然后我会花一天时间尝试注定的想法.

  • 在Init中,生成一个新线程,在该线程中运行UIApplicationMain.要么跨线程(ugh)传递所有事件,要么只是将UIApplicationMain线程置于休眠状态并在主线程中使用CFRunLoop.我听说UIApplicationMain不喜欢在不同的线程中运行.
  • 完全忽略UIApplicationMain,只需使用NSRunLoop.我是否会错过重要的iPhone设置?谁知道!
  • 做一些可怕的事情,使用longjmp()在安装后跳出UIApplicationMain代码,祈祷它在拆解过程中没有做任何重要的事情.

建议?

iphone uiapplication nsrunloop

11
推荐指数
2
解决办法
2865
查看次数

iOS:idleTimerDisabled = YES仅在使用ImagePicker之前有效

我有一个iPad调查工具作为内部企业应用程序.我阻止锁屏与设置[[UIApplication sharedApplication] setIdleTimerDisabled: YES];didFinishLaunchingWithOptions应用程序委托的.

这工作正常,直到我使用imagePicker拍摄图像.之后,idleTimer再次激活.我试图在拍摄图像后禁用它,但这不起作用.

在这里,我发现提示在info.plist中设置所需的设备功能可能会有所帮助.但到目前为止它没有.我刚刚添加了所有相机特定的标志.

有任何想法吗?

非常感谢!

马库斯

uiimagepickercontroller uiapplication ios

11
推荐指数
1
解决办法
1599
查看次数

11
推荐指数
1
解决办法
2860
查看次数

调用openURL来安装App OTA会导致安装缓存的应用程序

我正在创建一个内部应用程序来提供我们的业务客户可以无线安装的更新应用程序.

最终,我启动安装的方式是:

NSURL *otaURL = [NSURL URLWithString:@"itms-services://?action=download-manifest&url=<<my-url.plist>>"]; 
[[UIApplication sharedApplication] openURL:otaURL];
Run Code Online (Sandbox Code Playgroud)

这工作正常但我们注意到它有时会保留plist或ipa文件的缓存并安装旧版本.我们已经排除它在服务器上没有更新,因为我们甚至可以从服务器删除ipa文件,它仍然会安装旧版本.

更改.plist和.ipa文件名将起作用,但实际上不是所需的最终状态,所以我的问题是:有没有办法强制设备出去从服务器获取文件而不是依赖它的缓存?

uiapplication ios

10
推荐指数
1
解决办法
2599
查看次数