小编Pte*_*tyl的帖子

Xcode将在模拟器上运行app,但不在设备上运行

尝试在我的设备上运行应用程序时收到以下错误.

error: failed to launch '/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor' -- No such file or directory (/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor)
Run Code Online (Sandbox Code Playgroud)

该应用程序在模拟器中运行良好.当我尝试在设备上进行调试时,它似乎会复制应用程序(我可以看到图标),但随后会停止上面的消息.Xcode表示它正在我的iPod上运行应用程序,但我的iPod上什么也没发生.

当我点击应用程序时,应用程序似乎启动,但似乎缺少资源.我的其他项目工作正常.我需要更改哪些设置才能使其正常工作.查看错误消息,它似乎在我的Mac中查找应用程序.但这是没有意义的,因为我试图在我的第四代iPod touch上运行它.我正在使用Xcode 4.3.1和iOS 5.1

debugging xcode ios xcode4

47
推荐指数
5
解决办法
6万
查看次数

如何运行/安装xcodebuild?

如果我尝试从命令行运行xcodebuild,我会收到以下消息:

错误:不能执行'/ Developer/usr/bin/xcodebuild'(没有这样的文件或目录)

但是,xcrun似乎有效.

这是否意味着没有安装xcodebuild?我在Xcode中安装了命令行工具4.3.1我需要做些什么才能让它工作吗?

xcode xcodebuild xcode4 xcode4.3

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

如何在Xcode 4.3.1中删除用户定义的构建设置

我在Xcode 4.3.1中创建了几个用户定义的构建设置.我不再需要这些设置并希望删除它们,但似乎没有办法删除它们!

我知道这些存储在xcodeproj文件中的项目设置(project.pbxproj)文件中.但我不想在文本编辑器中编辑这些,因为有各种各样的重复和指导,我不明白.

有关如何在Xcode中执行此操作的任何建议?(或者他们忘了添加"删除"按钮)

xcode build-settings

30
推荐指数
4
解决办法
1万
查看次数

在构建阶段"运行脚本"需要什么权限?

在我的项目的"运行脚本"构建阶段,如果我在构建阶段的"运行脚本"的文本框中输入脚本,一切都有效.

但是为了使编辑/差异等更容易,我想我会将脚本保存为文件作为项目的一部分,只需填写文本框中的路径:

例如:我在文本框中粘贴以下路径.

/Users/superman/Documents/Projects/SomeProject/scriptname.sh
Run Code Online (Sandbox Code Playgroud)

但是当我尝试构建它时,我得到一个"Permission Denied"消息.

我该怎么做才能解决这个问题?如果我剪切/粘贴实际代码,那么它只是"工作".我的用户帐户是管理员帐户.没有人使用我的机器.

xcode build permission-denied run-script

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

如何在构建阶段从运行脚本访问Xcode用户定义构建设置?

我在构建阶段运行脚本.

Xcode允许您定义用户定义的构建设置.我以为我会使用这些设置来存储我想传递给脚本的值或路径.

这可能吗?如何在构建阶段将用户定义的构建设置传递给脚本?你能指点我一些文档或教程吗?

我正在使用Xcode 4.3.1

build-automation xcode build-settings xcode4 run-script

9
推荐指数
1
解决办法
1942
查看次数

如何使用Xcode 4.3.1中的工作区链接到coco2d静态库(1.1 beta 2)

到目前为止我做了以下事情:

  1. 创建工作区
  2. 添加了我的项目
  3. 添加了Cocos2d iOS项目(通过拖放到项目导航器中).这是我项目的兄弟姐妹(不是孩子).
  4. 在我的项目中,在构建阶段,链接到libcocos2d.a
  5. 在我的项目的构建设置中 - 将"始终搜索路径"设置为"是"
  6. 创建指向包含cocos2d iOS xcodeproj文件的文件夹的源树变量.
  7. 在我的项目的用户标头路径中,从步骤6添加了源树变量.设置为递归.8.在项目导航器中,单击libcocos2d.a库(它显示为红色).设置位置"相对于构建产品"您可以在Xcode 4.3.1中最右侧的窗口中进行设置.
  8. 关闭工作区,并在TextWrangler中打开pbxproj文件.搜索包含libcocos2d.a的路径删除路径,因此该条目只读取"libcocos2d.a".这是因为在编译之后,库仍然在应用程序的相同构建目录中.

Codesense和自动完成工作.但这不会编译.当我尝试构建时会弹出大约70个链接器错误,所有这些都说:

体系结构armv7的未定义符号:"_ OBJC_CLASS _ $ _ CCDirector",引自:AppDelegate中的objc-class-ref.ViewController.o中的objc-class-ref"_kEAGLColorFormatRGB565",引用自: - AppDelegate.o中的[RIAppDelegate applicationDidFinishLaunching:] "_OBJC_CLASS _ $ _ CCTexture2D",引自:AppDelegate.o中的objc-class-ref"_OBJC_CLASS _ $ _ EAGLView",引自:AppDelegate.o中的objc-class-ref

如果我尝试为模拟器构建,那么它代替armv7,它表示i386缺少符号.cocos2d项目本身可以编译和构建.这是我的项目有上述错误.

我尝试构建后,cocos2d库存在于我的应用程序的构建目录中.

