小编sag*_*444的帖子

使用PushKit VoIP通知的后台运行时间

我正在编写使用PushKit通知的VoIP应用程序,我找不到有多少后台执行时间给我一个传入推送?

我检查的第一件事是,[UIApplication sharedApplication].backgroundTimeRemaining但是这个计数器不会被下一次推送重置,即使使用,应用程序仍然保持活动状态backgroundTimeRemaining == 0.

我的问题是如何保持时间,直到应用程序被系统冻结?或者如何根据传入的PushKit推送次数计算此时间.

在应用程序冻结之前,我需要这样才能优雅地关闭套接字/连接.

ios pushkit

13
推荐指数
0
解决办法
893
查看次数

不推荐使用++,它将在swift 3中删除

++将在swift 3中弃用

变量++现在可以写成

variable += 1
Run Code Online (Sandbox Code Playgroud)

我该怎么改写++variable.

请回忆一下++variablevariable++语法之间的区别

ios swift

13
推荐指数
1
解决办法
8956
查看次数

因未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'意外启动状态'

我很奇怪,很难再现iOS 9上发生的崩溃.问题是如何解决这个什么导致这个异常

正如您所看到的,跟踪不包含我的代码,并且在应用启动时会发生崩溃.

Last Exception Backtrace:
0   CoreFoundation                       0x0000000180a49900 __exceptionPreprocess + 124
1   libobjc.A.dylib                      0x00000001800b7f80 objc_exception_throw + 52
2   CoreFoundation                       0x0000000180a497d0 +[NSException raise:format:arguments:] + 104
3   Foundation                           0x00000001813bca08 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 84
4   UIKit                                0x00000001859f9f34 _prepareForCAFlush + 252
5   UIKit                                0x00000001859ff4f0 _beforeCACommitHandler + 12
6   CoreFoundation                       0x0000000180a00588 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 28
7   CoreFoundation                       0x00000001809fe32c __CFRunLoopDoObservers + 368
8   CoreFoundation                       0x00000001809fe75c __CFRunLoopRun + 924
9   CoreFoundation                       0x000000018092d680 CFRunLoopRunSpecific + 380
10  GraphicsServices                     0x0000000181e3c088 GSEventRunModal + 176
11  UIKit                                0x00000001857a4d90 …
Run Code Online (Sandbox Code Playgroud)

crash ios ios9.2

10
推荐指数
1
解决办法
3111
查看次数

如何在应用程序中覆盖内部框架方法(外部框架)

无论如何在Swift中进行子类化时重写内部框架方法?防爆.超

public class BarChartRenderer: ChartDataRendererBase {
   internal func drawDataSet(context context: CGContext, dataSet: BarChartDataSet, index: Int) {
             ...
   }
}
Run Code Online (Sandbox Code Playgroud)

我想覆盖此方法以不同的方式绘制dataSet(iOS-Charts)

public class ESBarChartRenderer: BarChartRenderer {
   overide func drawDataSet(context context: CGContext, dataSet: BarChartDataSet, index: Int) {
             ...
   }
}
Run Code Online (Sandbox Code Playgroud)

但是当我试图覆盖Xcode时给了我错误:

方法不会覆盖其超类中的任何方法

因为它是内部的.

还有一个内部变量,我需要访问和上面相同Xcode无法看到它.

overriding internal subclassing swift ios-charts

9
推荐指数
1
解决办法
785
查看次数

IPA文件结构 - SupportSwift和符号

解压缩".ipa"文件时,输出为:包含应用程序的Payload目录.但是,有时输出是:Payload,SwiftSupportSymbols目录.

  • 生成SwiftSupportSymbols目录的条件是什么?

另外,我注意到SwiftSupport包含.dylib文件,我假设它们已经存在于应用程序中(右键单击 - >显示包内容 - >框架),因此:

  • 应用程序即使不存在也应该正常工作,生成它们的目的是什么?

我找不到任何有用的参考来描述我正在寻找的东西.

xcode ios ipa swift

9
推荐指数
1
解决办法
2262
查看次数

ios app开始时奇怪的崩溃

我的项目,称为OBI,从Xcode启动时工作正常,但是当我.ipa使用提供的日志创建文件时崩溃.在项目中没有名字的类:Mutex,DelayedPointerDeletionManager或者MemoryManager,所以我无法从这个例外的地方理解.

