从Facebook SDK示例代码中,当成功将打开的图形对象发布到时间轴时,您必须在Facebook网站上的活动日志中单击时间轴上的显示.
如何忽略这些步骤并明确地将您的OG分享到时间表?
---------------------------------------- 下面的答案: ------ ----------------------------------
只需在FBOpenGraphAction对象中再添加一个代码:
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>) [FBGraphObject graphObject];
[action setObject: @"true" forKey: @"fb:explicitly_shared"]; // This is the key point!
Run Code Online (Sandbox Code Playgroud)
您应该在网站的Facebook Developer App Dashboard中为开放图表操作启用"明确共享"设置.
facebook facebook-graph-api ios facebook-opengraph facebook-ios-sdk
我想在Swift中制作一个应用程序,只需通过iPhone的麦克风录制,然后播放录制的声音.
为此,我想使用lib Superpowered这是一个带头文件的静态库.
为此,我尝试拖放项目中的.a和头文件(Xcode为我创建了一个桥接头文件),在Xcode> Target> General中添加了"链接框架和库"中的.a(等等) Xcode>目标>构建阶段>"链接二进制文件库"也可以在Xcode>目标>构建设置>搜索路径>库搜索路径中索引.h文件路径.
但是,我有错误"ld:未找到架构arm64的符号"与此处的XCode完全相同:架构arm64错误的未定义符号,我尝试了我在网上找到的所有解决方案,但仍然没有编译方式.
所以!
Superpowered为我们提供了一个示例应用程序来展示如何混合使用Objective-C++并在Swift项目中使用它们的lib(如果你想要https://github.com/superpoweredSDK/Low-Latency-Android-Audio-,这里有一个指向git的链接iOS-Audio-Engine).
以下是示例项目的一些屏幕截图,其中包含我理解的内容以及我不了解的内容:
Bridging-Header-File包含了我想在我的Swift代码中使用的lib方法的原型(我不喜欢这个,但如果它是唯一的方法......).
viewController文件,其中Swift中的代码是,我可以创建一个Superpowered对象,感谢Bridging-Header-File,并调用我放入它的方法.
和wtf我甚至不明白为什么这个Objective-C++文件在这里以及它包含什么.它无处不在,甚至不是他们的lib文件.
因此,考虑到这个示例项目,我创建了自己的项目,这里有一些截图:
同样的Bridging-Header-File在示例项目中除了我包含SuperpoweredIOSAudioIO.h所以我可以使用SuperpoweredIOSAudioIODelegate.
我的viewController文件,其中Swift中的代码是,我可以创建一个Superpowered对象感谢Bridging-Header-File,并调用我放入它的方法.
直到这里,它是伟大的,除了我不能为例子创建一个SuperpoweredRecorder对象.如果我尝试将SuperpoweredRecorder.h文件包含在我的Bridging-Header-File中,我会遇到以下错误:
所以我看到它是因为SuperpoweredRecorder.h包含一些.cpp文件而且我必须为cpp创建一个包装器(有点像我使用桥接头,没有?)但是包括.h和.mm文件我不喜欢我不知道我要把那个.mm文件放进去(代码是SuperpoweredRecorder.cpp什么?但是我无法访问它)
所以,是的,我对所有这些东西有点困惑,你能帮我理解如何在Swift项目中使用所有Superpowered lib吗?
我正试图在Swift中使用Sprite Kit制作游戏,但我对背景颜色有一点问题.
我在Xcode上开始了一个新项目并选择了"游戏"预设和Sprite Kit.所以我有一个灰色背景的初学者项目,当我按下屏幕时会出现白色和太空飞船的"Hello World".
所以我删除了所有我不关心的代码,但是当我启动游戏时,我仍然有灰色背景,即使我尝试在GameScene.swift文件中更改它.
这是我的文件:
AppDelegate.swift
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
return true
}
func applicationWillResignActive(application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user …Run Code Online (Sandbox Code Playgroud) 在我的Ruby on Rails应用程序的haml中,我试图通过AngularJS获取数组,ng-repeat并且只显示包含在另一个数组中的此数组的字符串.我试图在include?Ruby 的功能的帮助下实现这一点,以了解每个字符串是否在我的另一个数组中,但即使字符串在我的其他数组中,它也会返回false.
这是我调试此问题的代码(在评论我的"真实"代码中):
%span.badge{"ng-repeat" => "competence_name in mymodel.get_competence_names track by $index"}
= "{{competence_name}}"
= current_user.get_competence_names
= current_user.get_competence_names.include?("{{competence_name}}")
-#- if current_user.get_competence_names.include?("{{competence_name}}")
-#= "{{ competence_name }}"
Run Code Online (Sandbox Code Playgroud)
此代码显示:
Challenger ["Challenger", "Creative", "Innovative", "Results-oriented"] false
Run Code Online (Sandbox Code Playgroud)
注意,在行的末尾包括?应该返回true而不是false"挑战者"包含在数组中.
但如果我更换这一行:
= current_user.get_competence_names.include?("{{competence_name}}")
Run Code Online (Sandbox Code Playgroud)
通过这条线:
= current_user.get_competence_names.include?("Challenger")
Run Code Online (Sandbox Code Playgroud)
它显示true而不是false
所以我认为这是一个类型问题,"{{ competence_name }}"并没有String被Ruby 解释为.所以我试图替换"{{ competence_name }}",String.new("{{ competence_name }}")但它仍然返回假...
你知道问题的根源吗?