小编And*_*i V的帖子

iPhone浏览器:检查是否从浏览器安装了iPhone应用程序

我有一个网页,我有Button打开应用程序(如果已安装)或指向App Store,如果没有安装应用程序.如果安装了App,它都可以工作(我打电话给"MYAPP://").但是,如果未安装应用程序,Safari会显示错误消息"无法打开URL",就是这样.有没有办法从JScript中禁用该消息,或者是否有其他方法可以从JScript中找到安装了应用程序(而不是点击应用程序URL)?

致MODERATOR:我看到有人问过类似的问题,而主持人错误地将其标记为重复.请理解该问题具体是关于从浏览器中执行此操作.

在这里找到了一些合适的解

顺便说一句,如果有人对如何为Android做同样的事情感兴趣,这里是代码.我们正在使用Dojo库:

  dojo.io.iframe.send({
    url: "yourApp://foo/bar",
    load: function(resp) {
      // nothing to do since it will automagically open App
    },
    error: function () {
      window.location = "go to Android market";
    }
  });
Run Code Online (Sandbox Code Playgroud)

browser iphone

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

JPA多对一关系 - 只需要保存Id

我有2个班:司机和汽车.汽车表在单独的过程中更新.我需要的是在驱动程序中拥有属性,允许我读取完整的汽车描述并只写入指向现有汽车的Id.这是一个例子:

@Entity(name = "DRIVER")
public class Driver {
... ID and other properties for Driver goes here .....

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "CAR_ID")
    private Car car;

    @JsonView({Views.Full.class})
    public Car getCar() {
      return car;
    }
    @JsonView({Views.Short.class})
    public long getCarId() {
      return car.getId();
    }
    public void setCarId(long carId) {
      this.car = new Car (carId);
    }

}
Run Code Online (Sandbox Code Playgroud)

Car对象只是典型的JPA对象,没有对Driver的反向引用.

所以我试图通过这个实现:1)我可以使用详细的JSON View 2)阅读完整的汽车描述或者我只能阅读简短的JsonView 3中的汽车ID而且最重要的是,当创建新的驱动程序我只是想要传递汽车的JSON ID.这样我就不需要在持久化期间为汽车执行不必要的读取操作,而只是更新Id.

我得到以下错误:"对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例:com.Driver.car - > com.Car"

我不想在DB中更新Car的实例,而只是从Driver中引用它.知道怎么做到我想要的吗?

谢谢.

更新:忘记提及我在创建驱动程序期间传递的汽车ID是DB中现有汽车的有效ID.

java hibernate jpa many-to-one

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

Angular 9:如何重新渲染组件

我有一个父组件和一个子组件。如果子组件在内部更新其值,我无法从父组件更新回值。

请参阅此 Stackblitz 中的示例:https ://stackblitz.com/edit/angular-ivy-tynepp 。当子组件失去焦点时,我会触发一个事件,父组件会重置子组件的值。但我认为,因为父级的“this.value”没有改变,所以更新不会触发子级的检测更改。

我该如何解决这个困境?

components angular angular-changedetection

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

访问iOS中所有电影帧的最佳方式

我试图在顶部添加效果来编辑现有的电影,因此我需要能够扫描所有电影帧,将它们作为UIImage,应用效果,然后更新该帧或将其写入新电影.我发现人们建议使用AVAssetImageGenerator.以下是我最后编辑的样本:

-(void)processMovie:(NSString*)moviePath {
    NSURL* url = [NSURL fileURLWithPath:moviePath];
    AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:url options:nil];
    float movieTimeInSeconds = CMTimeGetSeconds([movie duration]);
    AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
    generator.requestedTimeToleranceBefore = generator.requestedTimeToleranceAfter = kCMTimeZero;
    generator.appliesPreferredTrackTransform=TRUE;
    [asset release];

    // building array of time with steps as 1/10th of second
    NSMutableArray* arr = [[[NSMutableArray alloc] init] retain];
    for(int i=0; i<movieTimeInSeconds*10; i++) {
        [arr addObject:[NSValue valueWithCMTime:CMTimeMake(i,10)]];
    }

    AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
        if (result == AVAssetImageGeneratorSucceeded) {
            UIImage* img = …
Run Code Online (Sandbox Code Playgroud)

frames movie avfoundation ios

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

iOS 合成 2 个具有透明度的视频

我有 2 个视频,其中一个是具有透明背景的叠加视频(我尝试添加到视频中的爆炸视频)。当我尝试使用 AVMutableComposition 组合它们时,我看到覆盖的视频 alpha 通道被忽略。基本上我只看到第二个视频(黑色背景而不是透明)。

作为测试,我为叠加视频添加了 0.9 的不透明度,以确保它们正确合并,结果我看到叠加视频下方的主视频(当然不是我想要的,但证明合成有效)。关于如何使 alpha 通道适用于第二个视频的任何想法?

    NSError* error = nil;

    AVMutableComposition *comp = [AVMutableComposition composition];
    AVMutableCompositionTrack* videoCompTrack = [comp addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:0]; 
    AVMutableCompositionTrack* videoCompTrack2 = [comp addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:1]; 
    AVMutableCompositionTrack* audioCompTrack = [comp addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];

    // main video
    AVURLAsset* videoAssetMain = [AVURLAsset URLAssetWithURL:url1 options:nil];
    NSArray* tracks = [videoAssetMain tracksWithMediaType:AVMediaTypeVideo];
    AVAssetTrack* videoTrackMain = [tracks firstObject];
    tracks = [videoAssetMain tracksWithMediaType:AVMediaTypeAudio];
    AVAssetTrack* audioTrackMain = [tracks firstObject];
    CMTimeRange timeRange = CMTimeRangeMake(kCMTimeZero, videoTrackMain.timeRange.duration);

    // overlay video with alpha channel
    AVURLAsset* videoAssetOver …
Run Code Online (Sandbox Code Playgroud)

transparency alpha ios avmutablecomposition

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