小编Ali*_*lix的帖子

WKWebKit未附加到视图层次结构时执行javascript

我想切换到WKWebViewUIWebView.在我的代码中,Web视图实例是在屏幕外创建的(不附加到视图层次结构)并且加载了URL.加载完成后,Web视图将在单独的UIWindow(如插页式广告)中呈现给用户.一切正常UIWebView; 但在切换到之后WKWebView,角度javascript代码以意想不到的方式运行.

在做了一些研究之后,我发现当WKWebView实例未附加到视图层次结构时,javascript计时器(和HTTP加载器)被挂起:如果你在javascript中启动一个以分离运行的计时器WKWebView- 它将不会被触发Web视图已附加.

任何人都可以建议一个可能的解决方法(除了将隐藏的Web视图附加到关键窗口,然后将其移动到另一个窗口)?

我已经创建了一个示例项目来演示问题(或者更有可能是WebKit功能)

https://dl.dropboxusercontent.com/u/148568148/WebKitViewTest.zip

测试应用程序加载带有javascript的网页,该网页调度计时器并加载HTTP请求.您可以使用开关来显示/隐藏Web视图(设置"隐藏"属性)并将其从视图层次结构中附加/分离.

在iOS 8.0上运行的示例应用程序

如果Web视图已附加(隐藏或可见)并且您点击Load,则javascript工作正常:您可以查看successfailure警告对话框.如果它已分离 - 计时器只会在它附加到视图层次结构时触发(将"Detached"切换为"on",点击"Load",等待几秒钟并切换回"off").您也可以console.log从Safari Web Inspector 查看.

这是测试网页源:

<!doctype html>
<html ng-app="project">
  <head>
    <script
      src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.js"></script>
    <script src="project.js"></script>
  </head>
  <body>
    <div id="simple" ng-controller="MyController" data-ng-init="callNotify(message);">
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和javascript:

