小编Tus*_*oul的帖子

如何从mac上的$ PATH中删除条目

我试图安装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中删除变量并执行以下步骤:

  1. 发出命令 PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
  2. 难道echo $PATH这表明/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
  3. 发出命令 export PATH
  4. 关闭终端并重新打开它.发出命令echo $PATH.这次我得到了 /Applications/SenchaSDKTools-2.0.0-beta3:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

谁能告诉我我做错了什么?

macos bash terminal path-variables .bash-profile

62
推荐指数
6
解决办法
8万
查看次数

构建Gstreamer iOS Tutorial项目时链接器错误

我从他们的网站下载并安装了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 - >使用库链接二进制文件.之后没有链接器错误!

iphone xcode objective-c gstreamer ios

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

iOS更改捆绑标识符使用PlistBuddy无法正常工作

我正在尝试以编程方式更改我的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)

xcode plist ios

7
推荐指数
1
解决办法
3741
查看次数

使用带有Xcode 5的SVN 1.8.3

我将系统上的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.

  1. 我不明白我的系统上有两个版本的SVN(一个由Xcode维护,1.7.9,另一个在1.8.3)
  2. 我如何使用1.8.3和Xcode 5.我真的想使用XCode的GUI.

svn xcode xcode5

6
推荐指数
2
解决办法
1万
查看次数

从序列化数据中查找协议缓冲区消息类型

我有一些二进制数据,这些数据是通过序列化 google 协议缓冲区类获得的。我如何在运行时找出数据被序列化的类。

例如,假设我有一个类 abc。我将此类 abc 序列化为二进制数据。有没有办法验证这个二进制数据是通过序列化类 abc而不是其他类获得的?

此外,如果我通过xyz 类的 parse 方法解析 abc 类的二进制数据,我怎么知道解析是否成功。

c++ serialization protocol-buffers

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

在AVplayer准备播放音乐时添加活动指示器

我开发了一个无线电应用程序,它正在工作.

我想放置一个活动指示器视图,以便当您触摸播放时它启动活动指示器视图,当音频开始时,活动指示器停止.

audio-streaming ios avplayer

4
推荐指数
1
解决办法
6031
查看次数

滚动UILabel就像子视图中的选取框一样

我在主视图中有一个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)

cocoa-touch objective-c uilabel ios

3
推荐指数
1
解决办法
9249
查看次数

Swift Enum设计问题:1.具有相同值的多个案例,2.返回自定义枚举值

我正在维护一个包含我的应用程序中使用的大多数字体大小的枚举,如此 -

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个问题 -

#1

由于我在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 …

enums ios swift

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

swift 有什么更好的:一个函数返回一个变量或只是一个 getter 变量

在 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)

两种方法都满足声明仅获取属性的要求。我个人认为第二种方法更好的可读性。

我知道它没有太大区别,但我仍然想知道哪个更好?任何一种方法比另一种方法有什么优势吗?

properties ios swift

0
推荐指数
1
解决办法
119
查看次数