这不是问题,因为我已经找到了解决方法.我正在发布它,以便其他人可以利用我花在它上面的时间,并使用我建议的解决方法.
我有一些奇怪的崩溃报告 - 一行重复多次:
...
0x190e08000 - 0x190e49fff Notes arm64 <f45c09ce977b3282ab0e879252dfebee> /System/Library/PrivateFrameworks/Notes.framework/Notes
0x190f9c000 - 0x190fa6fff NotificationsUI arm64 <73dcb247ed183ce7bb330d7bb55f93bd> /System/Library/PrivateFrameworks/NotificationsUI.framework/NotificationsUI
0x190fa8000 - 0x190faafff OAuth arm64 <c2658cb3208b342dbe1e91cea30ebdd5> /System/Library/PrivateFrameworks/OAuth.framework/OAuth
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff …Run Code Online (Sandbox Code Playgroud) 我们正在为我们公司开发内部iOS应用程序.我们创建表单的本地分发链接
itms-services://?action=download-manifest&url=https://INTERNAL-PATH/manifest.plist
Run Code Online (Sandbox Code Playgroud)
它工作了很长时间,包括iOS8和iOS9的所有测试版.
但是现在对于更新到官方iOS9的每个设备,当尝试从上面的链接安装时,我们得到这个对话框:
我已按下"安装"捕获日志,直到收到此错误.它显示在这里.从一开始就有一个我们没有提出的可疑"ios8fix",其中一个失败输出声称BundleValidator:失败的bundleIdentifier:MY_APP_ID.ios8fix与预期的bundleIdentifier不匹配:MY_APP_ID
请注意,"创建新的配置文件"不是一个好的解决方案,因为我正在尝试通过现有应用程序分发更新.
我已经烧了一个愚人节(好的.一整天)试图解决这个问题,并且会在此感谢任何线索!
itunesstored[123] <W>: LoadExternalDownloadManifestOperation: Canceling failed manifest download for replace: MY_APP_ID.ios8fix
itunesstored[123] <W>: [Download]: Adding download(s): -4949958484440492382
itunesstored[123] <W>: LaunchServices: installing placeholder for <LSApplicationProxy: 0x148840860> MY_APP_ID.ios8fix <(null) *Not found in database*>
installd[47] <N>: 0x16e087000 -[MIClientConnection installPath:withOptions:completion:]: Install of "/var/mobile/Library/Caches/com.apple.itunesstored/AppPlaceholders/-4949958484440492382.app" type Placeholder requested by itunesstored (pid 123)
installd[47] <N>: 0x16e12f000 -[MIInstaller performInstallationWithError:]: Installing <MIInstallableBundle ID=MY_APP_ID.ios8fix; Version=8.38.5, ShortVersion=(null)>
installd[47] <N>: 0x16e12f000 -[MIContainer makeContainerLiveReplacingContainer:reason:withError:]: Made container live for MY_APP_ID.ios8fix at /private/var/mobile/Containers/Data/Application/A64E6947-B7E7-46A9-B517-4887AB890E97
installd[47] <N>: 0x16e12f000 …Run Code Online (Sandbox Code Playgroud) 启动应用程序时,只要初始化所有资产,就会删除LaunchScreen.xib.
我想让发射屏幕保持至少1秒.
有没有办法实现这个目标?
谢谢!
我希望有一个目标和几个编译方案,并且有一些编译器定义由方案的预执行脚本声明.
pre-action脚本生成一个comp.xcconfig文件,该文件由[Release | Debug] Config.xcconfig #included.
我生成的comp.xcconfig保存了这一行:
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) MY_TEST
Run Code Online (Sandbox Code Playgroud)
我的应用包括以下几行:
#ifdef MY_TEST
#error ye
#else
#error oy
#endif
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,使用上面的配置进行编译会产生错误'ye'.
如果我然后将comp.xcconfig更改为:
Run Code Online (Sandbox Code Playgroud)GCC_PREPROCESSOR_DEFINITIONS = $(inherited) MY_TEST1234我还在'你'.但是如果我退出Xcode并重新启动它,我就会得到预期的'oy'.
我的问题:
有没有办法强制Xcode跟踪xcconfig文件的更改而无需退出Xcode?
有几个类似的问题没有得到答案,但含糊地描述.我已将问题缩减为非常薄的应用程序,并添加了详细的屏幕截图.我非常感谢这个解决方案!
唯一涉及的代码是添加到根VC的viewDidLoad的一行.这一行的目的是使导航控制器不透明:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.translucent = NO;
}
Run Code Online (Sandbox Code Playgroud)
此问题的关键信息是"Title1" 在其导航项中有提示,而"Title2"没有提示.
我有一个带有一个导航控制器的故事板,一个名为"Title1"的根VC,带有一个segue按钮,它带到第二个名为"Title2"的VC

按下此处按钮时:

我得到这个奇怪的屏幕:

当按下(Title1)时,它变得更糟(即:Title1的原始标签被推高,现在不再被看见!!!):

