我正在使用genstrings Classes/*.m生成Localizable.strings文件来本地化我的iPad/iPhone应用程序.大多数字符串工作正常,我得到预期的输出,但有些字符串genstrings正在添加1$或1$在我的格式说明符中间,如下所示:
/* No comment provided by engineer. */
"%@%i" = "%1$@%2$i";
/* No comment provided by engineer. */
"%@: %i" = "%1$@: %2$i";
/* No comment provided by engineer. */
"%@" = "%@";
Run Code Online (Sandbox Code Playgroud)
我没有与其他应用程序有这个问题,因为你可以看到它不一致.但它似乎并不是随机的,因为当我genstrings再次运行相同的类文件时,1$它们总是在同一个位置.
我可以留下它们,字符串使用正确的格式,但我已经手动删除它们,因为我不知道它$会做什么.不得不经历并手动更新字符串很烦人(加上我最终可能会错过一个).
我在想它可能是文本编码问题?或者我可以安全地将它们留在我的琴弦中然后忽略它们吗?
我正在iPad上处理Midi,一切正常,我可以记录进来的所有东西,并且一切正常。但是,在尝试接收长消息(即Sysex)时,我只能得到一个最大为256字节的数据包,此后什么也没有。
使用Apple提供的代码:
MIDIPacket *packet = &packetList->packet[0];
for (int i = 0; i > packetList->numPackets; ++i) {
// ...
packet = MIDIPacketNext (packet);
}
Run Code Online (Sandbox Code Playgroud)
packetList->numPackets始终为1。收到第一条消息后,在发送“新” sysex消息之前,不会调用其他回调方法。我不认为我的MIDI处理方法可以用全packetList(可能是任意大小)来调用。我以为我会以流的形式接收数据。它是否正确?
深入研究后,我发现的唯一内容是:http : //lists.apple.com/archives/coreaudio-api/2010/May/msg00189.html,其中提到了完全相同的内容,但并没有太大帮助。我知道我可能需要实现缓冲,但是我什至看不到任何超出前256个字节的内容,因此我不确定从哪里开始。
我有一个通用的应用程序,可以在iPad,iPhone 4G,3GS和3G上运行并完美运行,但是当在iPod Touch 4G上运行时,它将无法正常运行.
我没有iPod Touch进行测试,但测试人员告诉我,它在设备上安装得很好,但是在运行时会显示应用的iPad版本中的Default.png在启动时被压缩到屏幕上,然后从那里变黑.当应用程序强行退出(使用应用程序切换器)并重新启动时,它会再次执行相同的操作.
我已经仔细检查了目标设备系列是iPhone/iPad并完成了干净的构建等,但仍然没有骰子.
cocoa ×2
ipad ×2
iphone ×2
coremidi ×1
ipod-touch ×1
localization ×1
midi ×1
objective-c ×1
sysex ×1