在包含Safari应用扩展程序(appex)

时间:2016-12-07 05:23:50

标签: swift macos safari cocoapods

我正在调查Apple Safari扩展技术,其中扩展程序与以下版本的包含应用程序捆绑在一起:

OSX 10.12.1
Safari Version 10.0.1 (12602.2.14.0.7)
Xcode 8.1
cocoapods 1.1.1

我正在执行一系列步骤,将cocoapods引入我的项目中。执行此操作会导致appex无法加载。它在Safari Extension窗格中显示非常短暂,然后消失。这很容易重新创建:

1)打开Xcode,创建一个名为TEST的新项目

2)将Safari扩展目标添加到名为TEST-EXT

的项目中

此时,您将获得包含应用程序的模板和Safari中的工具栏按钮(在Safari Develop菜单下选中“允许未签名的扩展”)。这可以按预期工作。

3)将podfile添加到项目根目录:

source 'https://github.com/CocoaPods/Specs.git'
platform :osx, "10.12"
use_frameworks!
target "TEST" do
    pod 'Starscream', :git =>       'https://github.com/daltoniam/Starscream.git', :tag => '2.0.2'
end

4)在项目根目录中运行“pod install”

5)关闭项目

6)打开pod install

生成的工作区文件

7)构建并运行

包含应用程序按预期启动,但是,TEST-EXT现在非常短暂地出现在Safari Extensions窗格中,然后消失。 我在控制台日志中看到了这可能与之相关:

12:21:17.440851 +1000 Safari discovered extensions
12:21:17.533439 +1000 Safari calling plugIn beginUsing:
12:21:17.533687 +1000 Safari PlugInKit error in beginUsing:
12:21:17.533728 +1000 Safari killing invalid plugIn
12:53:59.417969 +1000 Safari completed calling plugIn beginUsing: for pid: 0
12:53:59.418374 +1000 Safari MacOS error: -67062
12:53:59.583475 +1000 Safari Disabling and blocking extension with identifier: <private>

似乎引入cocoapods会使扩展无效,无论扩展是否包含任何依赖项。我已经尝试过这个帖子中的所有内容都无济于事: Validation Error: Invalid Bundle. The bundle at ... contains disallowed file 'Frameworks'

有没有人对调试这个或找到根本原因有任何想法?

0 个答案:

没有答案