angular.
  module('project', []).
  controller('MyController', ['$scope','notify', function ($scope, notify) {
  $scope.callNotify = function(msg) {
    notify(msg);
  };
}]).
  factory('notify', ['$window', '$http', '$q', '$timeout', function(win, $http, $q, $timeout) { …
Run Code Online (Sandbox Code Playgroud)

javascript webkit ios angularjs wkwebview

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

"留言回复花了太长时间." - 观察Watch OS 3的连接问题

在我的项目中,我Watch Connectivity用来向Watch和iPhone发送消息.我可以向手机发送消息并在启动应用程序时收到一串字符串,但是在使用操作时,我收到以下错误;

错误域= WCErrorDomain代码= 7012"消息回复花了太长时间."

这是事情的建立方式;

首先,手表向手机发送消息,然后手机发送一串字符串以显示在手机中WKInterfaceTable.这有时适用于加载应用程序.(我获取所有调用的NSManagedObjects Items并使用它们的title字符串属性存储在被array调用的中watchItems.

但是,我在手表上有一个操作,删除数组中的所有项目并使用新数据刷新表格.

手表上的操作使用一个sendMessage功能发送item到手机以从阵列中删除,然后手机将新更新的阵列发送到手表,手表更新表.但是,我要么返回相同的数组,要么出错.

非常简单,所以在Swift 3和Watch OS3/iOS 10之前一切正常工作; 整个应用程序曾经工作过.

这是我如何设置一切;

电话应用代表

import WatchConnectivity

class AppDelegate: UIResponder, UIApplicationDelegate, WCSessionDelegate {

var session : WCSession!

var items = [Items]()

func loadData() {
    let moc = (UIApplication.shared.delegate as! AppDelegate).managedObjectContext
    let request = NSFetchRequest<Items>(entityName: "Items")

    request.sortDescriptors = [NSSortDescriptor(key: "date", ascending: true)]
    request.predicate = NSPredicate(format: "remove == 0", "remove")

    do {
        try
            self.items = …
Run Code Online (Sandbox Code Playgroud)

ios swift watchconnectivity watchos-3

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

如何在github上禁用私有repo上的fork

bitbucket很容易.如果我不想让我的回购分叉.我可以禁用它.只有获得回购许可,只有我邀请的人才能回购.

但是github中的功能在哪里?我有企业回购,我希望邀请人们参与其中.但不要让他们分叉.

我可能错过了一些东西,谷歌搜索没有带来任何有用的东西.有人能指出我正确的方向吗?

在此先感谢您的时间.

enterprise github

16
推荐指数
3
解决办法
7621
查看次数

UIView与容器视图

所以这是我试图解决的问题.

在每一个viewController我试图插入广告和实际的控制元素.我在raywenderlinch.com上完成了几个教程,以了解人们如何专业地在他们的应用中放置广告.他们使用UIViews在视图控制器的主视图下有两个视图.所以我完全理解一个人subview持有广告而另一个持有实际应用内容.如果加载广告占用屏幕,或者让其他视图具有所有可用区域.

在我回到xcode之后,我开始编写我在那里学习的方式.但是当我UIView在故事板上播放时,我看到了containerView,在编写教程时我觉得它不存在.
所以我在这里询问这两种方法及其优缺点.
所以基本上它UIViewVS ContainerView.我该怎么做,为什么?
任何帮助将不胜感激.

xcode uiview ios iad uicontainerview

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

如何创建一个像shell32.dll包含图标的DLL

我正在研究Visual Studio 2010.想要创建一个包含像shell32.dll一样的图标的dll.任何人都可以指导我需要做什么.目的:我只想让我的fav图标绑定一个dll并保留在我的根驱动器中并自定义所有文件夹图标,我只是需要它包含Dll就是这样.我不知道需要什么和所有努力,我准备好需要付出多少努力.欢迎提出任何建议或意见.我不确定需要什么细节,所以添加了shell32.dll的图片.

SHELL32.DLL

vb.net

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

与Autolayout一起使用时,AdMob横幅大小错误

我一直在努力解决问题很长一段时间:我有一个快速的项目,有自动布局我正在使用任何高度,任何宽度.我有adbanner,其高度为50,侧面固定为超级视图.

当我运行时,我收到此错误:

无法设置adSize属性.没有足够的空间来展示自定义尺寸的广告,{600,50}.请使用适合当前屏幕范围{320,568}的大小.

我在这里阅读了不少帖子,要么他们没有使用autolayout或者用于android: AdMob Banner Size for retina display iphone

动态改变admob横幅大小

adMob | 延长横幅尺寸?

如何以编程方式创建一个admob横幅?

如何以编程方式为AdMob指定adUnitId?

这个谷歌链接再次用于Android,对于塑造我的思维有点帮助 https://developers.google.com/mobile-ads-sdk/docs/dfp/android/banner?hl=en

看了很多松散相关的东西.我写这行:

adBannerView.adSize = kGADAdSizeBanner

哪个应该解决问题因为我在iPhone和Banner是320x50我也试过kGADAdSizeSmartBannerPortrait

但我仍然看到错误,并且广告没有显示我认为可能是因为我的测试设备也是如此...

    if debug{
        var devices: [String] = ["fe2b6df035b7b0729ae7d33cf35d2aa9"]
        GADRequest().testDevices = devices
    }
    else{
       adBannerView.loadRequest(GADRequest())
    }
Run Code Online (Sandbox Code Playgroud)

但没有运气.任何人都有我的一些指示.

admob swift2

6
推荐指数
0
解决办法
1435
查看次数

如何调试Subversion预提交钩子脚本?

这似乎是一个非常基本的问题,但我被淘汰了.如何测试那些为了挂钩而编写的脚本.

我们知道脚本是在后台运行的,SVN控制台只会向我们抛出错误.我尝试使用断点但是我没有任何东西可以为脚本提供输入.

有没有人对此有所了解.我正在Windows上编写svn钩子脚本,因此很多已编写的钩子脚本要么没有运行,要么没有提供所需的输出,例如从apache检查mime-type和eol脚本.

svn pre-commit-hook

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

'RLMException',原因:'表没有列'

我已经检查了有关此问题的相关文章。 在 iOS 的 Realm 中添加数据的问题

似乎只是在上一篇文章中指出人们没有向变量添加动态。这不是我的情况。我根本找不到任何其他原因导致它失败。

构建目标 12.2,swift 版本:Swift 5,领域版本:swift-10.2.1

我的课:

class Person: Object {
    dynamic var id = UUID().uuidString
    dynamic var name = "" 
}
Run Code Online (Sandbox Code Playgroud)

这就是我试图添加到领域的方式

    let realm = try! Realm()
    let person = Person()
    person.name = "John Doe"
    try! realm.write {
        realm.add(person)
    }
Run Code Online (Sandbox Code Playgroud)

任何指针或建议将不胜感激。非常感谢您阅读这篇文章。

realm swift realm-mobile-platform realm-ios

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

正在记录新的 Firebase 事件,但上传时显示没有数据

这是不言而喻的调试日志

2016-06-24 00:50:34.965 testApp[13184:] <FIRAnalytics/DEBUG> Event logged. Event name, event params: select_content, {
        "_o" = app;
        "content_type" = "Share_Screen";
        "item_id" = 4;
    }
2016-06-24 00:50:40.969 testApp[13184:] <FIRAnalytics/DEBUG> Event logged. Event name, event params: select_content, {
        "_o" = app;
        "content_type" = "About_Screen";
        "item_id" = 5;
    }
Run Code Online (Sandbox Code Playgroud)

为了简洁起见,我删去了许多其他事件。

2016-06-24 00:50:46.346 testApp[13184:] <FIRAnalytics/DEBUG> Do not schedule an upload task. Task already exists
2016-06-24 00:50:46.394 testApp[13184:] <FIRAnalytics/DEBUG> No data to upload. Upload task will not be scheduled
2016-06-24 00:50:46.394 testApp[13184:] <FIRAnalytics/DEBUG> Canceling active timer …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-analytics

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

perl脚本中已知错误的未知原因

我正在编写以下脚本来从文本文件中读取服务器列表ssh到它们并运行ldd命令来获取服务器上安装的版本.唯一的问题是我看到错误,其中显示错误的主机名称:

adev@abclnxdev:[/home/adev/perl-scripts] {63} % perl try.pl
Net::SSH: Bad host name: abclnxtest01
 at try.pl line 21
Run Code Online (Sandbox Code Playgroud)

当我手动对这个主机执行ssh时.它得到连接.这是脚本:

#!/mu/bin/perl
use Net::SSH::Perl;
use warnings;

my $file = "server-list.txt";
my $usr = "user";
my $pwd = "password";
my $output_file = "GlibC-version.txt";

open(HANDLE, $file) or die("Cant open the file :( ");
@server_list = <HANDLE>;
close(HANDLE);
#debug_print_array(@server_list);

open(HANDLE, ">>$output_file"); #opening file for output.
foreach $host (@server_list)
{

my $ssh = Net::SSH::Perl->new($host);

$ssh->login($usr,$pwd,$ssh);
my($stdout, $stderr, $exit) = $ssh->cmd("ldd --version|grep ldd");
print HANDLE "----------------------------------";
print HANDLE …
Run Code Online (Sandbox Code Playgroud)

perl

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