Kas*_*hif 6 ios uiactivityviewcontroller swift
我正在使用UIActivityViewController将图像从我的应用发布到Instagram应用。
请注意,我的应用程序未使用Instagram API或登录用户的Instagram帐户。
let sharingImage = button.backgroundImage(for: [])
let avc = UIActivityViewController(activityItems: [sharingImage as AnyObject], applicationActivities: nil)
avc.excludedActivityTypes = [.addToReadingList,.airDrop,.assignToContact,.copyToPasteboard,.openInIBooks,.postToFacebook,.postToFlickr,.postToTencentWeibo,.postToTwitter,.postToVimeo,.postToWeibo,.saveToCameraRoll,.message,.mail,.print]
if let wPPC = avc.popoverPresentationController {
wPPC.sourceView = followUsButton
}
self.present(avc, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
我使用多个帐户登录了我的Instagram应用。从我的应用程序共享后,Instagram尝试发布到当前已登录的帐户“ A”(在Instagram应用程序内部)。这很有道理。
但是,如果我现在切换到Instagram应用程序并切换到其中的帐户“ B”,请返回我的应用程序,然后再次尝试共享,它会继续尝试发布到帐户“ A”。
修复它的唯一方法是杀死MY应用程序,然后重新启动它,然后加载正确的当前登录帐户“ B”。
有没有一种方法可以在共享时以编程方式重新加载正确的Insta帐户?
这只是一种解决方法,但可能是您目前唯一的选择,因为您发现即使是本机照片也存在相同的问题,因此需要 Apple 来解决它。
在您的应用程序中Info.plist,添加一个UIApplicationExitsOnSuspend值为 的布尔键YES。有关详细信息,请参阅信息属性列表关键参考。
这样,应用程序在进入后台状态时就会终止,一旦您返回到后台状态,它将重新加载。用户可能不会注意到其中的差异。
也许在终止应用程序之前,您可以在以下位置添加一些界面状态保存功能:
optional func applicationWillTerminate(_ application: UIApplication)
Run Code Online (Sandbox Code Playgroud)
我不知道你的应用程序是如何布局的,但你可以创建一个单例类,它可以实现 Codable 并继续跟踪所有具有保存和加载功能的应用程序状态变量。应用程序启动时终止和加载时将触发保存。
我希望它能以某种方式有所帮助。
EDIT1:应该在 iOS 13 中工作下面的代码应该可以工作并终止您的应用程序,但不建议这样做,您在上传到 AppStore 时可能会遇到问题。我想你可以通过向 Apple 审核团队解释 SDK 中存在错误并向他们指出问题来对拒绝提出质疑。
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
UIApplication.shared.perform(#selector(NSXPCConnection.suspend))
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
exit(0)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |