Xcode 7.3,共享扩展,似乎无法将数据从扩展传递到容器应用程序
Posted
技术标签:
【中文标题】Xcode 7.3,共享扩展,似乎无法将数据从扩展传递到容器应用程序【英文标题】:Xcode 7.3, Share Extension, Can't seem to pass data from extension to container app 【发布时间】:2016-05-19 16:07:00 【问题描述】:Xcode 7.3、iPhone 6s+ ios 9.2.1
容器的组共享和共享扩展的所有设置似乎都正常。扩展方法被正确调用。但无论尝试什么(共享用户默认值)或(共享文件访问)设置用户默认值或写入文件的代码似乎都“突破”了范围。
部分代码示例
if let defaults = NSUserDefaults(suiteName: "group.propergroupname")
defaults.setObject(url, forKey: "url")
defaults.setObject("", forKey: "post")
defaults.synchronize()
让 fileManager = NSFileManager.defaultManager()
if let directory = fileManager.containerURLForSecurityApplicationGroupIdentifier("group.propergroupname")
let stringUrl = self.selectedMovie!.URL.absoluteString
let filename = directory.absoluteString + "videodata.txt"
do
try
stringUrl.writeToFile(filename, atomically: true, encoding: NSUTF8StringEncoding)
print("file written")
catch
print("file write problem")
所以对于默认值,第一个 defaults.setObject 刚刚爆发。
对于文件,writeToFile 爆发。
那么如何从 Share Extension 中获取信息到 Container App 中呢?
【问题讨论】:
【参考方案1】:您是否打开了应用组? (查看随附的屏幕截图)。
同时检查您是否使用“group.propergroupname”作为您的应用组名称。
【讨论】:
是的,对于容器应用程序和共享扩展。 imgur.com/sip7C2B 如果您看到所有刻度,那么也许您可以 1. 清理 Build 文件夹,删除 Derived Data 文件夹并重新启动 Xcode。 2. 如果您的旧配置文件已失效并且您仍在使用它,请检查开发人员门户。 在那里做过。一直在做iOS。就像我说的,已经尝试了所有的技巧,但仍然没有成功。 那么我会建议你在一个测试项目中尝试这样做。只是为了确认我们没有遗漏任何重要步骤。以上是关于Xcode 7.3,共享扩展,似乎无法将数据从扩展传递到容器应用程序的主要内容,如果未能解决你的问题,请参考以下文章