代码之家  ›  专栏  ›  技术社区  ›  nrj

自定义Cocoa安装程序和应用程序依赖项

  •  1
  • nrj  · 技术社区  · 15 年前

    我正在开发一个使用ftp和sftp传输的cocoa应用程序,我发现实现这一点的最佳方法是使用 libcurl . 现在我很确定MacOSX没有安装libcurl,即使安装了libcurl,它也很可能不是用libssh构建的,这也是我需要的。

    我脑海中唯一能想到的解决方案是用libcurl的预构建版本发送我的应用程序。创建某种自定义安装程序来检查用户计算机中的libcurl,并在必要时安装预构建版本。我说的对吗?似乎有更好的方法。

    …如果是自定义安装程序 我需要什么,有人能给我指出一个好的教程吗?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Adrian    15 年前

    你可以使用 install_name_tool 更改动态链接库的搜索路径。

    使用@executable_path,可以使用与应用程序可执行文件相关的路径,然后将库放在frameworks文件夹(“@executable_path/../frameworks/libcurl.dylib”)或可执行目录(例如“@executable_path/lib/libcurl.dylib”)中。

    这样,您就可以构建自己的动态链接库,并将它们发送到应用程序包中。

        2
  •  2
  •   Peter Hosey    15 年前

    现在我很确定Mac OS X没有安装libcurl。

    是的,的确如此:

    curl --version                                                            %~(0)
    curl 7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 OpenSSL/0.9.8k zlib/1.2.3
    

    _即使它做到了,也很可能不是用libssh构建的,这也是我需要的。

    正确:没有。

    Protocols: tftp ftp telnet dict ldap http file https ftps 
    Features: GSS-Negotiate IPv6 Largefile NTLM SSL libz 
    

    您可能会发现,将libcurl构建为静态库并进行链接比构建共享库并将其复制到应用程序的frameworks子目录更简单。

        3
  •  1
  •   Azeem.Butt    15 年前

    是什么让你确定OSX不能和libcurl一起出货?

    $ locate libcurl
    /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.2.dylib
    /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.3.dylib
    /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.0.0.dylib
    /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib
    /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.dylib
    /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.2.dylib
    /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.3.dylib
    /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib
    /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.dylib
    

    不管怎样,如果你需要自己的,就把它放在你的包里。

        4
  •  0
  •   Norman    15 年前

    也许你想看看 ConnectionKit 在使用libcurl之前。