
在我的应用程序中,我允许用户通过Instagram共享照片,这需要使用UIDocumentInteractionController.如果手机支持,则会自动检测到Airdrop.如何从"打开方式"操作表中删除它?
即使我使用UIActivityViewController开始共享过程并调用setExcludedActivityTypes:,最终我必须使用UIDocumentInteractionController,当我这样做时,Airdrop再次出现.以下是分享按钮时的代码:
NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.igo"];
NSData *imageData = UIImagePNGRepresentation(imageToShare);
[imageData writeToFile:savedImagePath atomically:YES];
NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath];
docController = [[UIDocumentInteractionController alloc] init];
docController.UTI = @"com.instagram.exclusivegram";
docController.URL = imageUrl;
[docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
}
else
{
NSLog(@"no insta");
}
Run Code Online (Sandbox Code Playgroud) 我需要找到每个嵌套元素的第二个和第三个元素之间的距离
nested_array = [[0, 3, 4], [1, 20, 21], [2, 2, 2]]
def pythag_theorem(a, b)
c = (a * a) + (b * b)
result = Math.sqrt(c)
result
end
def find_distance(array)
t = 0
while t < array.length
array[t].map! {|x| pythag_theorem(x[1], x[2])}
t += 1
end
array
end
print find_distance(nested_array)
Run Code Online (Sandbox Code Playgroud)
我越来越
[[0.0, 1.4142135623730951, 0.0], [1.0, 0.0, 1.0], [1.0, 1.0, 1.0]]
Run Code Online (Sandbox Code Playgroud)
当我需要
[[0, 5], [1, 29], [2, 2.82842712474619]]
Run Code Online (Sandbox Code Playgroud)
pythag_theorem 有效,但为什么不是 map!为我工作?谢谢。