Thread 0 Crashed:
0   libsystem_pthread.dylib         0x396b7046 _pthread_mutex_check_init + 14
1   libsystem_pthread.dylib         0x396b6e32 _pthread_mutex_lock + 22
2   OBI                             0x02a74f20 Mutex::Lock() (Mutex.cpp:152)
3   OBI                             0x02838930 DelayedPointerDeletionManager::AddPointerToMainThreadDealloc(void*, MemLabelId) (Mutex.h:32)
4   OBI                             0x028384a4 MemoryManager::Deallocate(void*, MemLabelId) (MemoryManager.cpp:1082)
5   OBI                             0x028384e4 operator delete[](void*) (MemoryManager.cpp:114)
6   OBI                             0x01d28010 std::locale::locale<boost::filesystem::detail::utf8_codecvt_facet>(std::locale const&, boost::filesystem::detail::utf8_codecvt_facet*) (locale_classes.h:581)
7   OBI                             0x01d281c4 ___lldb_unnamed_function148423$$OBI + 232
8   dyld                            0x2be5b59e ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 174
9   dyld                            0x2be5b6ac ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 16
10  dyld                            0x2be58d34 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned …
Run Code Online (Sandbox Code Playgroud)

crash ios

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

Swift .writeToFile不会更新mainBundle中的JSON文件

我正在尝试一个简单的字典检索,更新键值并写回文件.由于某种原因,writeToFile不会更新主包中的文件.

代码如下:

let filename = "testFile"
if let path = NSBundle.mainBundle().pathForResource(filename, ofType: "json") {
    var error: NSError?
    let InputData: NSData? = NSData(contentsOfFile: path, options: NSDataReadingOptions(), error: &error)
    var jsonDictionary: NSMutableDictionary = NSJSONSerialization.JSONObjectWithData(InputData!, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSMutableDictionary

    jsonDictionary.setValue(1, forKey: "levelRow")

    let options = NSJSONWritingOptions.PrettyPrinted
    var outputData : NSData? =  NSJSONSerialization.dataWithJSONObject(jsonDictionary, options: options, error: &error)

    outputData?.writeToFile(path, atomically: true)
}
Run Code Online (Sandbox Code Playgroud)

该文件如下所示:

{
    "levelColumn" : 0,
    "levelRow" : 0,
}
Run Code Online (Sandbox Code Playgroud)

读取和更新工作正常...但文件不会更新levelRow为1?

提前致谢.

json ios swift

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

如何为VTCompressionSession设置比特率

我正在努力将我们的应用程序从一些专有的编解码器移动到iOS本机h264编码器(VideoToolbox.framework)并且有疑问:

是否存在为压缩数据设置比特率或数据速率的方法?

以下是我创建编码器会话的方法:

CFMutableDictionaryRef sessionAttributes = CFDictionaryCreateMutable(
                                                                     NULL, 
                                                                     0,    
                                                                     &kCFTypeDictionaryKeyCallBacks,
                                                                     &kCFTypeDictionaryValueCallBacks);

//** bitrate
int fixedBitrate = bitrate; // 2000 * 1024 -> assume 2 Mbits/s

CFNumberRef bitrateNum = CFNumberCreate(NULL, kCFNumberSInt32Type, &fixedBitrate);
CFDictionarySetValue(sessionAttributes, kVTCompressionPropertyKey_AverageBitRate, bitrateNum);
CFRelease(bitrateNum);

CFDictionarySetValue(sessionAttributes, kVTCompressionPropertyKey_ProfileLevel, kVTProfileLevel_H264_High_AutoLevel);

CFDictionarySetValue(sessionAttributes, kVTCompressionPropertyKey_RealTime, kCFBooleanTrue);

OSStatus error = VTCompressionSessionCreate(kCFAllocatorDefault,
                                            width,
                                            height,
                                            kCMVideoCodecType_H264,
                                            sessionAttributes, 
                                            NULL, 
                                            kCFAllocatorDefault,  
                                            &EncoderCallback,
                                            this, *outputCallbackRefCon,
                                            &m_EncoderSession);
Run Code Online (Sandbox Code Playgroud)

我玩了很多不同的价值观,kVTCompressionPropertyKey_AverageBitRate但这对我没什么用,我也试过 kVTCompressionPropertyKey_DataRateLimits不同的价值但也没有任何运气.

任何想法,建议都是受欢迎的

ios video-toolbox

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

如何使用html2pdf打印html页面

我正在使用html2pdf库,以便从html文件生成pdf.

我不知道如何查看宽度安排.

我有来自source forge的这个库.如果有人有关于它或手册的想法html2pdf

php html2pdf

0
推荐指数
1
解决办法
3万
查看次数