有人请?
在 iOS 下使用 CC608 有很多谜团。
Apple 的UsingHLS提供在清单中声明它们,如下所示:
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC1",LANGUAGE="en",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1"
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC2",LANGUAGE="sp",AUTOSELECT=YES,INSTREAM-ID="CC2"
#EXT-X-STREAM-INF:BANDWIDTH=1000000,SUBTITLES="subs",CLOSED-CAPTIONS="cc" x.m3u8
Run Code Online (Sandbox Code Playgroud)
但是 Apple 的官方示例流确实包含嵌入到 MPEG 中的 CC608,但他们仍然没有在清单中列出它们!
在该样本流,我可以把CC608上使用closedCaptionDisplayEnabled = YES,但这种方法不允许特定语言的选择。
在 Apple 的开发论坛中,我发现这个问题的答案很有希望:
你还在叫“player?.closedCaptionDisplayEnabled=true”吗?
没有必要这样做。如果您使用适当的语言标签正确创作 HLS 播放列表,用户可以使用他们选择的语言启用字幕,或者也可以完全禁用它们。
我未能在 iOS 中找到 API,这将允许我:
非常感谢您的帮助!
升级到Xcode 9后,我试图上传我的应用程序并收到此错误:
iTunes Store Operation Failed
An error occurred uploading to the iTunes Store.
Run Code Online (Sandbox Code Playgroud)
没有指定错误.我找不到出错的谣言.
所以我导出了IPA并使用了Application Loader(Xcode-> Open Developer Tool-> Application Loader).
这次我得到了一堆非常奇怪的消息:
An error occurred while starting bundles for the software update process. Transporter will try to continue. Unresolved constraint in bundle com.apple.transporter.asperasupport [5]: Unable to resolve 5.0: missing requirement [5.0] package; (&(package=com.apple.transporter.transport.service)(version>=1.9.6)(version<=1.9.6)) [caused by: Unable to resolve 8.0: missing requirement [8.0] package; (&(package=org.springframework.util.backoff)(version>=4.1.0)(!(version>=5.0.0)))]
An error occurred while starting bundles for the software update process. Transporter will try to …Run Code Online (Sandbox Code Playgroud) Core-Animation按照此图像中的描述处理角度:(来自http://btk.tillnagel.com/tutorials/rotation-translation-matrix.html的图片)
编辑:添加动画gif来更好地解释我需要的东西:
我需要为切片设置动画以使其变宽,从300:315度开始,到300:060结束.
要创建每个切片,我正在使用此功能:
extension CGFloat {
func toRadians() -> CGFloat {
return self * CGFloat(Double.pi) / 180.0
}
}
func createSlice(angle1:CGFloat, angle2:CGFloat) -> UIBezierPath! {
let path: UIBezierPath = UIBezierPath()
let width: CGFloat = self.frame.size.width/2
let height: CGFloat = self.frame.size.height/2
let centerToOrigin: CGFloat = sqrt((height)*(height)+(width)*(width));
let ctr: CGPoint = CGPoint(x: width, y: height)
path.move(to: ctr)
path.addArc( withCenter: ctr,
radius: centerToOrigin,
startAngle: CGFloat(angle1).toRadians(),
endAngle: CGFloat(angle2).toRadians(),
clockwise: true
)
path.close()
return path
}
Run Code Online (Sandbox Code Playgroud)
我现在可以创建两个切片和一个较小的子层,但我找不到如何从这一点开始:
func doStuff() {
path1 = …Run Code Online (Sandbox Code Playgroud) 我有一个播放视频的应用程序,我不希望人们使用新的iOS-11功能来录制这些视频并将其公开.这个功能在这里描述.
我找不到任何关于我的应用程序选项的文档,以防止用户录制它.
有人可以指导我做任何与此相关的事吗?
谢谢!
如何为 iOS 生成漂亮的柔和色彩?
David Crow 在 Java 中提供了一个出色的彩色答案:Algorithm to random generated an beautifuls-pleased color Palette
那么我们如何适配iOS呢?
我的代码在iPad-4和iPhone 6+上的模拟器上完美运行,所有这些都运行在iOS 9.0.2上.
但是,我知道这是一个奇怪的说法,在我的iPad Air 2上看起来它正在工作,但实际上什么都没有听到.还在其他设备上重现,如另一台iPhone 6+和另一台运行iOS 8.4的iPhone 6.我已经创建了一个演示项目(下面的链接),以便其他人可以尝试自己的设备.
我这样做:
NSURL *url使用以下路径初始化[[NSBundle mainBundle] resourcePath]:/var/mobile/Containers/Bundle/Application/0ACADB94-886E-4C7E-A327-3FFF0E54CEF9/My App.app/sndEfcts/!snap.mp3将新对象分配到ivar中:
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err];
Run Code Online (Sandbox Code Playgroud)在调试器中测试网址 - 好!(请注意,该空间变为%20.我还验证该文件存在):
(lldb) po audioPlayer.url
file:///var/mobile/Containers/Bundle/Application/0ACADB94-886E-4C7E-A327-3FFF0E54CEF9/My%20App.app/sndEfcts/!snap.mp3`
Run Code Online (Sandbox Code Playgroud)播放如果创建好:
if (audioPlayer) {
audioPlayer.delegate = self;
[audioPlayer prepareToPlay];
__unused BOOL playOk = [audioPlayer play];
}
Run Code Online (Sandbox Code Playgroud)完成代表被激活:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
...并且标志说是! - 但没有听到任何消息:(
所以一切似乎都没问题,仍然没有听到声音(虽然其他应用程序的其他声音确实可以正常工作)
有没有人知道这种行为的原因?
编辑
我已经创建了一个简单的项目来演示.它发生在各种设备上,即使是8.4.在模拟器上它始终有效