小编Mic*_*uth的帖子

你能动态地将CFBundleDocumentTypes分配给你的Cocoa应用程序吗?

你能动态地将CFBundleDocumentTypes分配给你的Cocoa应用程序吗?运行时的含义可以为我的应用分配更多扩展名来处理.

目前我为我的应用程序设置了一些扩展,以便在Info.plist中使用CFBundleDocumentTypes来处理,但我希望在应用程序执行时(在运行时)执行此操作.基本上我可以让Launch Services知道新的扩展而无需修改Info.plist文件.

谢谢.

macos cocoa info.plist file-association launch-services

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

如何确定HTTP请求是来自浏览器还是其他类似Web服务?

如何确定HTTP请求是来自浏览器还是其他类似Web服务?

我知道有一个用户代理,但这似乎主要针对Web浏览器.例如,我知道请求来自谷歌地图或youtube.该请求来自一个系留设备.

如果他们有不同的用户代理,我可以得到一个例子.

谢谢.

http httprequest http-headers

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

为发布版本设置环境变量DYLD_FRAMEWORK_PATH的最简洁方法是什么?

我的应用程序包中有自定义框架,用于WebKit,WebCore和JavaScriptCore.我希望所有其他依赖于WebKit,WebCore或JavaScriptCore的系统版本的框架也可以使用我的自定义版本.例如,我的Webkit自定义版本加载了私有系统框架,而这些框架依赖于WebKit的系统版本.这意味着我的WebKit和系统WebKit都会被加载,通常很快就会发生崩溃.

我应该这样理解的方法是在应用程序包开始执行之前设置DYLD_FRAMEWORK_PATH环境变量(可以在此处找到加载框架的搜索顺序:http://code.google.com/p/macdependency/wiki/SearchPaths).您可以使用setenv在代码中设置环境变量,但它不会对当前正在运行的进程生效.我必须重新启动该过程才能生效.我也想避免这种情况.

所以我的问题是在执行我的应用程序包之前设置DYLD_FRAMEWORK_PATH的最佳方法是什么?这也必须在发布应用程序包中工作.在可执行文件开始运行之前,只要有人点击我的应用程序包,就有办法运行脚本.或者还有其他建议吗?

提前致谢.

xcode frameworks environment-variables app-bundle

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

找不到dlopen()错误图像

我有软件首先加载.dylib让我们使用以下命令调用libFirst.dylib:

void* handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_GLOBAL);
Run Code Online (Sandbox Code Playgroud)

稍后在加载的libFirst.dylib中的函数内部我尝试使用相同的命令加载另一个.dylib但是对于libSecond.dylib,加载此共享库在我的Xcode控制台中给出了以下警告:

error warning: Ignored unknown object module at 0x129310 with type 0x8a8399

dlerror: dlopen(/path/libSecond.dylib, 9): Library not loaded: libFirst.dylib
  Referenced from: /path/libSecond.dylib
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我没有得到的是它说没有加载libFirst.dylib但我目前在libFirst.dylib的函数内部,所以这怎么可能呢?

我在DYLD_LIBRARY_PATH中的所有路径也都是正确的.

在此先感谢,我已经坚持了好几天.

dylib dlopen dynamic-library

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

使用setenv然后进行dlopen调用的问题

我正在使用setenv设置DYLD_LIBRARY_PATH,所以当我执行dlopen()时,它将有正确的路径来查找我的.dylib,但是当我执行dlopen()时,它似乎不会搜索我添加到DYLD_LIBRARY_PATH的路径.

从我可以收集的内容中,我对DYLD_LIBRARY_PATH的更改在重新执行我的进程之前不会生效.它是否正确?

此外,如果这是正确的,是有办法来设置DYLD_LIBRARY_PATH和有我的变化与出当仁不让过程的复位工作.

哦,是的,我在MAC OSX上编写了这段代码.

提前致谢.

environment-variables dyld dlopen setenv

5
推荐指数
2
解决办法
1517
查看次数

以编程方式查找Dock的位置?

有没有办法在代码中找出Mac上的Dock是否位于用户显示器的底部,左侧或右侧?

macos cocoa dock objective-c

5
推荐指数
2
解决办法
1433
查看次数

如何使用Xcode 4.2使用ios 4.2 base sdk?

如何使用Xcode 4.2使用ios 4.2 base sdk?

我拥有iPhone 4s和iTouch,它上面有ios 4.2.将Xcode升级到4.2以便与我的iPhone 4s一起使用后,我再也无法使用Xcode和我的iTouch了.如何设置Xcode以在4.2和ios5上运行我的iTouch?

