相关疑难解决方法(0)

如何从Swift调用Objective-C代码

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

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

推理

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

objective-c swift

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

@import vs #import - iOS 7

我正在玩一些新的iOS 7功能,并使用WWDC视频"在iOS上实现引导UI"中讨论的一些图像效果.为了在会话的源代码中产生模糊效果,UIImage通过导入UIKit的类别扩展,如下所示:

@import UIKit;
Run Code Online (Sandbox Code Playgroud)

我想我在另一个会话视频中看到了一些相关内容,但我找不到它.我正在寻找有关何时使用此信息的任何背景信息.它只能用于Apple框架吗?使用此编译器指令的好处是否应该返回并更新旧代码?

import objective-c ios ios7

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

Xcode的构建文件夹在哪里?

在Xcode 4之前,构建曾经在我的项目的根文件夹中创建.我再也找不到了.

我在哪里可以找到构建文件夹?

xcode build

151
推荐指数
6
解决办法
16万
查看次数

错误"找不到库"

我在我的应用程序中添加了一个adob后出现错误.昨天该应用程序工作正常,但今天它不再工作..错误如下:

ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

怎么解决?谢谢 !!

xcode admob ios

138
推荐指数
10
解决办法
29万
查看次数

图书馆?静态的?动态?还是框架?项目在另一个项目内

我有一个现有的iOS应用程序,并希望添加一大块代码,我一直在开发另一个项目,以方便测试.新的块基本上处理将图像保存到各种共享服务等.因为共享代码需要大量的测试和未来的更新,我想知道将代码块合并到我现有的应用程序中的最佳方法是什么.

我不知道它应该是静态库,动态库还是框架,老实说,我不确定区别是什么,或者我应该如何去做它并在Xcode中设置它.

我所知道的是,我需要/想要为共享代码保留单独的测试和更新应用程序,并让主应用程序使用它.

如果你还不能说,我不是一个git wiz.我只是一个简单的单人开发人员.

任何帮助或方向将不胜感激.谢谢!

xcode frameworks static-libraries ios

132
推荐指数
2
解决办法
5万
查看次数

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

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

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

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

xcode frameworks ios embedded-binary

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

Xcode 4无法从静态库依赖项中找到公共头文件

替代标题以帮助搜索

  • Xcode找不到标题
  • 在Xcode中缺少.h
  • 找不到Xcode .h文件
  • 未找到词法或预处理器问题文件

我正在开发一个来自Xcode 3的iOS应用程序项目.我现在已经转移到Xcode 4,我的项目构建了许多静态库.

这些静态库还声明了公共头文件,这些头文件由应用程序代码使用.在Xcode 3.x中,标题被复制(作为构建阶段)public headers directory,然后在应用程序项目中public headers directory被添加到headers search list.

在Xcode 4下,构建目录被移动到~/Library/Developer/Xcode/DerivedData/my-project.

问题是我如何在标题搜索设置中引用这个新位置?看起来:

  • public headers directory是相对于DerivedData目录,但是
  • headers search 目录是相对于其他东西(可能是项目位置)

我应该如何在Xcode 4中为iOS开发设置静态库目标,以确保在尝试编译为依赖项时,使用静态库的客户端可以使用头文件?

preprocessor header static-libraries xcode4

91
推荐指数
4
解决办法
7万
查看次数

Xcode:复制标题:公共与私有与项目?

我正在构建一个Cocoa Touch静态库.我应该如何决定是否将头文件复制为公共,私有或项目?

xcode header static-libraries

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

什么是伞头?

什么是伞头?有什么用?我收到了一个警告,如下所示.这是什么意思?

<module-includes>:1:1: warning: umbrella header for module 'XCTest' does not include header 'XCTextCase+AsynchronousTesting.h' [-Wincomplete-umbrella]
#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCTest.h"
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

Xcode自定义构建配置导致静态库"找不到库/文件"

我有一个工作区,其中包含一个项目,该项目链接到另一个项目中的静态库(也在工作区中).这是Kobold2D中的一个问题我无法解决,即使我理解原因,我想它与这个问题类似.

项目目标和静态库目标都具有DebugRelease构建配置.一切都很好.

现在,有人在项目中添加了新的构建配置,并将其命名为Ad-Hoc.现在,项目的目标构建了Ad-Hoc配置,但是静态库没有这样的配置.显然,他们默认构建Release配置.

最后,当链接器应该将所有内容组合在一起时,它会失败:

ld: library not found for -lbox2d-ios
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

对于通过-force_load $(BUILT_PRODUCTS_DIR)/libSomeLib.a错误强行加载的库类似但是说"找不到文件".我应该注意,库"libbox2d-ios.a"位于"带库的链接二进制"构建阶段列表中.

显然问题是链接器假设这些库位于BUILT_PRODUCTS_DIR中的Ad-Hoc-iphoneos文件夹中,而它们实际上位于Release-iphoneos文件夹中,因为它们没有Ad-Hoc构建配置.

我怎么能把连接器打到脸上并告诉他把它们放在哪里呢?最好是我正在寻找适用于这两种情况的解决方案,即库添加标准方式(链接二进制文件库构建阶段)和需要额外-force_load才能工作的库.

我希望有一些方法可以:

  • 强制库放在应用程序目标的构建配置文件夹中
  • 运行一个后编译和预链接脚本,将每个库复制到构建配置文件夹
  • 指定库的相对路径
  • 使用$ BUILT_PRODUCTS_DIR以外的其他宏来执行-force_load
  • 像-WTFmake-all-problems-go-away这样的链接器标志

对不起,但我不得不这样说...... ARGH!:)

linker build static-libraries xcode4

43
推荐指数
5
解决办法
1万
查看次数