共享扩展名 .appex 文件未与 .app 文件一起安装。只能安装包含的应用程序

Posted

技术标签:

【中文标题】共享扩展名 .appex 文件未与 .app 文件一起安装。只能安装包含的应用程序【英文标题】:share extension .appex file not installing with .app file. Only get to install the containing app 【发布时间】:2017-12-03 10:15:23 【问题描述】:

我无法将共享扩展添加到我的应用程序,因为当我检查日志时它没有安装 MIInstaller 或 MIContainer。

我尝试转到我的主应用程序的一个非常旧的提交(比如一年前 - 假设它包含应用程序 2),并且共享扩展加起来很好。

当我检查 ios 控制台日志时

[MIInstaller performInstallationWithError:]: Install Successful; Staging: 0.00s; Waiting: 0.00s; Preflight/Patch: 0.01s, Verifying: 0.00s; Overall: 0.22s

[MIContainer makeContainerLiveReplacingContainer:reason:withError:]

两者都在为包含应用程序工作,但它从不为扩展程序运行。


使用包含 app2(旧提交应用)时,添加扩展

我明白了

[MIContainer makeContainerLiveReplacingContainer:reason:withError:]: Made container live for com.sentieo.****.sharetestClipper at /Users/abhijeet/Library/Developer/CoreSimulator/Devices/67BB0468-878B-4216-B092-2B16F5292939/data/Containers/Data/PluginKitPlugin/19C4F695-2B90-49B3-94AA-5AD09C565BA1

这很好用,


已经调试了 3 天了,有什么需要检查的。

我还发布了另一个问题 (Share Extension Not showing up on iPad existing project)。

更新

找出问题的根本原因。 我在我的项目中使用 ckeditor,其中包括 plugins 文件夹引用。这个“插件”文件夹与安装扩展所需的文件夹相同。 myap.app/plugins/

删除插件文件夹引用(蓝色),我的扩展程序出现了。

有没有办法重命名这个“插件”文件夹,或者有没有办法在单独的 plugins 文件夹中安装扩展?

【问题讨论】:

【参考方案1】:

对于任何寻找答案的人,

我只是将 ckeditor“插件和其他 ckeditor 文件夹/文件”转移到不同的文件夹引用“ckeditor”中,以便为插件安装 appex 文件让路。

为了让 ckeditor 仍然使用相对的文件夹引用,请给他们目录路径。

NSString *dataDir = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"ckeditor"]; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"ckeditor"]; NSData *htmlData = [NSData dataWithContentsOfFile:filePath]; NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding]; NSString *bundlePath = [NSString stringWithFormat:@"%@/",dataDir]; [_webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:bundlePath]];

【讨论】:

以上是关于共享扩展名 .appex 文件未与 .app 文件一起安装。只能安装包含的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

asp.net 中的模拟未与 com 对象共享

iOS开发 之 App Extension 整体总结

更新的链接文件未与网页连接

微软同步框架。 sdf 文件未与服务器同步

引用 DLL 文件未与部署项目一起复制到 bin,导致错误

如果库的实现未与 TS 项目集成,如何使用 d.ts 文件导出的 const 类型?