此外,我尝试通过选择其他设置基本sdk,但列表中没有其他内容,我得到的是一个对话窗口,我可以手动输入.我需要在那里添加一个选项吗?

谢谢.

iphone sdk base-sdk ios xcode4

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

PackageMaker错误无法将资源复制到en.lproj

我将我的应用程序包放在PackageMaker中并尝试构建它,现在我收到此错误:

错误无法将资源复制到en.lproj

有任何想法吗?谢谢

屏幕截图: 在此输入图像描述

resources xcode build-error packagemaker

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

memset导致std :: string赋值崩溃

我的代码适用于Windows,但现在我使用Xcode 3.2.5 C/C++编译器版本GCC 4.2移植到MAC,它崩溃了.

我把它缩小到了一个memset电话.如果我注释掉memset它的工作原理,如果我把它放回代码崩溃.

我的头文件中有一个看起来像这样的结构:

typedef struct 
{
    int deviceCount;
    struct 
    {
        #define MAX_DEVICE_ID 256
        #define MAX_DEVICE_ENTRIES 10
        std::string deviceId;   // Device name to Open
        TransportType   eTransportType;
    } deviceNodes[MAX_DEVICE_ENTRIES];
} DeviceParams;
Run Code Online (Sandbox Code Playgroud)

然后在cpp文件中我有这个:

DeviceParams Param;
memset(&Param, nil, sizeof(Param));
Run Code Online (Sandbox Code Playgroud)

......后来我有这个:

pParam->deviceNodes[index].deviceId = "some string"; // <----- Line that crashes with memset
Run Code Online (Sandbox Code Playgroud)

就像我之前说的,如果我删除memset调用一切正常.如果我在调用memset之前查看调试器,我的结构中的字符串是\ 0,而在memset之后它们是nil.

为什么nil字符串在赋值行上崩溃而且只在MAC上崩溃?

谢谢.

c++ string crash xcode memset

3
推荐指数
2
解决办法
1947
查看次数

如何在Win8/Metro/WinRT中获取DocumentsLibrary的绝对路径?

我有manifestappx文件设置,可以访问文档库访问和文件关联,但是当我打电话时

Windows::Storage::KnownFolders::DocumentsLibrary->Path 
Run Code Online (Sandbox Code Playgroud)

Path返回一个空字符串.如何正确返回路径?

在此先感谢您的帮助

c++ filepath microsoft-metro windows-runtime

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

解析PFSubclassing无法使用Swift

我复制了Subclassing的Parse Swift示例:

class Armor : PFObject, PFSubclassing {

    override class func load() {
        self.registerSubclass()
    }
    class func parseClassName() -> String! {
        return "Armor"
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

/Parse/Armor.swift:11:1: error: type 'Armor' does not conform to protocol 'PFSubclassing'
class Armor : PFObject, PFSubclassing {
^
__ObjC.PFSubclassing:15:28: note: protocol requires function 'object()' with type '() -> Self!'
  @objc(object) class func object() -> Self!
                           ^
__ObjC.PFSubclassing:23:52: note: protocol requires function 'objectWithoutDataWithObjectId' with type '(String!) -> Self!'
  @objc(objectWithoutDataWithObjectId:) class func objectWithoutDataWithObjectId(objectId: String!) -> Self!
                                                   ^ …
Run Code Online (Sandbox Code Playgroud)

parse-platform swift pfsubclassing

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

为什么不编译

#include "base.h"
#include <Poco/SharedPtr.h>
#include <Poco/AutoPtr.h>
#include <vector>

using Poco::SharedPtr;
using Poco::AutoPtr;


namespace kroll
{
    class Value;
    class KObject;
    class KMethod;
    class KList;

    class StaticBoundObject;
    class StaticBoundMethod;
    class StaticBoundList;

    class GlobalObject;
    class ScopeMethodDelegate;
    class Bytes;
    class VoidPtr;
    class ValueReleasePolicy;
    class Logger;
    class ArgList;

    template <class C>
    class KAutoPtr : public AutoPtr<C>
    {
    public:
        KAutoPtr() : AutoPtr()
        {}

        KAutoPtr(C* ptr) : AutoPtr(ptr)
        {}

        KAutoPtr(C* ptr, bool shared) : AutoPtr(ptr, shared)
        {}

        KAutoPtr(const AutoPtr& ptr) : AutoPtr(ptr)
        {}

        /*KAutoPtr& operator = (const …
Run Code Online (Sandbox Code Playgroud)

c++ gcc compiler-errors

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