Ios Watchkit扩展的嵌套框架存在问题

Ios Watchkit扩展的嵌套框架存在问题,ios,xcode6,watchkit,apple-watch,ios-frameworks,Ios,Xcode6,Watchkit,Apple Watch,Ios Frameworks,我的Watchkit应用程序在生产环境中不工作(TestFlight&被AppStore拒绝) 我认为这个问题来自一个嵌套的框架。以下是架构: 我已经用应用程序的模型制作了一个框架“ModelLayer”(Cocoa Touch框架),因此它可以在所有目标中共享。此框架使用另一个第三方框架(UICKeyChainStore.framework)。 apple watch扩展使用“ModelLayer” 调试时,一切正常。但是当我在iTunes connect上上传存档文件时,我有一个错误,说嵌套

我的Watchkit应用程序在生产环境中不工作(TestFlight&被AppStore拒绝)

我认为这个问题来自一个嵌套的框架。以下是架构:

我已经用应用程序的模型制作了一个框架“ModelLayer”(Cocoa Touch框架),因此它可以在所有目标中共享。此框架使用另一个第三方框架(UICKeyChainStore.framework)。 apple watch扩展使用“ModelLayer”

调试时,一切正常。但是当我在iTunes connect上上传存档文件时,我有一个错误,说嵌套框架是不允许的。因此,我删除了“ModelLayer”目标的构建阶段中的复制文件阶段。由于该应用程序已被拒绝,因此无法正常运行

我在互联网上找到一些帖子,说复制文件阶段应该有“共享框架”而不是“框架”作为目标(我以前做过)。所以我尝试了这个,我已经在itunes connect上上传了我的应用程序的预发布版本,并用testflight尝试了这个应用程序。该应用程序现在在我的Apple Watch上,但无法加载该应用程序。装载机保持在屏幕上

我错过什么了吗?如何在“ModelLayer”框架中使用UICKeyChainStore.framework

提前谢谢

所以我找到了解决办法。 我的自定义框架中的第三方框架不是问题所在。但这是我在手表套件扩展中的自定义框架。因此,不可能在扩展中直接嵌入框架。框架应该由主应用程序嵌入。分机将能够使用它

将框架添加到主应用程序目标 内建阶段选项卡

在扩展目标中使用框架 一般选项卡

和“内部版本设置”选项卡->链接 将
@executable\u path/./../Frameworks
添加到运行路径搜索路径


@rmp我刚刚找到了解决方案,我的问题与钥匙链问题无关,因为我的应用程序在调试时正在工作。但是谢谢你的提示!我不知道钥匙链有一个可访问性参数,它解决了我在WatchKit应用程序中遇到的另一个bug。明天我会回复我的问题。太好了,很高兴这对你有所帮助,你的应用程序开始工作了!嘿,这对我没用?当遵循此步骤时,我在应用程序上发现框架未找到错误target@muku我在watchOs 1.0上遇到过这个问题,现在在watchOs 2.0上,扩展可能直接在Apple Watch上运行。因此,它可能无法从主应用程序(在iPhone上)获取框架。我还没有为我的项目从watchOs 1.0切换到2.0,所以我对此不确定。请你用其他方式解释最后一步好吗?将Add@executable_path/./../Frameworks链接到运行路径。在我的项目中,此信息已出现。我必须换吗?