小编For*_*nja的帖子

仅使用特定网址共享扩展程序

有没有办法过滤共享扩展程序,以便仅在例如URL域是特定的域时显示?

例如,我想仅在用户共享Google链接时显示我的应用扩展程序:

http://www.google.com/?someQuery

如果我要过滤获取网址,那么下面的代码就足够了:

SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
        $extensionItem.attachments,
        $attachment,
        ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url"
    ).@count == $extensionItem.attachments.@count
).@count == 1
Run Code Online (Sandbox Code Playgroud)

在这种情况下,谓词访问$attachmentregisteredTypeIdentifiers属性并对其进行评估.我希望能够将REGEX与内部的值匹配$attachment,如下所示:

SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
        $extensionItem.attachments,
        $attachment,
        ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" AND
        ANY $attachment.value MATCHES "^http\:\/\/www\.google\.com\/"
    ).@count == $extensionItem.attachments.@count
).@count == 1
Run Code Online (Sandbox Code Playgroud)

...所以当我的应用程序不支持主机应用程序共享的URL时,我的扩展名将不可见.

PS:请注意,所使用的URL域只是一个示例.当然,真正的一个具有像这样使用的意义.

predicate ios ios-extensions

9
推荐指数
0
解决办法
490
查看次数

弹出ViewController时,停止执行GCD

-[tableView reloadData]在我的应用程序中有一个方法,并使执行更快,我已通过以下方法在GCD中调用它.

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{

    [tableView reloadData];
});    
Run Code Online (Sandbox Code Playgroud)

但是当我弹出我的viewController时,应用程序崩溃了这条消息[SecondViewController numberOfSectionsInTableView:]: message sent to deallocated instance 0x7fe376206e10.我假设[reloadData]在从ViewController退出后仍然执行.我该如何停止执行?我应该把它变成NSOperation吗?如果是这样,我该怎么做?

objective-c grand-central-dispatch ios

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

如何在脚本中使用sudo执行多个命令

我们可以使用heredocs使用sudo运行多个命令吗?

我在运行多个命令时遇到问题(需要为每个命令传递密码):

echo 'password'| sudo -S ls
echo 'password'| sudo -S cat /var/log/abc.log
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我如何在脚本中自动化这个?喜欢:

echo 'password' | sudo -S << ENDBLOCK
ls
cat
ENDBLOCK
Run Code Online (Sandbox Code Playgroud)

linux bash shell sudoers ubuntu-12.04

7
推荐指数
2
解决办法
6502
查看次数

如何从锁定屏幕和控制中心隐藏 MPMediaItemPropertyPlaybackDuration 滑块?

我正在开发在线广播播放器,需要一些帮助。当我设置时,MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo我有标题、控件和播放持续时间滑块。我不需要这个滑块,因为我没有有关播放持续时间的信息,而且它不是一个很好看的控件。有人可以提示我如何隐藏播放持续时间滑块吗?还有一个问题:由于该应用程序是在线广播播放器,因此用户无法前进或后退播放,因此我想从锁定屏幕和控制中心隐藏此控件。顺便说一句,我正在使用 Swift。提前致谢!

controls ios avplayer swift

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

如果按一下Headset按钮,android.intent.action.MEDIA_BUTTON事件将触发两次

我已经编写了一个代码来显示Toast何时按下耳机媒体按钮.我使用了意图过滤器来完成它.但问题是当我按下媒体按钮时它会发射两次.我的代码是:

MainActivity.java

private MusicIntentReceiver myReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    myReceiver=new MusicIntentReceiver();

    ((AudioManager)getSystemService(AUDIO_SERVICE)).registerMediaButtonEventReceiver(new ComponentName(
            this,
            MusicIntentReceiver.class));
}

@Override
public void onResume(){
    IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
    IntentFilter filter1=new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
    filter1.setPriority(100);
    registerReceiver(myReceiver, filter);
    registerReceiver(myReceiver,filter1);
    super.onResume();
}

@Override
public void onPause() {
    IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
    IntentFilter filter1=new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
    filter1.setPriority(100);
    registerReceiver(myReceiver, filter);
    registerReceiver(myReceiver,filter1);
    super.onPause();
}
Run Code Online (Sandbox Code Playgroud)

BroadcastReceiver.java

public class MusicIntentReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String intentAction=intent.getAction();
        Toast.makeText(context, "Action: "+intentAction, Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

java android intentfilter broadcastreceiver android-intent

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

实现此设计的最佳方法[ios]

实现如下设计的最佳方法是什么?

几件事:

  • 电平单元可以落在网格上的任何4个单元之间
  • 整板是可滚动的

我倾向于UICollectionView,但我不确定如何做"级别单元格".其中一种方法可能是将水平图像分成四个并在每个单元格上绘制它们?但是,我不确定这是否是最好的解决方案.

更多信息:

  • 灰色框只是游戏动作.根据操作,应用程序确定它们是否达到了下一级别.在设计中,它只显示6级,但它确实有1,2,3级......一直到200级.

水平网格设计

grid uitableview ios uicollectionview

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