在自定义框架中访问应用程序的捆绑标识符
Access Bundle Identifier of App in Custom Framework
我正在设计一个 sdk,我会在某个时间点进行一些 url 调用。为此,我想要正在通话的应用程序的上下文。作为上下文,我想使用该 sdk 传递应用程序的包标识符。
SDK 是一些第三方应用程序将导入和使用的库形式。我有 UIViewController
的引用,它在第三方应用程序中调用 url 调用。我不知道只有 UIViewController 引用是否足够。
那么我怎样才能访问他们应用程序的包标识符?
谢谢
很简单。
每种类型(class 或结构)都知道它与哪个包关联。
第1步#获取框架内任何对象的类型。
第2步#获取该类型的包。并访问它的 id。
// VC is ref to the class object of the main app
// # 1 -> This will give the class type of the object
let objectType = type(of: vc)
// # 2 -> This will get you the bundle of the main app
let bundle = Bundle(for: objectType.self)
// This will finally give you the bundle id
let bundleId = bundle.bundleIdentifier
我正在设计一个 sdk,我会在某个时间点进行一些 url 调用。为此,我想要正在通话的应用程序的上下文。作为上下文,我想使用该 sdk 传递应用程序的包标识符。
SDK 是一些第三方应用程序将导入和使用的库形式。我有 UIViewController
的引用,它在第三方应用程序中调用 url 调用。我不知道只有 UIViewController 引用是否足够。
那么我怎样才能访问他们应用程序的包标识符?
谢谢
很简单。
每种类型(class 或结构)都知道它与哪个包关联。
第1步#获取框架内任何对象的类型。
第2步#获取该类型的包。并访问它的 id。
// VC is ref to the class object of the main app
// # 1 -> This will give the class type of the object
let objectType = type(of: vc)
// # 2 -> This will get you the bundle of the main app
let bundle = Bundle(for: objectType.self)
// This will finally give you the bundle id
let bundleId = bundle.bundleIdentifier