小编P i*_*P i的帖子

Xcode/iOS:如何确定代码是否在DEBUG/RELEASE构建中运行?

我正在制作处理敏感信用卡数据的应用程序.

如果我的代码在调试模式下运行,我想将此数据记录到控制台并进行一些文件转储.

但是在最终的appstore版本上(即它在发布模式下运行时)必须禁用所有这些(安全隐患)!

我会尽力回答我的问题; 所以问题就变成了"这个解决方案路径是正确的还是最好的方式?"

// add `IS_DEBUG=1` to your debug build preprocessor settings  

#if( IS_DEBUG )  
#define MYLog(args...) NSLog(args)  
#else  
#define MYLog(args...)  
#endif  
Run Code Online (Sandbox Code Playgroud)

debugging xcode preprocessor release ios

227
推荐指数
10
解决办法
14万
查看次数

如何在Git中恢复丢失的提交?

首先,通过3次提交得到"你的分支在原点/主人之前",然后我的应用程序恢复到早期更改的早期时间.

我怎样才能得到过去11个小时里所做的事情?

git

218
推荐指数
7
解决办法
10万
查看次数

如何确定我是否安装了Xcode命令行工具?

我需要使用gdb.

ps-MacBook-Air:AcoustoExport pi$ gdb
-bash: gdb: command not found

ps-MacBook-Air:AcoustoExport pi$ sudo find / -iname "*gdb*"
Password:
/usr/local/share/gdb
/usr/local/Cellar/isl/0.12.1/share/gdb
:
Run Code Online (Sandbox Code Playgroud)

和:

ps-MacBook-Air:AcoustoExport pi$ ls -la /usr/local/share/gdb
lrwxr-xr-x   1 pi    admin   30 14 Jan 22:01 gdb -> ../Cellar/isl/0.12.1/share/gdb
Run Code Online (Sandbox Code Playgroud)

不太清楚要做什么,显然它是由自制软件安装的东西.我不知道为什么会这样,我不知道我是否可以使用它.它不在搜索路径中.

所以我认为我需要Xcode命令行工具.

Xcode目前无法从软件更新服务器获得

^我当前的问题确切.对这个问题的评论说:"如果你已经有这个错误就可以得到这个错误"

但是我如何检查是否已经拥有它们?

installation xcode command-line

84
推荐指数
8
解决办法
15万
查看次数

如何在C/C++/Obj-C中编写处理负数的模数(%)运算符

我厌恶的C语言(作为一名数学家)就是这样的

(-1) % 8 // comes out as -1, and not 7

fmodf(-1,8) // fails similarly
Run Code Online (Sandbox Code Playgroud)

什么是最好的解决方案?

C++允许模板和运算符重载的可能性,但这些对我来说都是模糊的.感激地收到了例子.

c c++ operator-overloading modulo c++11

81
推荐指数
5
解决办法
23万
查看次数

如何在Swift中将数组的所有成员初始化为相同的值?

我在Swift中有一个大数组.我想将所有成员初始化为相同的值(即它可以是零或其他值).什么是最好的方法?

arrays initialization swift

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

在设备上记录数据并检索日志

在Xcode中的调试版本中,无论我是使用模拟器还是实际设备,NSLog,printf,fprintf assert和NSAssert语句都出现在控制台上

如果我现在在设备上运行发布版本(比如说我发送了一个测试版本并在我的iPhone上加了大量的内容;这将是一个发布版本),其中哪些(如果有的话)被记录下来了?

我该如何检索日志?

NSLog实际上是否在发布版本上输出了什么?决定因素是什么?无论是写入stdout还是stderr?只有stderr写入设备日志?这是否意味着我必须使用fprintf?是否已将任何内容写入设备日志?甚至有这样的事情吗?如果是这样,如何捡起来?

有人可以澄清这种情况吗?

console xcode logging device ios

74
推荐指数
5
解决办法
8万
查看次数

浏览器中的Python:如何在Brython,PyPy.js,Skulpt和Transcrypt之间进行选择?

我很高兴看到现在可以在浏览器中编写Python代码.这些是主要候选人(请添加我可能忽略的任何一个):

但如何在它们之间做出选择?我能看到的唯一明显区别是Skulpt基于Python 2,而Brython基于Python 3.

请注意:这不是建议或意见的要求.我正在寻找能够为受过教育的选择提供信息的客观事实.

python browser brython skulpt transcrypt

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

嵌入Python3没有标准库

编辑:我在这里问了一个相反的问题:如何使用标准库嵌入Python3

这里提供了Python2的解决方案:是否可以在没有标准库的情况下嵌入python?

但是,Python3失败Py_Initialize();了:

Fatal Python error: Py_Initialize: unable to load the file system  
codec ImportError: No module named 'encodings'
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为py3源文件默认为utf-8.所以它似乎只需要一个外部二进制文件来解析py3源文件.

那么该怎么办?

看起来我需要encodings在我的系统Python安装中找到二进制文件,将其复制到我的项目树中,并且可能设置一些环境变量PYTHONPATH(?)以便我的libpython.dylib可以找到它.

有可能避免这种情况吗?如果没有,任何人都可以澄清我需要采取的步骤吗?会不会再打嗝了?


注意:对于后代,这是我在OSX上链接到我的项目的独立libpython.dylib的方法:

首先,我找到我的系统Python的库:( /usr/local/Frameworks/Python.framework/Versions/3.4/Python在我的情况下,它与自制软件一起安装).

现在我:

  • 将.dylib复制到我的项目文件夹创建中 ./Libs/libpython3.4.1_OSX.dylib

  • 进入build settings -> linking并设置other linker flags-lpython3.4.1_OSX

此时它似乎有效.但是,如果您知道尝试在新的OSX安装上构建它,它将失败.这是因为:

$ otool -D ./libpython3.4.1_OSX.dylib 
./libpython3.4.1_OSX.dylib:
/usr/local/Frameworks/Python.framework/Versions/3.4/Python
Run Code Online (Sandbox Code Playgroud)

.dylib仍然坚持它的旧位置.我真的很奇怪.dylib包含一个指向其位置的链接,因为任何使用它的东西必须知道它在哪里才能首先调用它!

我们可以用以下方法纠正:

$ install_name_tool -id @rpath/libpython3.4.1_OSX.dylib libpython3.4.1_OSX.dylib
Run Code Online (Sandbox Code Playgroud)

但是在我们的Xcode项目中我们必须:

  • 进入build phases.添加一个copy files复制libpython3.4.1_OSX.dylib到的步骤Frameworks(这是放置它的正确位置).
  • 进入build settings -> linking并设置runpath …

python embedding standard-library python-3.x

49
推荐指数
1
解决办法
2108
查看次数

C:如何将浮动包装到区间[-pi,pi]

我正在寻找一些有效实现的优秀C代码:

while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI;
while (deltaPhase < -M_PI) deltaPhase += M_TWOPI;
Run Code Online (Sandbox Code Playgroud)

我有什么选择?

c math floating-point modulo intervals

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

iOS:Audio Units vs OpenAL vs Core Audio

有人可以向我解释一下OpenAL如何适应iPhone上的声音架构?

似乎有不同级别的API用于处理声音.较高级别的人很容易理解.

但是我的理解变得模糊不清.有Core Audio,Audio Units,OpenAL.

这些之间的联系是什么?openAL是基础,它取决于Core Audio(其中包含作为其低级对象之一的Audio Units)?

XAL似乎没有记录OpenAL,但我可以运行使用其功能的代码.

openal core-audio audiounit ios

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