小编Jas*_*son的帖子

如何解决iOS后台应用程序取消无法解决?

我想让iOS后台应用程序获取在我的应用程序中工作.在Xcode中进行测试时,它可以正常运行,但在设备上运行却没有!

  • 我的测试设备运行的是iOS 9.3.5(我的部署目标是7.1)
  • 我在Xcode中的目标"Capabilities"下的"Background modes"下启用了"Background fetch"

在此输入图像描述

在应用程序中:didFinishLaunchingWithOptions我用setMinimumBackgroundFetchInterval尝试了各种间隔,包括UIApplicationBackgroundFetchIntervalMinimum

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    // tell the system we want background fetch
    //[application setMinimumBackgroundFetchInterval:3600]; // 60 minutes
    [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
    //[application setMinimumBackgroundFetchInterval:1800]; // 30 minutes

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我已经实现了application:performFetchWithCompletionHandler

void (^fetchCompletionHandler)(UIBackgroundFetchResult);
NSDate *fetchStart;

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    fetchCompletionHandler = completionHandler;

    fetchStart = [NSDate date];

    [[NSUserDefaults standardUserDefaults] setObject:fetchStart forKey:kLastCheckedContentDate];
    [[NSUserDefaults standardUserDefaults] synchronize];

    [FeedParser parseFeedAtUrl:url withDelegate:self];
}

 -(void)onParserFinished
{
    DDLogVerbose(@"AppDelegate/onParserFinished");

    UIBackgroundFetchResult result = UIBackgroundFetchResultNoData;

    NSDate *fetchEnd = [NSDate date];
    NSTimeInterval timeElapsed = [fetchEnd …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ios background-fetch

30
推荐指数
2
解决办法
9919
查看次数

我应该如何在开发过程中使用identifierForVendor?

Apple建议使用[UIDevice currentDevice] .identifierForVendor.每次在iOS模拟器中运行应用程序时,此值都会更改.

我的应用程序中的初始功能要求我将设备识别为轻型身份验证的一种形式.这使得开发变得乏味,理想情况下我可以在调试/运行会话中保持唯一的值.是否有任何建议来实现这一目标?

cocoa-touch ios ios-simulator

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

在任何目标中都找不到“内容视图预览”的 Xcode 12.3 SwiftUI Preview 1

我看到其他人在 Xcode 11 和 12 中使用 SwiftUI Previews 发布了问题,但在其他地方没有看到这个问题。

在 Xcode 11 中运行的旧项目在 Xcode 12 中加载,无论预览内容多么简单,都无法启动预览。

实际预览代码:

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        Text("I heart Xcode")
            .previewDevice("iPhone 11")
    }
}
Run Code Online (Sandbox Code Playgroud)

单击“继续”或“重试”后:

couldNotFindInputNodeInBuiltGraphError<XcodeGraphSource, PreviewInstance>:在任何目标中都找不到“内容视图预览”的预览 1

“内容视图预览”的预览 1 必须至少属于当前方案中的一个目标才能使用预览

元素:PreviewInstance(destinationDescription: UVPreviewPipeline.AnyPreviewDestinationDescription(storage: UVPreviewPipeline.(unknown context at $1382211e0).AnyPreviewDestinationDescriptionBoxImpl<UVIntegration.SimulatorPreviewDestinationDescription>),previewIdentity:UVPreviewPipeline[内容预览类型:内容预览类型:内容预览类型:应用设备:iPhone 11 索引:0 布局:设备supportsLive:true supportsOnDevice:true),variant:nil,variantedIdentifier:ContentView_Previews[0],identifier:AnyHashable(ContentView_Previews[0]))

我只有一个目标,和以前一样,没有特殊配置。我试过重新加载 Xcode 以及将所有源文件复制到一个新目录(在某处看到那个)。

其他任何人都能够解析此错误消息或就如何修复 SwiftUI 预览提出建议?

谢谢。

xcode swiftui

8
推荐指数
4
解决办法
1463
查看次数

共享UIImage到UIActivityViewController Twitter/Facebook显示对话非常慢

我有一张从相机中取出的图像并保存到/ tmp文件夹中.

当我将此图像添加到UIActivityViewController的activityItems,然后按下与Twitter或Facebook共享时,我必须等待最多20秒才能显示共享对话框.

请注意,我指的是为Twitter/Facebook显示的实际"发布"对话框,而不是生成它的本机共享弹出窗口.

当我从照片应用程序共享相同的图像时,它会立即显示.

起初我认为照片应用程序正在调整图像大小,因为较小的图像显得更快,但我发现当我使用SLComposeViewController直接将相同的图像分享到Twitter或Facebook时,它(几乎)立即出现.

假设我在代码中做错了,这就是导致冰冷的对话框出现的原因:

NSArray *items = @[@"foo", [UIImage imageWithContentsOfFile:@"valid path to test image"]];

UIActivityViewController *vc = [[UIActivityViewController alloc]
        initWithActivityItems:items applicationActivities:nil];
[self presentViewController:vc animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这几乎是立即起作用的:

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[controller setInitialText:@"foo"];
[controller addImage:[UIImage imageWithContentsOfFile:@"valid path to test image"]];
[self presentViewController:controller animated:YES completion:Nil];
Run Code Online (Sandbox Code Playgroud)

为了它的价值,我也尝试排除其他共享类型(我读过去AirDrop引起的问题),以及包装块以确保我在主线程上执行.

我想我做错了什么?

如果我不是,并且这两个其他方法实际上正在调整图像大小,是否有一些我缺少的文档提供了关于调整大小的指导?

**编辑:额外的测试似乎表明这个问题是iOS8独有的,因为我没有在较旧的iOS7设备上体验过它.

谢谢

objective-c ios slcomposeviewcontroller uiactivityviewcontroller

6
推荐指数
1
解决办法
652
查看次数

如何在OSX中使用.net核心设置控制台颜色

我正在OSX 10.11.5(El Capitan)上使用.NET core 1.0。只需更改Console.ForegroundColor似乎对命令行中的控制台文本颜色没有影响。

     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.WriteLine("Yellow");
Run Code Online (Sandbox Code Playgroud)

我尝试更新我的bash配置

export CLICOLOR=1
Run Code Online (Sandbox Code Playgroud)

我还有什么需要做的吗?

macos .net-core

5
推荐指数
1
解决办法
1159
查看次数