我试图安装Sencha Touch SDK工具2.0.0但无法正常运行.它在$ PATH变量中创建了一个条目.后来我删除了sencha sdk tools文件夹,但没有意识到路径变量仍然存在.
我什么时候echo $PATH得到 -
/Applications/SenchaSDKTools-2.0.0-beta3:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
我搜索了如何从$ PATH中删除变量并执行以下步骤:
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"echo $PATH这表明/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binexport PATHecho $PATH.这次我得到了
/Applications/SenchaSDKTools-2.0.0-beta3:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin谁能告诉我我做错了什么?
我从他们的网站下载并安装了Gstreamer iOS库.我将教程复制到我自己的文件夹,并尝试在Xcode中构建项目.我收到以下链接器错误.
我没有找到关于此的线索.Gstreamer.framework与所有目标相关联.
Undefined symbols for architecture armv7:
"_iconv_open", referenced from:
__nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
(maybe you meant: _g_iconv_open)
"_iconv", referenced from:
__nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
(maybe you meant: _iconv_canonicalize, _g_iconv_close , _g_convert_with_iconv , _g_iconv , _g_iconv_open )
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
没有框架问题.我只需要在Build Phases中添加libiconv.dylib - >使用库链接二进制文件.之后没有链接器错误!
我正在尝试以编程方式更改我的XCode项目的包标识符.
$/usr/libexec/PlistBuddy -c"Set:CFBundleIndentifier com.myIdentifier.appName"MyApp-Info.plist
但我一直得到错误 -
设置:条目,":CFBundleIndentifier",不存在
这就是我的Info-Plist的样子,它有CFBundleIndentifier的条目.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-120</string>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon-iPad.png</string>
<string>Icon-iPad@2x.png</string>
</array>
</dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-152</string>
<string>Icon-76</string>
<string>Icon-120</string>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon-iPad.png</string>
<string>Icon-iPad@2x.png</string>
</array>
</dict>
</dict>
<key>CFBundleIdentifier</key>
<string>com.myOldIdentifier.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0.12</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSApplicationCategoryType</key>
<string></string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIAppFonts</key>
<array>
<string>Gotham-Bold.otf</string>
<string>Gotham-BoldItalic.otf</string>
<string>Gotham-Book.otf</string> …Run Code Online (Sandbox Code Playgroud) 我将系统上的Subversion客户端更新为1.8.3.我从Xcode 5的 Source Control菜单中检查了我的存储库.然后在终端打开该目录并执行svn update命令只是为了检查.我收到这条消息 -
'/ Path'的工作副本太旧(格式29),无法使用客户端版本'1.8.3(r1516576)'(期望格式31).您需要先升级工作副本.
如果我升级我的副本,我将无法访问源控制菜单选项,因为版本对于XCode 5来说太高了.
后来我发现了这个XCode 5 Features Link,它说XN的SVN版本是1.7.9.
我有一些二进制数据,这些数据是通过序列化 google 协议缓冲区类获得的。我如何在运行时找出数据被序列化的类。
例如,假设我有一个类 abc。我将此类 abc 序列化为二进制数据。有没有办法验证这个二进制数据是通过序列化类 abc而不是其他类获得的?
此外,如果我通过xyz 类的 parse 方法解析 abc 类的二进制数据,我怎么知道解析是否成功。
我开发了一个无线电应用程序,它正在工作.
我想放置一个活动指示器视图,以便当您触摸播放时它启动活动指示器视图,当音频开始时,活动指示器停止.
我在主视图中有一个UILabel文本 - "非常非常长的文本".适当的宽度是142,但我把它缩短到55.
基本上我想实现一个字幕类型滚动,所以我编写代码将其添加到子视图中并在该视图的边界内对其进行动画处理.
代码 -
CGRect tempLblFrame = _lblLongText.frame;
UIView *lblView = [[UIView alloc] initWithFrame:tempLblFrame];
//Add label to UIView at 0,0 wrt to new UIView
tempLblFrame.origin.x = 0;
tempLblFrame.origin.y = 0;
[_lblLongText setFrame:tempLblFrame];
[_lblLongText removeFromSuperview];
[lblView addSubview:_lblLongText];
//SetClipToBounds so that if label moves out of bounds of its superview, it wont be displayed
[lblView setClipsToBounds:YES];
[lblView setBackgroundColor:[UIColor cyanColor]];
[self.view addSubview:lblView];
Run Code Online (Sandbox Code Playgroud)
在此之后,我在模拟器上得到了这个输出 - > 
当我使用此代码尝试动画时出现问题 -
tempLblFrame.origin.x = -_lblLongText.intrinsicContentSize.width;
[UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveLinear
animations:^{
[_lblLongText setFrame:tempLblFrame];
}
completion:^(BOOL finished) …Run Code Online (Sandbox Code Playgroud) 我正在维护一个包含我的应用程序中使用的大多数字体大小的枚举,如此 -
enum FontSize : CGFloat
{
case HeaderSize = 20
case TitleSize = 18
case PrimaryButtonTextSize = 22
}
Run Code Online (Sandbox Code Playgroud)
我已经在UIFont扩展中编写了这个方便的方法,我希望在整个应用程序中使用 - 如 -
static func fontWithSize(size:FontSize) -> UIFont?
{
return font = UIFont(name:"System" , size: size.rawValue)
}
Run Code Online (Sandbox Code Playgroud)
用法 -
headerLabel.font = UIFont.fontWithSize(.HeaderSize)
Run Code Online (Sandbox Code Playgroud)
现在我面临着这个设计的2个问题 -
由于我在UI中使用它们来识别字体大小,我很可能在将来添加更多案例 -
enum FontSize : CGFloat
{
case HeaderSize = 20
case TitleSize = 18
case PrimaryButtonTextSize = 22
// Newly added
case SpecialButtonTextSize = 20
case SpecialTitleTextSize = 10
}
Run Code Online (Sandbox Code Playgroud)
问题是swift enum不允许我添加具有相同值的多个案例.当然我可以删除SecondaryButtonTextSize …
在 swift 我可以创建一个方法,如 -
#1
func baseURL() -> String {
#if DEBUG
return "https://debug.myserver.url.com"
#else
return "https://production.myserver.url.com"
#endif
}
Run Code Online (Sandbox Code Playgroud)
我也可以这样写——
#2
var baseURL:String {
#if DEBUG
return "https://debug.myserver.url.com"
#else
return "https://production.myserver.url.com"
#endif
}
Run Code Online (Sandbox Code Playgroud)
两种方法都满足声明仅获取属性的要求。我个人认为第二种方法更好的可读性。
我知道它没有太大区别,但我仍然想知道哪个更好?任何一种方法比另一种方法有什么优势吗?