共享扩展名 .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 文件一起安装。只能安装包含的应用程序的主要内容,如果未能解决你的问题,请参考以下文章