谁知道如何在运行iOS 5.0.1的iPhone 4上修复PyObjC?
在我的带有iOS 4.2.1的iPhone 4上,一切都运行良好.
在带有iOS 5.0.1的iPhone 4s(以及安装的所有(相同)软件包)上,PyObjC的东西不起作用.
我得到的错误是:
File "/private/var/stash/Applications.pwn/MyPyObjC.app/MyPyObjC.py", line 9, in <module>
import objc
File "/usr/lib/python2.5/objc/__init__.py", line 17, in <module>
_update()
File "/usr/lib/python2.5/objc/__init__.py", line 14, in _update
import _objc
ImportError: dlopen(/usr/lib/python2.5/lib-dynload/_objc.dylib, 2): Symbol not found: _OBJC_CLASS_$_Object
Referenced from: /usr/lib/python2.5/lib-dynload/_objc.dylib
Expected in: /usr/lib/libobjc.A.dylib
Run Code Online (Sandbox Code Playgroud)
(文件__init__.py和_objc.dylib存在于两个设备中,文件libobjc.A.dylib在两个设备中都缺失)
同样,两款iPhone都安装了相同的软件包(但不同的iOS).
(据我所知,Saurik的HelloPython.app有同样的问题).
我猜他们在iOS 5中改变了一些东西而且PyObjC文件没有反映出这种变化(还)...
我希望他们能解决它...(我有4-5个基于PyObjC的应用程序不再工作):-(
在那之前,任何快速修复的想法?
我从一位同事那里获得了一个程序,他正在使用.xib文件设置他的视图。(作为一名硬核编码员,我自己从未使用过IB ...)因此,他正在设置ViewControler,并且拥有一个NavBar(在.xib文件中找不到!)。
我想为标题添加阴影。
如果我正在制作NavBar,则相对代码如下所示:
textViewTitle.layer.shadowOpacity = 2.0;
textViewTitle.layer.shadowRadius = 3.0;
textViewTitle.layer.shadowOffset = CGSizeMake(2.0, 3.0);
Run Code Online (Sandbox Code Playgroud)
而且效果很好。到处挖掘我发现现在需要使用此功能:
NSDictionary *navbarTtlAts = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIColor blackColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(2.0, 3.0)], UITextAttributeTextShadowOffset,
nil];
[self.navigationController.navigationBar setTitleTextAttributes:navbarTtlAts];
Run Code Online (Sandbox Code Playgroud)
尽管这可行,但我找不到如何添加shadowOpacity和shadowRadius的东西。
我发现我可以在NSDictionary中添加以下内容,但是它不起作用...
[NSNumber numberWithFloat: 2.0], @"shadowOpacity",
[NSNumber numberWithFloat: 3.0], @"shadowRadius",
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?