Apple 的 iMessage 模板或向现有应用程序添加扩展有什么区别?

Spa*_*Dog 5 iphone imessage ios-app-extension ios10

我注意到有关为 iOS 10 创建消息应用程序的不同之处。

如果您使用iMessage Application新项目模板上的选择创建一个新项目,Xcode 将创建两个目标,一个应用程序和一个扩展。

在此处输入图片说明

但该项目无法运行。

在此处输入图片说明

(通过第二张图片,底部的目标选择器上只有一个选择,该目标是扩展名)。

当你创建一个普通的应用程序,比如一个单一视图的应用程序,然后添加一个 iMessage 类型的应用程序扩展的目标时,你将在那里有两个目标,应用程序和扩展程序。

我的问题是:

Xcode iMessage 的模板实际上只是创建了一个扩展,对吗?不是应用程序加上扩展程序,对吗?

如果这是真的,那么为什么 Xcode 会创建应用程序目标呢?如果应用程序目标.app实际上不是应用程序并且永远不会运行,那么让应用程序目标编译并显示在带有扩展名的产品部分的目的是什么?

或者实际上扩展就像运行应用程序上的代码的“遥控器”?这是令人困惑的,因为我错误地将很多内容拖到项目中并标记了两个目标以使其大小增加一倍,因为资产被复制到两个目标。

最后一个问题是:什么将提交给 Apple,只是扩展程序还是两者都有?

Rom*_*One 1

我的猜测是让整个事情保持一致。我的意思是,当你做其他扩展(键盘、小部件等)时,它必须附带一个应用程序。这里的情况有点复杂,我们可以做一个自己运行的 iMessage 应用程序,或者作为现有应用程序的扩展......所以当他们开发 SDK 时,他们必须保留两种方式,但这只是一个猜测:) 另外,我非常确定,当将 iMessage 应用程序提交到商店时,主要目标将随之而来,就像所有其他实际扩展的情况一样。