# OpenCV in iOS: Class VideoWriter is implemented in both AutoLoop.framework and Runner.app. One of the two will be used. Which one is undefined

**URL:** <https://forum.opencv.org/t/opencv-in-ios-class-videowriter-is-implemented-in-both-autoloop-framework-and-runner-app-one-of-the-two-will-be-used-which-one-is-undefined/7959>\
**Category:** C++\
**Tags:** videoio, apple\
**Created:** [March 16, 2022, 1:10am UTC](https://forum.opencv.org/t/opencv-in-ios-class-videowriter-is-implemented-in-both-autoloop-framework-and-runner-app-one-of-the-two-will-be-used-which-one-is-undefined/7959 "2022-03-16T01:10:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ch\_Tom](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/ch_tom/32/4748_2.png) [@Ch\_Tom](https://forum.opencv.org/u/Ch_Tom)\
**Post date:** [March 16, 2022, 1:10am UTC](https://forum.opencv.org/t/opencv-in-ios-class-videowriter-is-implemented-in-both-autoloop-framework-and-runner-app-one-of-the-two-will-be-used-which-one-is-undefined/7959/1 "2022-03-16T01:10:28Z")

</div>

I have an ios app that uses opencv and some other libraries. When running it, I see a log:

`(lldb) objc[536]: Class VideoWriter is implemented in both /System/Library/PrivateFrameworks/AutoLoop.framework/AutoLoop (0x1f897bd48) and /private/var/containers/Bundle/Application/6AF089E9-121C-41B4-8706-3F63E9F39090/Runner.app/Runner (0x1057a7888). One of the two will be used. Which one is undefined.`

Surely, I can do nothing with `AutoLoop.framework`. But for the `Runner.app/Runner` (which is indeed the name of my app since I am using Flutter), I hope I can change it. However, I have searched through all my code and see I do not define `VideoWriter` by myself. With more searching, it seems the OpenCV defines that (please correct me if I am wrong!). The clue is: At `opencv2.framework/Modules/opencv2.swiftmodule/arm64-apple-ios.swiftinterface` I see -

```auto
...
extension VideoWriter {
  @nonobjc public convenience init(filename: Swift.String, fourcc: Swift.Int32, fps: Swift.Double, frameSize: opencv2.Size2i, params: [Swift.Int32])
}
...

```

So I guess that is where `VideoWriter` comes from.

I _do not need_ the `videoio` submodule of OpenCV, so I am happy to remove it if I can. Indeed, since I link against `opencv2.framework` and do not use it, it should be already stripped out and I am not sure why it is still there.

Question:

1. Does that conflict really comes from OpenCV? Or I made a wrong conclusion?
2. What to do to resolve the conflict?

Any help is appreciated!