编辑:忘了提.我还编辑了我的项目的计划,以便不并行构建.我还添加了cocos2d目标,并使其成为列表的顶部(因此它应该首先构建).

编辑:澄清 - 如上所述,在对pbxproj文件进行更改后,libcocos2d.a文件不再是红色.看起来很正常.此外,我的应用程序也已构建,即使存在链接错误和构建失败.(它实际上并不构建,但产品不是"红色".应用程序文件创建在与生成cocos2d库的位置相同的位置.

static-libraries cocos2d-iphone static-linking ios xcode4

8
推荐指数
1
解决办法
4975
查看次数

如何直接获得 rand() 序列中的第 n 个数字而不必调用 rand() n 次?

根据我的理解,使用特定种子设置 srand 会导致对 rand() 的调用序列每次为该特定种子生成相同的数字序列:

例如:

             srand(seed1);
             rand() // firstnumber (e.g.: 42)
             rand() // second number (e.g: 17)
             srand(seed1)
             rand() // first number (same as above (42))
             rand() // second number (same as above (17))
Run Code Online (Sandbox Code Playgroud)

有没有办法直接获得序列中的第 n 个数字而不必调用 rand() n 次?

  • 例如,如果我想要系列中的第 17 个随机数,我想在一次调用中获取该数字,而不是调用 rand() 17 次。

  • 我无法预先计算和存储值

编辑:我在看这篇文章:

https://mathoverflow.net/questions/104915/pseudo-random-algorithm-allowing-o1-computation-of-nth-element

关于线性反馈移位寄存器的答案似乎是这样做的,但与其自己实现,我宁愿使用受信任的实现,因为这似乎是一个常见问题。

编辑:我想“跳”到第 n 项的原因是因为我在不同类别的不同种子中使用 rand,并且我一直在每个类别之间来回跳跃。我希望每个班级中的序列从停止的地方继续,而不是每次都从第一个数字开始。这是一个单线程应用程序。

编辑:在写这篇文章时,我使用了术语 PRNG。但实际上我只是在寻找一个似乎产生随机数的函数。我将它用于图形,因此没有安全问题。我使用随机数以像素为单位产生轻微的偏移。

  • 我只需要一个快速的功能。
  • 似乎产生随机数,但不一定是安全应用程序中使用的那种。
  • 必须能够在 O(1) 时间内计算出第 n 个数字。

编辑:犯了一个错误 - 存储状态是不够的。我需要在 O(1) 时间内连续计算第 n 个随机数。由于在同一个类中可能有多个调用相同的第 n 项,存储状态是不够的,我需要在 O(1) 中计算第 n 项

c c++ random objective-c srand

7
推荐指数
1
解决办法
1783
查看次数

import"cocos2d.h"适用于某些文件,但不是全部

这是我做的:

在Xcode 4.3.1中

文件 - >新建 - >项目 - >单视图应用程序

将文件cocos2d-ios.xcodeproj拖动到导航器中.

在构建阶段设置中:添加:libcocos2d.a(以红色突出显示),作为链接库(必需).

添加了OpenGles.framework,Quartzcore和libz.dylib

更改的构建设置 - 将"始终搜索用户路径"设置为YES将cocos2d源目录添加到"用户头搜索路径"

现在,似乎我可以在Xcode创建的app委托和根视图控制器中输入:import"cocos2d.h".但是,如果我创建一个新文件,并将"import"cocos2d.h""行添加到顶部,Xcode会抱怨找不到该文件.但似乎建立得很好.此外,在这个新的文件代码意义上不起作用.

我该怎么办?为什么我只能导入Xcode创建的文件?是否有一些我需要更改的设置,以便在我创建的文件中,我可以导入cocos2d?

编辑:它似乎建立并运行正常.我可以在cocos2d api中调用方法.代码意义似乎没有在我创建的新文件中看到cocos2d.h.

编辑 - 似乎代码意义建议cocos2d.h当我键入:import"但它不建议来自cocos2d api的类/方法.

import xcode objective-c file-not-found cocos2d-iphone

6
推荐指数
1
解决办法
7006
查看次数

如何使用 SwiftUI 检测当前设备?

我正在尝试确定正在使用的设备是 iPhone 还是 iPad。

请看这个问题:Detect current device with UI_USER_INTERFACE_IDIOM() in Swift

如果您使用 UIKit,该解决方案有效。但

如果您使用的是 SwiftUI,那么等效的方法是什么?

uikit ios swiftui

6
推荐指数
2
解决办法
3791
查看次数

具有作用域但无需转换为基础类型的枚举类

我有这个:

enum class Categories : uint32_t {
    C6 = 0x00000020,
    C7 = 0x00000040,
    C8 = 0x00000080,
    ...
};
Run Code Online (Sandbox Code Playgroud)

我选择了一个枚举类,因为它非常适合确定范围。但缺点是,当我需要使用类别作为按位运算的掩码位时,我需要首先将它们转换为 uint32_t。

例子:

uint32_t masterCat = ((uint32_t)MyClass::Categories::C6) | ((uint32_t)MyClass::Categories::C7);

有没有一种方法可以获得相同的范围优势,而不必在每次使用之前进行转换?如果我使用常规枚举,那么我就会失去范围优势:(

例子:

uint32_t masterCat = (MyClass::Categories::C6) | (MyClass::Categories::C7);

c++ c++11

6
推荐指数
1
解决办法
164
查看次数