相关疑难解决方法(0)

如何从Swift调用Objective-C代码

在Apple的新Swift语言中,如何调用Objective-C代码?

Apple提到它们可以在一个应用程序中共存,但这是否意味着可以在技术上重用Objective-C中的旧类,同时在Swift中构建新类?

推理

Objective-C是一种独立于平台的语言,而Swift则依赖于平台.因此,在Swift中编写非平台相关代码(业务逻辑库)并不明智.但是,在其中编写与平台相关的代码(例如,与接口相关)将非常好.不是说这是一个好主意,但它肯定是一种兴趣.

objective-c swift

936
推荐指数
13
解决办法
27万
查看次数

带有框架的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 8中的派生数据?

项目页面似乎从Xcode 8中消失了.我使用此页面删除了派生数据.

知道如何从Xcode 8中删除派生数据?

xcode xcode8

258
推荐指数
12
解决办法
19万
查看次数

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

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

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

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

xcode frameworks ios embedded-binary

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

在Xcode中添加构建配置

我想在Xcode 5中添加一个新的构建配置,"QA",到我们目前拥有的其他三个(Debug,Distribution,Release).但是,当我单击"编辑器>添加配置"时,一切都显示为灰色.我不是很熟悉Xcode,所以我不知道如何去做.

它有灰色的原因吗?这个过程是否添加了构建配置?谢谢.

configuration build xcode5

126
推荐指数
2
解决办法
4万
查看次数

如何将Cocoapods与Swift项目集成?

当Apple介绍他们的新编程语言Swift时,我想知道如何将它与可通过CocoaPods提供的现有Objective-C库集成

xcode objective-c ios cocoapods swift

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

更新到Xcode 8后的错误:"没有这样的模块"和"目标覆盖`EMBEDDED_CONTENT_CONTAINS_SWIFT`build设置"

No such module当我尝试构建项目时,我正在寻找Pods.如果我删除期望这个Pod的代码,另一个'没有这样的模块'会出现另一个Pod,这意味着每个Pod都必须受到影响.当我输入时,pod install我收到以下消息:

[!] The X target overrides the `EMBEDDED_CONTENT_CONTAINS_SWIFT` build setting defined in `X’. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `X` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `X'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
Run Code Online (Sandbox Code Playgroud)

我为我的应用程序的调试和发布版本以及两个测试获得了这些,所以总共有12条消息.

我已经设置Always …

xcode ios cocoapods swift xcode8

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

当我使用CocoaPods时,"没有这样的模块"

所以这是我的程序.我Podfile在项目目录中创建了一个新的,然后我添加了以下内容

platform :ios, '9.0'
use_frameworks!

target 'CPod' do
pod 'AFNetworking', '~> 2.5'
pod 'ORStackView', '~> 2.0'
pod 'SwiftyJSON', '~> 2.1'
end 
Run Code Online (Sandbox Code Playgroud)

我开火了pod install,一切顺利,打开了xcworkspace.然后我去看看ViewController.swift,如果我尝试导入一个我得到的吊舱No such module 'SwiftyJSON',如果我这样做的话import SwiftyJSON.有任何想法吗?

编辑:SwiftyJSON是一个基于Swift的模块,而不是Obj-C

xcode ios cocoapods swift

64
推荐指数
10
解决办法
5万
查看次数

Swift框架不能用于"Debug"或"Release"以外的构建配置:没有这样的模块

每当我尝试使用名为"Debug"或"Release"之外的构建配置时,Xcode突然找不到我的Swift框架.配置与其名称完全相同(事实上,新配置是从工作的'Debug'配置中复制的).

构建配置截图

Xcode报告'没有这样的模块'

Xcode错误

这似乎是一个非常奇怪的错误.当然有人曾经遇到过这个问题吗?我的Google搜索没有结果.有谁知道可能导致这个问题的原因是什么?我很确定我正确地添加了框架.

我创建了一个简短的截屏视频,向您展示我正在做的事情:http://www.screencast.com/t/zpgZ5ZYgvH

底线:

  1. 确保项目当前使用第三方Swift框架构建
  2. 在项目/文件导航器中选择项目
  3. 在编辑器左侧栏中选择目标上方的项目,并确保您在"信息"选项卡上
  4. 通过单击配置列表下方的+按钮并选择"复制XXX配置",复制当前配置(可能是"调试")
  5. 通过转到产品(菜单)> Scheme> Edit Scheme修改您的方案以使用新配置...
  6. 选择左侧栏中的"运行"
  7. 在Build Configuration下选择新配置
  8. 尝试再次构建

您还可以下载示例项目:http://s000.tinyupload.com/?file_id = 48877763216274271820

我正在运行Xcode 6.0.1(6A317)和Yosemite 10.10(14A361c).

frameworks build ios swift xcode6

54
推荐指数
3
解决办法
4026
查看次数

target会覆盖FRAMEWORK_SEARCH_PATHS构建设置

我想问一下然后回答这个问题.

我想更新我的应用程序内置的CocoaPods,所以我pod install从终端运行.

那是我收到这个错误的时候:

[!] The `APP_NAME [Debug]` target overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
Run Code Online (Sandbox Code Playgroud)

你如何使用$(继承)标志?

objective-c cocoapods

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