相关疑难解决方法(0)

带有框架的iOS应用程序在设备上崩溃,dyld:未加载库,Xcode 6 Beta

这次崩溃是一个阻塞问题,基本上我使用以下步骤来重现问题:

  • 创建一个Cocoa Touch Framework项目
  • 添加一个swift文件和一个类Dog
  • 构建设备框架
  • 在Swift中创建单视图应用程序
  • 将框架导入到app项目中
  • 从ViewController中的框架实例化swift类
  • 在设备上构建并运行应用程序

应用程序在启动时立即崩溃,这是控制台日志:

dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
  Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我试图在iOS 7.1和8.0设备上构建,它们都有相同的崩溃.但是我可以构建应用程序并在模拟器上运行良好.另外我知道我可以在Link Binary With Libraries中将框架从Required更改为Optional,但它没有完全解决问题,当我创建Dog实例时应用程序崩溃了.在设备和模拟器上的行为是不同的,我怀疑我们不能使用测试版的Xcode分发设备框架.任何人都可以阐明这一点吗?

crash dyld ios swift xcode6

551
推荐指数
19
解决办法
24万
查看次数

什么时候我们应该在Xcode中使用"嵌入式二进制文件"而不是"链接框架"?

关于这两个选项之间的区别是一个很好的问题,如Link Binary与库VS Embed Frameworks中描述的那样.

似乎我们可以选择使用它们,只是想知道哪种情况我们应该更好地使用嵌入式二进制文件,或者不是链接框架?

解决这个问题的任何可靠实例都更清晰 谢谢

xcode frameworks ios embedded-binary

128
推荐指数
3
解决办法
3万
查看次数

iOS Static vs Dynamic框架说明

我不得不承认,随着iOS 8的发布,我对iOS中的动态和静态框架感到有些困惑.

我正在寻找一种方法来分发我创建的库,我需要支持iOS 7及更高版本.(注意:这将是一个专有框架.我不能使用可可豆荚,我也不能分发来源).这是我已经知道的:

  • iOS 8为iOS引入了"嵌入式框架",但据我了解,它们不适用于iOS 7,仅适用于iOS 8及更高版本.
  • 我可以选择将我的库分发为静态库(.a文件)并分发标头.我知道这是处理这种情况的常用方法,但我想找到一些比这更简单的东西(如果可能的话,还要用它捆绑一些资源).
  • 我还发现iOS 7不支持动态.framework库(仅静态),因为它不支持动态链接.但是iOS 8和静态链接一样.

以下是关于此信息的问题:

  • 我看到我可以创建一个.framework目标,并通过将Mach-O类型更改为"静态库"使其成为静态.这是否足以支持iOS 7而没有任何问题,并且还可以将我的库分发为.framework bundle?如果是这样的话,为什么iOS 8中的"嵌入式框架"是一个很大的交易,因为互联网上的许多资源都在暗示?我错过了什么?
  • 是否有必要对.framework进行编码,就像我对其他任何应用程序一样?
  • 如果我需要在我的.framework文件中包含其他资源(如核心数据或图像),该怎么办?我需要为此制作一个单独的.bundle文件吗?

frameworks static-libraries static-linking ios ios-frameworks

107
推荐指数
5
解决办法
3万
查看次数

什么继承!:search_paths呢?

看了CocoaPods自己的例子(来自https://guides.cocoapods.org/syntax/podfile.html#abstract_target)

# Note: There are no targets called "Shows" in any of this workspace's Xcode projects
abstract_target 'Shows' do
  pod 'ShowsKit'

  # The target ShowsiOS has its own copy of ShowsKit (inherited) + ShowWebAuth (added here)
  target 'ShowsiOS' do
    pod 'ShowWebAuth'
  end

  # The target ShowsTV has its own copy of ShowsKit (inherited) + ShowTVAuth (added here)
  target 'ShowsTV' do
    pod 'ShowTVAuth'
  end

  # Our tests target has its own copy of
  # our testing frameworks, and has …
Run Code Online (Sandbox Code Playgroud)

xcode ios cocoapods

39
推荐指数
2
解决办法
1万
查看次数

什么是目标依赖?

我觉得诺布问这个问题,但是什么是目标依赖?我在Xcode中一直看到它.

xcode

12
推荐指数
2
解决办法
5839
查看次数