我一直在使用app delegate作为"全局存储桶"来在各种视图控制器之间共享数据.通常我做这样的事情:
My_AppDelegate *appDelegate = (My_AppDelegate *)[[UIApplication sharedApplication] delegate];
Run Code Online (Sandbox Code Playgroud)
然后,我会将数据粘贴到appDelegate中,并使用另一个视图控制器从appDelegate中获取数据.不知何故,这似乎笨拙和不恰当(虽然它确实有效).
有没有更好的办法?我可以在某种全局共享区域设置一个"监听器",如果有人在那里粘贴数据元素,另一个对象会得到一个"回叫",让它知道某人有数据准备好了吗?
在Java中,我们曾经使用Observer/Observable类做到这一点 - 也许有类似的东西,或者在iOS中更好?
这是一个示例网址:
http://www.motherjones.com/mojo/2012/05/reince-priebus-lgbt-workplace-discrimination
上面用于在粘贴到Facebook状态更新框时没有图像,标题或描述 - 它仍然是一个裸URL.然后我通过调试器运行它,没有发现任何问题.现在,它会在粘贴到状态更新框时显示标题,图像和说明.
为了比较,这是我尚未调试的帖子.粘贴到更新框时,它不会转换.然而,只要我或其他任何人通过调试器运行它,它就会开始引入标题(尽管这个没有图像或描述).
这可能只是一个时间问题 - FB在我们的页面上准备元数据的速度很慢 - 但我们注意到共享开始正常工作需要几个小时甚至几天.这篇文章在流量达到顶峰之后很久,所以它对我们没什么好处.
我们在4月9日左右开始看到这个.
我的问题:我们的网页有什么东西让Facebook慢慢刮掉它们吗?我错过了什么?如果有问题,为什么调试器不告诉我?看起来似乎有一个稍微更新版本的doctype尝试,但这似乎不是罪魁祸首.另外 - 是否有任何理由我不应该在发布时编写一个钩子来通过调试器运行所有内容?
我正在开发一个可以在dropbox文件夹中上传和下载的应用程序,Dropbox会自动创建一个apps文件夹
我的问题是,如何将文件夹共享给另一个Dropbox用户
我之前尝试过,它声明app文件夹无法共享,或者我可以更改编码以创建不在apps文件夹中的文件夹吗?
我终于找到了一个比我面临同样问题的人.
UIActivityViewController根据所选活动自定义文本
我想使用UIActivityViewController的活动自定义内容共享.好的答案如下:
"不是将文本字符串传递给initWithActivityItems调用,而是传入您自己的UIActivityItemProvider类子类,当您实现itemForActivityType方法时,它将提供共享服务作为'activityType'参数.
然后,您可以从此方法返回自定义内容."
我理解技巧,但我没有办法做到这一点......
我这样做是一个子类:
@interface SharingItems : UIActivityItemProvider
@implementation SharingItems
-(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
// Here depending on the activityType i want to share NSString or UIImage
}
@end
Run Code Online (Sandbox Code Playgroud)
但我不知道在我原来的viewController中现在要做什么:
-(void)actionSheet
{
if ([[UIActivityViewController class] respondsToSelector:@selector(alloc)])
{
__block NSString *imgName = [[NSString alloc] initWithFormat:@"%@", _sharingUrl];
NSArray *activityItems = [NSArray arrayWithObjects:imgName, nil];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];
__block NSString *chan = [[NSString alloc] initWithFormat:@"%@", _channel];
[activityController setCompletionHandler:^(NSString* activityType, BOOL completed)
{ …Run Code Online (Sandbox Code Playgroud) 我有两个紧密相关的项目(A和B),它们共享一些源代码(S).它们都将同时发布,发布的版本应始终使用相同版本的共享代码.共享代码S将经常合理地更改.
所以,有时会看起来像这样:
使用git(和/或一些使用git的工具)处理此问题的最佳方法是什么?
以下是我的担忧:
据我所知,其中一个规范的答案是"使用git submodule ".但是,我读到了一些关于这种方法的批评.我觉得它更适合共享很少改变的库.
我读到的另一种方法是使用git子树
处理此类代码共享的最佳方法是什么?
如何组合UIActivityViewController和UIDocumentInteractionController?Mail应用程序和Tumblr应用程序似乎使用UIDocumentInteractionController来编译UIActivityViewController,因为它们的控制器还显示除了UIActivities之外的"Open in"按钮.我怎么能做到这一点?
我正在创建一个移动版网站.我在我的网站上添加了许多社交分享按钮(链接),如Facebook,Linked In,Twitter.特别为移动我添加了按钮在WhatsApp上分享.现在我想为Snapchat启用similer链接.是否有可能在我的网站上提供一个链接,在Snapchat中发布一个故事?
我试图找出任何API来实现,但没有找到任何东西.
从以下的Snapchat博客链接中,我发现Snapchat没有提供API. http://blog.snapchat.com/post/99998266095/third-party-applications-and-the-snapchat-api
是否可以替代我的目的?
我想使用UIActivityViewController分享简单的文本我使用swift,使用xcode 6.3代码非常简单,非常适合照片,但不仅仅是文本,我不想包含任何带有objectsToShare的web URL,只是干净的文本这是代码:
var objectsToShare: ["some text to share"]!
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
//handler for completed task
activityVC.completionHandler = {(activityType, completed:Bool) in
if !completed {
println("cancelled")
return
}
reportCompleted() //report to server it's done.
}
//Excluded Activities Code
activityVC.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList, UIActivityTypeCopyToPasteboard ]
//activate the share view
self.presentViewController(activityVC, animated: true, completion: {
(complete) in
println(complete)
})
Run Code Online (Sandbox Code Playgroud)
现在我知道这一切都取决于用户有Facebook - 不仅在他的手机上,而且在他的设置上.(我直接从我的手机6尝试了这个,它有Facebook设置,而不是来自模拟器)这个代码曾经工作正常,仍然适用于图像,而不是文本,但由于某种原因,它停止工作文本共享,也许文本本身有关,也许我的代码不好,或者Facebook,改变一些东西.
感谢您对此主题的任何想法.
为了让事情更奇怪,我发现了两件更奇怪的事情.
//有效的代码:
var myWebsite = NSURL(string: "http://www.someurl.com/")
let textToShare = "Swift is awesome! Check …Run Code Online (Sandbox Code Playgroud) 鉴于某个地址的图像,http://www.thissite.will/never/be-finished.png最简单的方法是将它分享到Twitter,最好不带卡?
用户自定义SVG,当他们满意时,我将其转换为PNG并将其存储在我的服务器上.
我想让他们选择在Twitter上分享图片.他们点击了一个按钮(我可以实现),然后会打开一个对话框,在那里他们可以添加到推文(应该已经包含图片).
我知道类似的问题已经被问过这个网站,但我不希望使用"一卡通"共享图像.相反,我想要一个典型的非卡片推文,只需要一张图片(就像这样).
我反复浏览了Twitter开发者文档,但是找不到有用的信息.该POST状态/ update_with_media方法已过时,并链接到"上传媒体指南"建议的替换,是坏了.我认为,本指南是它要链接的内容,但它没有JavaScript代码来说明实际应该如何实现它.
请帮忙.
我的尝试,基于POST media/upload:
$.ajax({
url: "https://upload.twitter.com/1.1/media/upload.json",
format: "post",
data: {"data" : link}
}).success(function(response) {
console.log(":)");
console.log(response);
}).fail(function(response) {
console.log(":(");
console.log(response.responseText);
});
Run Code Online (Sandbox Code Playgroud)
这失败了.该responseText是{"errors":[{"code":215,"message":"Bad Authentication data."}]}.
基本上,我想做类似于StackOverflow的工作.当您单击某个问题上的"共享",然后选择Twitter时,会弹出一个新窗口,其中填充了该问题的链接以及用户可以编写自己的消息的位置.(Twitter提供界面.)
然而,在我的情况下,当发送推文时,而不是返回到页面的链接以及从中提取的一些文本,我想只有一个图像.
我的团队目前有5名开发人员,我们都通过我们网络上的计算机X上的共享驱动器访问存储库.由于我们都可以访问计算机X,并且我们可以管理谁拥有和无权访问计算机X,我们可以管理谁可以访问我们的存储库.
我的问题是:如果我设置了一个subversion服务器,我是否获得了我还没有的任何功能?存储库已经内置了用户/密码控件.
好像我没有,因为,再次,我已经有了没有服务器的用户/组/ passwd控件.
请告诉我.我在决定创建服务器是否有任何优势.
谢谢,jbu
sharing ×10
ios ×3
cocoa-touch ×2
facebook ×2
objective-c ×2
android ×1
api ×1
code-sharing ×1
dropbox ×1
dropbox-api ×1
git ×1
ios8.4 ×1
iphone ×1
javascript ×1
networking ×1
oauth ×1
opengraph ×1
snapchat ×1
svg ×1
svn ×1
swift ×1
twitter ×1
uiactivity ×1
xcode ×1