将应用程序部署到设备时,程序将在几个周期后退出并出现以下错误:
Program received signal: "EXC_BAD_ACCESS".
Run Code Online (Sandbox Code Playgroud)
该程序在iPhone模拟器上运行没有任何问题,只要我逐步执行一个指令,它也将调试和运行.一旦我让它再次运行,我就会EXC_BAD_ACCESS发出信号.
在这种特殊情况下,它恰好是加速度计代码中的错误.它不会在模拟器中执行,这就是它没有抛出任何错误的原因.但是,它会在部署到设备后执行.
这个问题的大部分答案都是针对一般EXC_BAD_ACCESS错误的,所以我会把这个问题保留为可怕的Bad Access错误.
EXC_BAD_ACCESS通常由于非法内存访问而被抛出.您可以在下面的答案中找到更多信息.
你EXC_BAD_ACCESS以前遇到过这个信号吗,你是怎么处理它的?
是的标题说:-)他们用简单的英语语言是什么意思?我真的不明白Apple网站上的解释,我需要重命名我的目标,我担心之后没有任何作用..
我有一个现有的iOS应用程序,并希望添加一大块代码,我一直在开发另一个项目,以方便测试.新的块基本上处理将图像保存到各种共享服务等.因为共享代码需要大量的测试和未来的更新,我想知道将代码块合并到我现有的应用程序中的最佳方法是什么.
我不知道它应该是静态库,动态库还是框架,老实说,我不确定区别是什么,或者我应该如何去做它并在Xcode中设置它.
我所知道的是,我需要/想要为共享代码保留单独的测试和更新应用程序,并让主应用程序使用它.
如果你还不能说,我不是一个git wiz.我只是一个简单的单人开发人员.
任何帮助或方向将不胜感激.谢谢!
我一直在寻找,但无法找到关于如何将一个XCode项目及其所有子类包含到另一个项目中的清晰简单的解释.我经常在我从网上下载的示例项目中看到类似的东西,但我不知道如何自己这样做.
在XCode中,以及.h和.m文件和文件夹,有一个全新的项目,从蓝色xcode项目图标开始,可以展开以包含项目中的所有内容.
请有人可以一步一步地向我解释我需要做什么才能将一个XCode项目添加到另一个项目中?我看过很多像"标题搜索路径"这样的内容,但这并不能说明我的意思.
更新:重新阅读文档后,我意识到必须将要包含的项目拖到父项目的BLUE项目图标上.可以在任何地方拖动常规源,但必须将项目拖到项目上.
谢谢!
我的项目总是在使用 Xcode 11 的所有设备上正确运行,但在我安装 Xcode 12 beta 4 后,它无法在模拟器上构建。
我比较了 Xcode 11 和 Xcode 12 的构建日志,在 Xcode 12 中,我的主要目标似乎是在可可豆荚目标之前构建的,因此链接将失败,因为找不到 cocoapods 库。
如何修复构建目标的顺序?
在 Xcode 11 中,一切都很好。我自己的目标是在 cocoapods 目标之后构建的。
在 Xcode 12 中,构建乱序我自己的目标在 cocoapods 目标之前构建。
我已经构建了一个Swift框架,现在我正在尝试构建一个将使用该框架的Swift iOS应用程序.我收到这个错误:
dyld: Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib
Referenced from: /Users/tdean/Library/Developer/Xcode/DerivedData/NFLApplication-ejmafvjrlqgjaabggwvadjarjjlg/Build/Products/Debug-iphonesimulator/NFLStatsModel.framework/NFLStatsModel
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我搜索了SO并找到了类似的报告并尝试了其中列出的修复程序,包括:
Always Embed Swift Standard Libraries = YES在我的框架和我的应用程序的构建设置中设置Enable Bitcode=NO在我的框架和我的应用程序的构建设置中设置Runpath Search Paths被设置为@executable_path/Frameworks,无论是在我的框架和我的应用程序的构建设置在每种情况下,当我尝试运行我的应用程序时,我都会遇到相同的错误.
Xcode有时会自动找到依赖项.当我是那个定义关系的人,当我变得懒惰时,我认为是可以的......
但更多的时候我发现自己面临着一个存在(中等到大尺寸)项目的目标.由于该项目是由其他人制作的,我发现很难理解哪些目标取决于什么,因为并非所有关系都是明确的.
Xcode用于查找此类关系的规则是什么?(我希望我能理解逻辑,所以在我的脑海中运行它并且可能在将来节省一些时间)或者是什么使目标有资格隐含地依赖于另一个?
目标及其创建的产品可能与另一个目标相关.如果目标需要另一个目标的输出以便构建,则说第一个目标依赖于第二个目标.如果两个目标都位于同一工作空间中,Xcode可以发现依赖关系,在这种情况下,它会按所需顺序构建产品.这种关系被称为隐式依赖.
我是swift和xcode世界的新手,所以我在尝试将软件包集成到我的项目时遇到了问题.
我想使用以下命令添加Alamofire依赖项:
在我的根项目文件夹中:
swift init
Run Code Online (Sandbox Code Playgroud)
这会创建Package.swift文件,我在里面添加依赖项,然后运行:
swift build
Run Code Online (Sandbox Code Playgroud)
一切似乎都没问题,但是当我尝试导入我的库时,我的项目是:
import Alamofire
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,它说该模块无法识别.所以我的问题是,在不崩溃所有内容的情况下,将Package Manager与对现有项目的依赖关系进行集成的正确步骤是什么.
更新:
swift build
Run Code Online (Sandbox Code Playgroud)
输出:
Resolved version: 4.3.0
Compile Swift Module 'Alamofire' (17 sources)
Compile Swift Module 'Sample' (1 sources)
Run Code Online (Sandbox Code Playgroud)
我的Package.swift是:
import PackageDescription
let package = Package(
name: "Sample",
dependencies: [
.Package(url: "https://github.com/Alamofire/Alamofire.git", majorVersion: 4)
]
)
Run Code Online (Sandbox Code Playgroud) 我创建了一个框架,其中包含对测试有用的代码(例如,一堆便利的初始值设定项)。现在我想在测试目标中导入该框架,但在 Xcode 中似乎没有办法做到这一点。import Dependency在构建时,只是导入它会给我“找不到模块”错误。
测试目标的常规选项卡没有任何设置(或任何设置):
Build Phase 选项卡有一个 Dependencies 部分,但是当我按下 + 按钮时,我想添加的框架没有显示在列表中:
还有一个 Link Binary with Libraries 部分,但是当我尝试选择框架时,Xcode 说该文件已被链接(在哪里?):
如果将框架添加到主要目标的框架、库和嵌入式内容部分,我可以导入和使用该框架,但我不想这样做,因为该框架仅用于测试代码。我没有看到用所有额外的初始值设定项污染命名空间的原因。我可能会尝试检查XCTest在运行时和崩溃时是否没有可用的类,但这似乎是一种解决方法而不是解决方案。
有什么建议吗?
PS 我使用的是最新版本的 Xcode (11.3.1)。
我现在正在接受一个正在度假的同事的一些项目.
其他项目已经很好了,但在这个特别的项目中,我在项目中找到了一个项目,就像我猜想的那样使用框架.
那么这项技术的名称是什么?

如何插入并与之交互?刚进口?
xcode ×9
ios ×8
frameworks ×2
swift ×2
cocoa-touch ×1
cocoapods ×1
ios14 ×1
iphone ×1
macos ×1
xcode12 ×1
xcode4.2 ×1
xcodebuild ×1