小编All*_*Hsu的帖子

故事板中包含自定义字体的归因字符串无法正确加载

我们在项目中使用自定义字体.它在Xcode 5中运行良好.在Xcode 6中,它以纯文本形式工作,在代码中归因于字符串.但是,在故事板中设置的那些归因字符串在模拟器或设备上运行时都会恢复到Helvetica,尽管它们在故事板中看起来很好.

我不确定这是Xcode 6或iOS 8 SDK的错误,还是在Xcode 6/iOS 8中改变了使用自定义字体的方式?

nsattributedstring ios swift xcode6 ios8

98
推荐指数
5
解决办法
4万
查看次数

如何将CocoaPods与多个Framework子项目一起使用

首先,我打开了use_framework!在Podfile中.

假设主项目是MAIN_APP,两个子项目是FRAMEWORK_A和FRAMEWORK_B.

MAIN_APP需要FRAMEWORK_A和FRAMEWORK_B,FRAMEWORK_B也需要FRAMEWORK_A.

所有项目/目标都使用CocoaPods来管理第三方库.

现在,我的Podfile看起来像:

target :MAIN_APP do
    project 'MAIN_APP'
    pod 'PodA'
end

target :FRAMEWORK_A do
    project 'FRAMEWORK_A'
    pod 'PodB'
end

target :FRAMEWORK_B do
    project 'FRAMEWORK_B'
    pod 'PodC'
end
Run Code Online (Sandbox Code Playgroud)

我手动添加了FRAMEWORK_A来构建FRAMEWORK_B的设置,以及FRAMEWORK_A和FRAMEWORK_B来构建MAIN_APP的设置.

所有代码都编译得很好,但是在运行MAIN_APP时崩溃是因为它无法加载PodB的Framework.

我知道我也可以手动将PodB添加到MAIN_APP和FRAMEWORK_B,但是可以在Podfile中定义这种目标依赖吗?

顺便说一下,pod install我收到了警告:

[!] Podfile包含框架目标,Podfile不包含主机目标(嵌入框架的目标).

如果此项目用于进行框架开发,则可以忽略此消息.否则,将目标添加到嵌入这些框架的Podfile中,以使此消息消失(例如测试目标).

据我所知,我可以使用嵌套目标作为主机目标,如:

target :FRAMEWORK_A
    target :MAIN_APP
    end
end
Run Code Online (Sandbox Code Playgroud)

因此CocoaPods将设置MAIN_APP以使用FRAMEWORK_A并从FRAMEWORK_A继承pod依赖项.但似乎我不能用多个依赖项来做到这一点:

target :FRAMEWORK_A
    target :MAIN_APP
    end
end
target :FRAMEWORK_B
    target :MAIN_APP
    end
end
Run Code Online (Sandbox Code Playgroud)

因为target:MAIN_APP不能声明两次.

有没有更好的解决方案,而不是将pod依赖项定义为Podfile中的函数并包含在所有目标中?

xcode dependencies ios cocoapods

27
推荐指数
2
解决办法
5580
查看次数

有关使用开发者ID进行代码签名Mac App的问题

关于使用开发者ID签署Mac App,我有几个问题:

首先,我正在开发一个利用GateKeeper的项目.所以我必须(?)使用开发者ID签署我的应用程序.

  1. 我是否需要配置文件才能使用开发者ID进行签名?在构建设置选项卡中,Developer ID认证标记为Identities without Provisioning Profiles.在Mac Provision Portal中查看,我发现没有地方可以生成配置文件以匹配开发者ID证书而不是提交证书.那么我是否需要配置文件来与开发者ID签名?

  2. 归档我的应用程序后,当我在组织者中选择导出开发人员ID签名的应用程序时,我的开发人员ID认证标有黄色警告图标.但我仍然可以选择证书并签名.可以吗?

  3. 签署我的应用程序后,我曾经sudo spctl -a -v MyApp.app在我sudo spctl --master-enable之前用runed 测试我的应用程序.结果如下:

    EIM.app: rejected
    source=Developer ID
    
    Run Code Online (Sandbox Code Playgroud)

这种拒绝是否与问题2中的警告有关?

这是我第一次使用开发者ID分发Mac App,感谢您的帮助.

macos code-signing

6
推荐指数
1
解决办法
5026
查看次数

stream_socket_client通过http代理

我正在研究APNS(Apple推送通知服务).我正在按照教程说的那样做:

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

$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)

但是在我的服务器上,我必须通过HTTP代理连接到互联网,所以我总是得到这些代码的超时错误.如何使用ssl协议为strem_socket_client设置http代理?

php sockets ssl

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

我无法使用imageNamed创建NSImage,而是使用initWithContentsOfFile

使用以下代码:

NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];
Run Code Online (Sandbox Code Playgroud)

testImage是零而是testImage2一个NSImage实例.我不知道代码有什么问题.我敢肯定,我可以找到logo64x64.pnglogo64x64@2x.png在包中的资源目录.我也试过imageNamed:@"logo64X64.png"但仍然没有.

有人可以帮忙吗?

macos objective-c nsimage nsbundle

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

如何以编程方式区分MacBook和Mac桌面?

我正在开发一款应该区分MacBook和Mac台式机的Mac应用程序(iMac/Mac Pro).

我想我可以用型号来完成它.那我怎么得到型号?哪个字母表明它是笔记本电脑或台式机?或者还有其他更简单或更好的方法吗?

macos objective-c

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