小编Bor*_*rzh的帖子

WKWebView 未打开自定义 URL 方案(js 在新窗口中打开自定义方案链接)

我的应用程序中有一个WKWebView。我不使用UIWebView,因为出于某种奇怪的原因,它无法正确打开包含大量 JS 代码的网页。

当我点击带有自定义 url 方案 "scm://"的链接时,它什么都不做......

我的代码:

- (void)viewDidLoad {
    // ...

    WKWebViewConfiguration *configuration = [WKWebViewConfiguration new];
    if ([configuration respondsToSelector:@selector(setDataDetectorTypes:)])
        [configuration setDataDetectorTypes:WKDataDetectorTypeLink];

    myWebView = [[WKWebView alloc] initWithFrame:webFrame configuration:configuration];
    myWebView.navigationDelegate = self;

    [self.view addSubview:myWebView];
}

#pragma mark - WKNavigationDelegate

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
    NSURL *requestURL = navigationAction.request.URL;
    UIApplication *app = [UIApplication sharedApplication];
    if ([requestURL.scheme.lowercaseString isEqualToString:@"scm"] && [app canOpenURL:requestURL]) {
        [app openURL:requestURL];
        decisionHandler(WKNavigationActionPolicyCancel);
    }
    else
        decisionHandler(WKNavigationActionPolicyAllow);
}

- (void)webView:(WKWebView …
Run Code Online (Sandbox Code Playgroud)

custom-url ios wkwebview deeplink

8
推荐指数
4
解决办法
2万
查看次数

C++ 11内部std :: string表示(libstdc ++)

如何在c ++ 11(libstdc ++)中内部表示std :: string?

在挖掘实现内部时,我发现:

/*  A string looks like this:
 *
 *                                        [_Rep]
 *                                        _M_length
 *   [basic_string<char_type>]            _M_capacity
 *   _M_dataplus                          _M_refcount
 *   _M_p ---------------->               unnamed array of char_type
 *
 *  Where the _M_p points to the first character in the string, and
 *  you cast it to a pointer-to-_Rep and subtract 1 to get a
 *  pointer to the header.
 *
 *  This approach has the enormous advantage that a string object
 *  requires only one allocation. …
Run Code Online (Sandbox Code Playgroud)

c++ string internals c++11

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

cmake 链接到共享库而不使用完整路径

我有以下 CMakeLists.txt:

set( PROJECT_LINK_LIBS lib1.so lib2.so )
link_directories( path/to/libs ) # lib1.so and lib2.so are there.

add_library( ${PROJECT_NAME} SHARED ${PROJECT_SOURCES} )
target_link_libraries( ${PROJECT_NAME} ${PROJECT_LINK_LIBS} )
Run Code Online (Sandbox Code Playgroud)

编译和链接都很好。

但是当我这样做时:

ldd -d mylib.so
Run Code Online (Sandbox Code Playgroud)

我得到:

  1. libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf529b000)
  2. linux-gate.so.1 => (0xf777a000)
  3. /lib/ld-linux.so.2 (0xf777b000)
  4. lib1.so => /path/to/libs/lib1.so (0xf56a2000)
  5. lib2.so => /path/to/libs/lib2.so (0xf548f000)

我的问题是:

  • 如何删除 4. 和 5. 的 /path/to/libs/ ?与 LD_LIBRARY_PATH 有关吗?
  • 自动回答:我明白是什么意思 1. 在该路径中搜索 libc.so.6。但是 2. 和 3. 呢?locate linux-gate.so.1什么也没给出。3.为什么没有=>符号?(在这里找到答案)

c++ linux linker cmake

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

指向模板类的指针作为该类参数

基本上在尝试通过邻接列表实现图形时,我很难定义图形节点:

template <
    typename Vertex, 
    typename Edge,
    typename EdgeLink = std::pair< Edge, GraphNode* >,
    typename Alloc = std::allocator< EdgeLink >
>
class GraphNode
{
public:
    Vertex vertex;
    std::list< EdgeLink, Alloc > neighbours;
};
Run Code Online (Sandbox Code Playgroud)

我意识到我不能给GraphNode模板指针赋予参数,因为它们还没有定义.我对c ++模板大师的问题是:在这种情况下使用了什么技术?

谢谢.

c++ templates

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

iOS 9无法从iTunesConnect中的评论中删除构建

我知道,StackOverflow上有类似的问题.

但这一个是新的... itunesconnect UI几天前发生了变化.现在我需要从审核中删除构建(现在等待审核),但是没有链接可以执行此操作.

我该怎么办?

要重现此问题,请将构建内容上载到itunesconnect并提交.现在如何从审查中删除该构建?

截图: 在此输入图像描述

也许这解释了发生了什么,一个构建是永远处理(也许它不允许其他构建处理?): 在此输入图像描述

等了3天后,按钮终于出现了!Apple,请修复此错误.

itunesconnect build ios9

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

HTTPS和Firebase身份验证

我想知道,我如何验证对FireBase的请求?

我创建了新的firebase帐户,标记为启用电子邮件和密码身份验证,创建了一个具有电子邮件/密码的用户,并在安全规则中使用{".read":"auth!= null"}进行读取访问.

使用PostMan插件进行chrome,选择基本身份验证,输入电子邮件/密码,GET到https://crackling-fire-NNNN.firebaseio.com/key.json但我总是得到{"error":"Permission denied"} .如果我删除安全规则,它会工作.

FireBase中不允许使用HTTPS Basic Auth?

任何人都可以在纯HTTP中提供一些简单示例如何验证GET/PUT/DELETE请求?

谢谢!

authentication login firebase

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

Swift枚举作为数组索引

也许我在swift中误解了enum,但是在obj-c中我使用了这样的枚举(并且使用了很多):

class SomeObject;

typedef NS_ENUM(NSUInteger, SomeType) {
    Type1 = 0,
    Type2,       // = 1
    Type3,       // = 2
    TypeInvalid  // = 3
};

- (SomeType)getTypeOf(NSArray *a, SomeObject *o) {
    //for (int i = 0; i < a.count; ++i)
    //    if ([a[i] isEqual:o])
    //        return i;
    NUInteger result = [a indexOfObject:o];
    return result == NSNotFound ? TypeInvalid : result;
}

// Also I could use this:
a[Type3] = someObject;
Run Code Online (Sandbox Code Playgroud)

如何在Swift中做同样的事情?我是否被迫使用常量(let Type1 = 0),就像在Java(public static final int Type1 = …

enums swift

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

从Qt UI应用程序到Windows 10商店应用程序

我有一个Qt(5.6)UI应用程序,我使用它将其转换为Visual Studio项目

qmake -tp vc MyProject.pro CONFIG+=windeployqt
Run Code Online (Sandbox Code Playgroud)

当我在Visual Studio中打开vcxproj时,我成功构建并可以调试应用程序,但我无法将应用程序上传到Windows应用商店(项目 - >商店 - >创建/上传应用包),因为项目菜单不包含"存储"子菜单.

如何将我的应用程序上传到Windows应用商店?

qt windows-runtime windows-store windows-store-apps windows-10

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