标签: ios-app-group

openParentApplication:reply是否需要启用应用程序组功能?

我正在开发一个在手表和iOS父应用程序之间进行通信的应用程序.它通过打开它将WatchKit扩展中的数据发送到父应用程序.我知道openParentApplication:reply,在调用时,会从Apple Watch打开iPhone应用程序.之后,application:handleWatchKitExtension:reply在应用程序的委托中调用.

从那里,您可以通过以下方式向视图控制器打开通知:

NSNotificationCenter.defaultCenter().postNotificationName(aName: String, object anObject: AnyObject?)
Run Code Online (Sandbox Code Playgroud)

您可以在视图控制器中打开"aName":

NSNotificationCenter.defaultCenter().addObserver(self,
        selector: Selector("handleWatchKitNotification:"),
        name: "WatchKitSaysHello",
        object: nil)
Run Code Online (Sandbox Code Playgroud)

这是我的WatchKit扩展中的接口控制器的代码:

//
//  InterfaceController.swift
//  SendColors WatchKit Extension
//
//  Created by Tommy on 12/30/14.
//  Copyright (c) 2014 Tommy. All rights reserved.
//

import WatchKit
import Foundation


class InterfaceController: WKInterfaceController {

var ypo = false

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    // Configure interface objects here.
}

@IBOutlet weak var redButton: WKInterfaceButton!

@IBOutlet weak var greenButton: WKInterfaceButton!

@IBOutlet weak …
Run Code Online (Sandbox Code Playgroud)

ios swift ios-app-group watchkit

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

应用程序组应用程序iOS数据共享

假设我有以下应用程序标识符com.test.product1,它是product1,提供组ID为group.com.test.product1.

我应该将文档共享给另一个产品com.test.product2,该产品 是product2提供groupid group.com.test.product2.

如何 在所有这些应用程序之间共享一个像group.com.test.product这样的公共组?

objective-c ios ios-app-group

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

从共享应用程序组中删除文件

我有一个可以成功将文件移动到共享应用程序组中的功能,但删除该文件的功能似乎不起作用。如果我打印出 fullpath2 变量,它似乎是正确的位置,但文件不会被删除,也不会返回错误。

这是我的功能:

func getSharedFilePath(appGroup:String,sharedFilename:String)->URL? {

if let directoryPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: appGroup) {
    return directoryPath.appendingPathComponent(sharedFilename)
} else {
    return nil
}
}


public func deleteFromSharedFile(sharedFilename: String, fileExtension: String)->String {
let sharedFilename = "\(sharedFilename).\(fileExtension)"
guard let url = getSharedFilePath(appGroup:applicationGroup,sharedFilename:sharedFilename) else {
    return("Error getting shared file path")
}

// read file from file system to data variable
let fileManager = FileManager.default
do {
    try fileManager.removeItem(atPath: (url.path))
    return("File Removed")
}
catch let error as NSError {
    return("File Remove Failed - \(error)")
} …
Run Code Online (Sandbox Code Playgroud)

swift ios-app-group

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

检查完全访问权限以获取自定义键盘扩展名

我需要检查自定义键盘扩展的完全访问权限。我找到了此链接。

如何检查iOS 8中是否启用了“允许完全访问”?

它说我们可以检查App组。我有一个名为“ group.TTT.TGroup”的应用程序组。它在主应用程序和自定义键盘之间共享访问权限。

然后,我这样检查。问题是我总是可以访问它(总是有array或error = null)。是因为我共享相同的数据吗?但是,如果我的应用程序使用另一个应用程序组,而扩展程序使用另一个应用程序组,则我绝对不能访问它。我可以知道怎么做吗?

NSFileManager* fileManager = [NSFileManager defaultManager];
NSString *path = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"group.TTT.TGroup"].path;
NSError *error;
NSArray *arr = [fileManager contentsOfDirectoryAtPath:path error:&error];

NSLog(@" arr is %@",arr);
if (arr == nil || !arr) //can check error also
    accessOn = NO;

else accessOn = YES;
Run Code Online (Sandbox Code Playgroud)

objective-c ios8 ios-app-extension ios-app-group custom-keyboard

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

在OSX Mac App Store中使用应用程序组

我试图将我的应用程序提交到Mac App Store,并且收到此消息。我不确定我要去哪里错。我应该给应用程序组命名吗?

谢谢

错误

macos xcode code-signing-entitlements swift ios-app-group

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

像watchOS 2中的共享NSUserDefaults和App Groups?

我目前正在为watchOS 2更新我的应用程序,并且在设备之间的通信方面遇到了一些麻烦:之前我一直在使用共享的NSUserDefaults来启用Watch和iOS设备,以便独立地从一个App Group读取和写入多个值.

现在watchOS 2应用程序在Watch上本地运行,Watch Connectivity Framework取代了之前的通信选项,这似乎不再适用.但是,从我在参考文献中看到的内容来看,实现与WatchOS 1中使用Watch Connectivity相同的功能相当麻烦......

有没有其他选择让我创建某种容器/文件/数据库/我可以从我的Watch应用程序和相关的iOS应用程序访问和更新?

nsuserdefaults swift ios-app-group watchos-2

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

iOS:在App Group中保存图像以便在Apple Watch上使用

背景:

在我的iPhone应用程序中,我检索图像并将其保存到文档目录,以便更快地加载.我知道要在Apple Watch上使用这些图像,我必须与App Group分享.

所以,我创建了一个应用程序组,更新了我的配置文件,所有这些都是爵士乐.现在我的问题是我不知道如何将图像保存到App Group并在WatchKit文件中读取该图像.

以下是我尝试将图像保存到App Group的内容:

NSString *container = @"group.com.appName.watchdatasharing";

NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:container];

[defaults setValue:UIImagePNGRepresentation([FileManager readImageFromFileWithName:@"icon1_imgUrl"]) forKey:@"icon1_imgUrl"];
Run Code Online (Sandbox Code Playgroud)
  • 注意:我的FileManager类返回一个UIImage

要在我的WatchKit应用程序中检索图像,我使用以下代码:

NSString *container = @"group.com.fantrac.watchdatasharing";

NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:container];

NSData* imageData = [defaults valueForKey:@"icon1_imgUrl"];
UIImage* image = [UIImage imageWithData:imageData];

[tableRow.iconImage setImage:image];
Run Code Online (Sandbox Code Playgroud)

题:

我在Apple Watch上测试时没有显示图像.在申请和Apple Watch之间保存/检索图像时,我需要做些什么?

objective-c ios ios-app-group watchkit

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