gpt4 book ai didi

iOS 8 扩展依赖问题。将一个项目文件导入扩展 View Controller

转载 作者:可可西里 更新时间:2023-11-01 03:43:17 25 4
gpt4 key购买 nike

我正在开发 iOS 8 扩展。我读了很多手册,它们都只是展示了如何简单地向您的应用程序添加扩展,似乎就足够了。

但是这里有很多陷阱:

  1. 添加扩展后,您需要导入一些类以查看在添加新扩展目标时创建的 Controller 。这里的大用途是您需要添加所有这些,如果您有庞大的项目,这不是一项简单的任务。解决方案可以是选择扩展目标,然后在 Build Phases -> Compile Sources 按加号按钮并使用热键 CMD+A 将所有 .m 文件添加到您的目标。

  2. 添加所有文件后,您可以看到某些方法不起作用,您可以看到此错误:'sharedApplication' is unavailable: not available on iOS (App Extension)所以解决方案可以是检查 ifndef Extension 的宏然后我们可以调用sharedApplication代码。

  3. #import <Foundation/Foundation.h>对比#import <UIKit/UIKit.h> .所以我还没有弄清楚这个问题,但是当我更换 Foundation 时与 UIKit它对我有用,所有相关问题都消失了。

  4. CocoaPods。我们所有人都在使用 CocoaPods,因此如果您的扩展需要使用项目代码的某些部分并且该代码使用 CocoaPods 库,那么您需要添加 link_with 'ProjectTarged', 'ExtensionTarget'到 Pod 文件并生成 pod install再次将您的库与新的扩展目标绑定(bind)。

所以这是我面临的一个要点。也许有人可以建议如何解决这个问题,正如我所说,我只是将一个需要的文件导入到扩展 View Controller 。导入的文件包含一些库,如 AFNetworking , RestKit和主项目中的其他嵌套类。我需要这个类来调用一些方法,将数据从扩展传递到我的后端服务器。一个文件,很多问题。

最佳答案

您可以在 Podfile 中使用它来防止“仅需要 App-Extension-Safe API”。只需将它放在 Podfile 的末尾即可。

post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
end
end
end

关于iOS 8 扩展依赖问题。将一个项目文件导入扩展 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29551648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com