这里出现了一个非常技术性的错误,谷歌没有发现这一点.
我将Cordova添加到Swift项目中.
我添加了一个Bridging Header文件和Cordova构建依赖项,我确实得到了自动完成工作(Cordva CDV类是自动完成的).
一切都很好,直到我突然得到这个错误:
Attribute 'public' can only be used in a non-local scope
Run Code Online (Sandbox Code Playgroud)
我的项目到处都是错误的.我的许多功能也停止了工作.

关于发生了什么或我能做些什么来修复的任何建议都将非常感激
有一个类似的问题,但它没有得到解决:
W/CameraBase:连接到摄像机时出错:在camera.open()调用时出现0
我有一个(自然)使用相机的应用程序.它一直很好.但是,在构建之间没有代码更改的情况下,应用程序开始崩溃(通过Git提交历史记录验证没有代码更改).
为了进一步验证问题是在硬件的某个地方,我在另一部手机上运行相同的代码,它工作得很好.不知何故,相机被锁定,无法打开.
这是相关代码:
创建一个previe对象
_cameraPreview = new CameraPreview(getActivity(),_camera);
Run Code Online (Sandbox Code Playgroud)
这是它的创建代码
public CameraPreview(Context context, Camera camera)
{
super(context);
_camera = camera;
_surfaceHolder = getHolder();
_surfaceHolder.addCallback(this);
}
Run Code Online (Sandbox Code Playgroud)
打开相机:
//默认打开后置摄像头
public static Camera getCameraInstance()
{
Camera c = null;
try
{
c = Camera.open();
}catch (Exception e)
{
e.printStackTrace();
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
这是发生错误的地方,camera.Open使用以下堆栈跟踪抛出错误.我的相机对象为空.这段代码来自官方的Android文档,但如果它从会话外锁定,他们不会谈论如何"释放相机".
完全注销是
W/CameraBase? An error occurred while connecting to camera: 0
W/System.err? java.lang.RuntimeException: Fail to connect to camera service
W/System.err? at android.hardware.Camera.<init>(Camera.java:497)
W/System.err? at android.hardware.Camera.open(Camera.java:357)
W/System.err? at co.pumpup.app.EditPhotoFragment.getCameraInstance(EditPhotoFragment.java:241)
W/System.err? …Run Code Online (Sandbox Code Playgroud) 我已经彻底阅读了最新的iOS8相框工作,我正在尝试从用户库中获取一些资产来显示.我让用户一次编辑4张图片.但正因为如此,我需要压缩图像,否则应用程序将崩溃.
我使用PHImageManager通过以下代码加载图像:
func processImages()
{
println("Processing")
_selectediImages = Array()
_cacheImageComplete = 0
for asset in _selectedAssets
{
var options:PHImageRequestOptions = PHImageRequestOptions()
options.version = PHImageRequestOptionsVersion.Unadjusted
options.synchronous = true
var minRatio:CGFloat = 1
if(CGFloat(asset.pixelWidth) > UIScreen.mainScreen().bounds.width || CGFloat(asset.pixelHeight) > UIScreen.mainScreen().bounds.height)
{
minRatio = min(UIScreen.mainScreen().bounds.width/(CGFloat(asset.pixelWidth)), (UIScreen.mainScreen().bounds.height/CGFloat(asset.pixelHeight)))
}
var size:CGSize = CGSizeMake((CGFloat(asset.pixelWidth)*minRatio),(CGFloat(asset.pixelHeight)*minRatio))
println("Target size is \(size)")
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize:size, contentMode: .AspectFill, options: options)
{
uiimageResult, info in
var image = iImage(uiimage: uiimageResult)
println("Result Size Is \(uiimageResult.size)")
}
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在计算目标大小,以确保图像至少不比屏幕大.如果是,我会在图像上缩小比例.但是这是典型的打印日志
对象尺寸为(768.0,798.453531598513)结果大小是(1614.0,1678.0)
即使我将目标大小设置为768x798(在特定情况下),它给我的最终UIImage也是它的两倍多.现在根据文档中的targetSize参数
"要返回的图像的目标大小."
不是最清楚的解释,但从我的实验来看,它不符合这一点.
如果您有一些建议,我很乐意听到它!
我检查了文档,方法在那里。
当我查看 .h 文件时,我确实看到了该功能。我尝试清理和重建,但在迁移到 Swift 4 后仍然出现此错误。
“NSAttributedString”类型的值没有成员“addAttributes”
在以下方面:
var options:[NSAttributedString.DocumentReadingOptionKey : Any] = [NSAttributedString.DocumentReadingOptionKey.documentType : NSAttributedString.DocumentType.html]
var attributedString = try NSAttributedString(data: data, options: options, documentAttributes: nil)
let range = (attributedString.string as NSString).range(of: attributedString.string)
attributedString.addAttributes(baseAttributes, range: range) // ERROR!
Run Code Online (Sandbox Code Playgroud) 我已经完成了大约7次这里的过程http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1#comments.除了证书无效之外,关于该主题的其他论坛帖子似乎没有提供答案.但是我完全遵循了这些步骤,如果我错过了一些关于如何确保我的证书有效的话,我全都耳朵!
香港专业教育学院尝试使用我的电子邮件以及在主持游戏的帐户中注册的电子邮件,并按照每一步到达T!
我请求证书,导出我的p12密钥,下载公共证书,并将它们转换为.pem文件.
为什么我仍然会收到这些错误:
验证错误:num = 20:无法获取本地颁发者证书验证返回:0
没有发送客户端证书CA名称
这是连接到APNS时的完整输出:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert cert.pem -key key.pem
Enter pass phrase for key.pem:
CONNECTED(00000003)
depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=iTMS Engineering/CN=gateway.sandbox.push.apple.com
i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
1 s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority …Run Code Online (Sandbox Code Playgroud) 我已经阅读了关于这个问题的所有其他帖子,但仍无济于事.
我知道这个问题可能会出现错误的证书,但是在我将证书和密钥合并到我放在服务器上的单个.pem文件之前,我验证了它的证书和密钥都是有效的.
我完全不知道如何解决这个问题,所以我们非常感谢所有建议.这是我的服务器代码
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
Run Code Online (Sandbox Code Playgroud)
PS ck.pem文件与读取权限设置在同一目录中.
这是完整的错误消息:
Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /var/www/site/pages/Callback.php on line 3515 Warning: stream_socket_client(): Failed to enable crypto in /var/www/site/pages/Callback.php on line 3515 Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /var/www/site/pages/Callback.php on line 3515 Failed to …Run Code Online (Sandbox Code Playgroud) 我知道分发版本中的设备令牌与开发版本之间存在差异.
我的推送通知使用我的设备令牌为沙盒模式工作.
我创建了新的分发证书,并在分发环境中成功交付给APSN.
但是,在使用分发设置时,我的设备不再收到通知(我怀疑是因为我将开发设备令牌发送到服务器).
我已经转到Project Scheme并将Build Configuration设置为Release,但我得到的设备令牌仍然与之前相同.
(另请注意,我已将Application Bundle ID设置为允许在开发和分发中使用推送通知,并且我在服务器上使用分发证书).
你可以告诉我我缺少什么来推动通知在开发模式下工作,以及我做错了什么来获取我需要发送推送通知的"实时"设备令牌?
加成问题:如果服务器获得开发设备令牌而不是实时APNS的分发令牌,为什么服务器不会返回"无效设备令牌"错误?
回答:
需要归档项目并导出为ad-hox发行版.那很有效.
我正在使用自定义字体,我有一点障碍.
有些字体可以正常使用sizeToFit,如下所示:

但是,其他自定义字体在左侧和底部被截断,因为这是:

我可以"破解"它,只检查每种字体类型并添加几个像素,但我想知道是否有更清晰的解决方案,甚至解释为什么会发生这种情况.
谢谢!
这是我自定义的UILabel字体设置代码
func setNewFont(fontName:String,size:CGFloat)
{
self.font = UIFont(name: fontName, size: size)
sizeToFit()
}
Run Code Online (Sandbox Code Playgroud) 在swift中使用相机的API似乎有所不同,我很难将相机对准一个点.当用户点击屏幕时,我希望相机对焦于该点
这是我的代码:
func focusCamera(point:CGPoint)
{
var screenRect:CGRect = bounds
var focusX = Float(point.x/screenRect.width)
var focusY = Float(point.y/screenRect.height)
_currentDevice.lockForConfiguration(nil)
_currentDevice.setFocusModeLockedWithLensPosition(focusX)
{
time in
self._currentDevice.unlockForConfiguration()
}
_currentDevice.setFocusModeLockedWithLensPosition(focusY)
{
time in
self._currentDevice.unlockForConfiguration()
}
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.
任何建议都非常欢迎!
我google的所有内容都会出现关于ALAsset的答案.
我有一个images.xcassets文件夹和一堆资产.
我想知道基于字符串的资产是否存在.
例如 if(images.xcassets.contains("assetName") == true)
你知道如何根据字符串检查资产是否存在吗?