我正在制作处理敏感信用卡数据的应用程序.
如果我的代码在调试模式下运行,我想将此数据记录到控制台并进行一些文件转储.
但是在最终的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) 首先,通过3次提交得到"你的分支在原点/主人之前",然后我的应用程序恢复到早期更改的早期时间.
我怎样才能得到过去11个小时里所做的事情?
我需要使用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命令行工具.
^我当前的问题确切.对这个问题的评论说:"如果你已经有这个错误就可以得到这个错误"
但是我如何检查是否已经拥有它们?
我厌恶的C语言(作为一名数学家)就是这样的
(-1) % 8 // comes out as -1, and not 7
fmodf(-1,8) // fails similarly
Run Code Online (Sandbox Code Playgroud)
什么是最好的解决方案?
C++允许模板和运算符重载的可能性,但这些对我来说都是模糊的.感激地收到了例子.
我在Swift中有一个大数组.我想将所有成员初始化为相同的值(即它可以是零或其他值).什么是最好的方法?
在Xcode中的调试版本中,无论我是使用模拟器还是实际设备,NSLog,printf,fprintf assert和NSAssert语句都出现在控制台上
如果我现在在设备上运行发布版本(比如说我发送了一个测试版本并在我的iPhone上加了大量的内容;这将是一个发布版本),其中哪些(如果有的话)被记录下来了?
我该如何检索日志?
NSLog实际上是否在发布版本上输出了什么?决定因素是什么?无论是写入stdout还是stderr?只有stderr写入设备日志?这是否意味着我必须使用fprintf?是否已将任何内容写入设备日志?甚至有这样的事情吗?如果是这样,如何捡起来?
有人可以澄清这种情况吗?
我很高兴看到现在可以在浏览器中编写Python代码.这些是主要候选人(请添加我可能忽略的任何一个):
但如何在它们之间做出选择?我能看到的唯一明显区别是Skulpt基于Python 2,而Brython基于Python 3.
请注意:这不是建议或意见的要求.我正在寻找能够为受过教育的选择提供信息的客观事实.
编辑:我在这里问了一个相反的问题:如何使用标准库嵌入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 …我正在寻找一些有效实现的优秀C代码:
while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI;
while (deltaPhase < -M_PI) deltaPhase += M_TWOPI;
Run Code Online (Sandbox Code Playgroud)
我有什么选择?
有人可以向我解释一下OpenAL如何适应iPhone上的声音架构?
似乎有不同级别的API用于处理声音.较高级别的人很容易理解.
但是我的理解变得模糊不清.有Core Audio,Audio Units,OpenAL.
这些之间的联系是什么?openAL是基础,它取决于Core Audio(其中包含作为其低级对象之一的Audio Units)?
XAL似乎没有记录OpenAL,但我可以运行使用其功能的代码.
ios ×3
xcode ×3
c ×2
modulo ×2
python ×2
arrays ×1
audiounit ×1
browser ×1
brython ×1
c++ ×1
c++11 ×1
command-line ×1
console ×1
core-audio ×1
debugging ×1
device ×1
embedding ×1
git ×1
installation ×1
intervals ×1
logging ×1
math ×1
openal ×1
preprocessor ×1
python-3.x ×1
release ×1
skulpt ×1
swift ×1
transcrypt ×1