小编hsd*_*dev的帖子

在iPhone上完全奇怪的字体渲染

我有一个嵌入我的iPhone应用程序的自定义字体,以前已完美呈现(在模拟器和设备上).今天,当我在设备上构建并运行应用程序时,突然看起来像这样:

字体渲染不正确

只有在物理设备上运行时才会出现此问题.我以前从未见过这种现象; 到底是什么?应用程序中使用的其他字体与以前完美呈现.

iphone fonts objective-c

10
推荐指数
1
解决办法
594
查看次数

在设备上找不到NSBundle文件夹,但在模拟器中工作

我正在写的iPad应用程序有一个非常奇怪的问题.在启动时,我想将包含一些其他文件夹(空的)的文件夹从应用程序包复制到Documents目录.要复制的文件夹,称为"flds"(全部小写),使用"为任何添加的文件夹创建文件夹引用"添加到Xcode 4项目中,并且我已经检查它在编译后实际上是.app文件的一部分.(并且在尝试复制时它不存在.)

我尝试使用其中一个调用(它们全部工作)进入'flds'文件夹:

[[[NSBundle mainBundle] bundleURL] URLByAppendingPathComponent:@"flds"]
[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"flds"]
[[NSBundle mainBundle] pathForResource:@"flds" ofType:@""]
Run Code Online (Sandbox Code Playgroud)

然后使用NSFileManager的copyItemAtPath:toPath:error:方法(或使用URL而不是路径字符串时的等效URL)进行复制.

所有这些策略都可以在iPad模拟器和iPad设备上完美运行,但有以下例外:当我(成功)构建Ad Hoc分发时,将.app和.mobileprovision拖到iTunes中,同步然后运行应用程序设备,系统不再认为'flds'文件夹存在!我一直试图检查这个问题好几个小时,没有运气.同样,我非常确定它在模拟器和从Xcode运行的设备上都能正常工作,但在通过iTunes同步时却无法工作.

想法?

我发现通过iTunes同步iPad应用程序后,以下调用也成功获取文件夹路径:

[[NSBundle mainBundle] pathForResource:@"flds" ofType:nil inDirectory:nil]
Run Code Online (Sandbox Code Playgroud)

但是,当我使用此路径将文件夹复制到Documents目录中的新位置时,只有文件夹本身和其中的.txt文件(我放在那里作为测试,它实际上不应该在那里)获取复制,而不是6-7个空子文件夹.同样,相同的模式显示自己:在模拟器和从Xcode运行的设备上运行正常('flds'文件夹'test.txt'和空子文件夹被成功复制),但不是在通过iTunes同步时(仅'flds'文件夹)复制'test.txt',而不是子文件夹).这真的是预期的行为copyItemAtPath:toPath:error:吗?为什么在通过iTunes同步后它会有不同的表现?

directory objective-c nsfilemanager nsbundle

5
推荐指数
1
解决办法
963
查看次数

从外部函数(PHP)访问函数中的局部变量

有没有办法在PHP中实现以下目标,还是根本不允许这样做?(请参见下面的注释行)

function outside() {
    $variable = 'some value';
    inside();
}

function inside() {
    // is it possible to access $variable here without passing it as an argument?
}
Run Code Online (Sandbox Code Playgroud)

php

5
推荐指数
1
解决办法
4866
查看次数

标签 统计

objective-c ×2

directory ×1

fonts ×1

iphone ×1

nsbundle ×1

nsfilemanager ×1

php ×1