iMessage 扩展:从不同的目标获取 bundle nil
iMessage Extension : Getting bundle nil from different target
我有一个现有的应用程序,想创建一个 iMessage 扩展程序。
所以我在我的项目中添加了目标 iMessage 扩展。现在我想通过容器视图在该扩展中显示我现有的视图。我添加了代码:
let mainBundle = Bundle(identifier:"com.marvel.nearby")
print("MAIN_BUNDLE : \(mainBundle)") // getting nil
let storyboard = UIStoryboard(name: "Main", bundle: mainBundle)
let viewController = storyboard.instantiateViewController(withIdentifier: "MResourcesVC")
self.showViewControllerInContainerView(viewController)
在 Swift iMessage 扩展 class 中:MessagesViewController.swift
但没有得到。我该怎么办?
如果这种方式错误,在 iMessage 扩展中显示 viewcontroller 的正确方式是什么。
您必须将 storyboard.storyboard
文件添加到您的目标:
要获得正确的捆绑包,请使用:
Bundle(for: type(of: self))
我有一个现有的应用程序,想创建一个 iMessage 扩展程序。
所以我在我的项目中添加了目标 iMessage 扩展。现在我想通过容器视图在该扩展中显示我现有的视图。我添加了代码:
let mainBundle = Bundle(identifier:"com.marvel.nearby")
print("MAIN_BUNDLE : \(mainBundle)") // getting nil
let storyboard = UIStoryboard(name: "Main", bundle: mainBundle)
let viewController = storyboard.instantiateViewController(withIdentifier: "MResourcesVC")
self.showViewControllerInContainerView(viewController)
在 Swift iMessage 扩展 class 中:MessagesViewController.swift
但没有得到。我该怎么办?
如果这种方式错误,在 iMessage 扩展中显示 viewcontroller 的正确方式是什么。
您必须将 storyboard.storyboard
文件添加到您的目标:
要获得正确的捆绑包,请使用:
Bundle(for: type(of: self))