Posts

Post marked as solved
2 Replies
241 Views
Hi, I created a widget for our application. The application is manually signed for distribution. I created a new identifier and provisioning profile for distribution for the widget. The new identifier is our app identifier with ".widget" appended. After I added both the app and widget provisioning profiles to my export.plist for the xcodebuild step, the app builds without error. When I try to validate the app before upload, I get this error: Error: Invalid Signature. Code object is not signed at all. The file at path [MyApp.app/PlugIns/MyAppWidget.appex/fix_imports.sh] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. The provisioning profiles in the export.plist are for distribution. Has anyone else encountered and fixed error? I'm stumped! Claire
Posted
by claires.
Last updated
.
Post not yet marked as solved
7 Replies
1.5k Views
We've have a tvOS app for over 3 years and implemented our own swipe behavior for swipe up, left and right. In the tvOS 14 Beta the selectors on the swipe gestures are longer called when a swipe up occurs. I created a simple example for a swipe up gesture to show what we are doing. Our Storyboard has a Container View which is an AvPlayerViewController. Here is a the code for the ViewController. import UIKit import AVKit class ViewController: UIViewController {       private var avPlayerViewController: AVPlayerViewController!   override func viewDidLoad() {     super.viewDidLoad()     // Do any additional setup after loading the view.       // Use this string for the URL: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8")     guard let url = URL(string: <copy string here> else {       return     }     // Create an AVPlayer, passing it the HTTP Live Streaming URL.     let player = AVPlayer(url: url)     avPlayerViewController.requiresLinearPlayback = false     avPlayerViewController.playbackControlsIncludeInfoViews = true     avPlayerViewController.playbackControlsIncludeTransportBar = true     avPlayerViewController?.player = player     player.play()           let swipeUpRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(self.swipedUp(_:)) )     swipeUpRecognizer.direction = .up     view.addGestureRecognizer(swipeUpRecognizer)   }   override func prepare(for segue: UIStoryboardSegue, sender: Any?) {           if let playerViewController = segue.destination as? AVPlayerViewController {       avPlayerViewController = playerViewController       playerViewController.showsPlaybackControls = true       playerViewController.videoGravity = AVLayerVideoGravity.resizeAspect     }   }       @objc func swipedUp(_ gesture: UIGestureRecognizer) { // NO LONGER CALLED     print("SWIPED UP!")   }     }
Posted
by claires.
Last updated
.
Post not yet marked as solved
0 Replies
235 Views
Hi,We've had an app in distribution for serveral years now which uses UIPageViewController and each ViewController in the PageViewController owns an AVPlayer. This app allows paging from one video to the next. This app has worked well for many years.We recently changed the UI so that we needed a custom scrollview for the UIViewControllers which own an AVPlayer and removed the UIPageViewController. After we released the changes we started seeing crashes, which we can't reproduce in house, in AVSecondScreenViewController.Since the crashes are in AVSecondScreenViewController, can I assume the crash only happens when connected to another device using Airplay?On the call stack there are many calls to AVPlayerViewController viewDidAppear so I assume the user is scrolling through players.The user can only have 3 ViewControllers instanciated at a time and when the scroll ends, all but one ViewController is derferenced and destroyed.Any ideas?The crashes look like this:EXC_BAD_ACCESS AVSecondScreenViewController_flushPendingRemovals &gt; addVariableToBeOptimized:priority: &gt; ositive: &gt; tryToAddConstraintWithMarker:expression:mutuallyExclusiveConstraints: &gt;Stack overflow in (null)EXC_BAD_ACCESS AVSecondScreenViewController_flushPendingRemovals &gt; _lowerIntoExpression:reportingConstantIsRounded: &gt; acquireFromPoolForUseCase:engine: &gt; constraintDidChangeSuchThatMarker:shouldBeReplacedByMarkerPlusDelta: &gt; nsli_lowerAttribute:intoExpression:withCoefficient:forConstraint:onBehalfOfLayoutGuide: &gt; ositive: &gt; superview &gt;Stack overflow in (null)
Posted
by claires.
Last updated
.
Post not yet marked as solved
0 Replies
608 Views
Hi,I am successfully using AVPlayerItem.externalMetadata to set custom data in the overlay displayed in the "Info" tab over the player during playback.I can't seem to figure out how to change the displayed "duration" in the overlayWhatever offest I am in the playback stream it shows "1hr 44 min" which is not the duration of the video or the position in the streamIf it is important I am also setting AVPlayer.navigationMarkerGroups they do not overlap and are seeking to the markers as expected.Thank you for your time.Claire
Posted
by claires.
Last updated
.
Post not yet marked as solved
0 Replies
651 Views
We started with an iPhone app but found that many iPad users could not find it in the store because of the default "iPad Only" setting. We rebuilt our app with "Devices" set to "Universal" in project settings, tested it and submitted it to the app store. The new version is now released but does not appear when the user does a search in the app store with the default setting "iPad Only". It is still only found if the user changes the setting to "iPhone Only"It was my understand that if we set declared our app as "Universal" app it whould show up in a search for "iPad Only" app.
Posted
by claires.
Last updated
.