小编Mas*_*lis的帖子

在IOS8测试版中共享扩展

我正在尝试使用新的iOS 8应用扩展程序创建共享扩展程序.我试图获取Safari网站的当前URL以在UILabel中显示它.很简单.

我正在通过Apple的官方扩展指南工作https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Share.html#//apple_ref/doc/uid/TP40014214-CH12-SW1但有些事情没有按预期运作.我知道它只是在测试中,但也许我只是做错了.

这是我在扩展ViewController中从safari获取URL的代码:

-(void)viewDidAppear:(BOOL)animated{
NSExtensionContext *myExtensionContext = [self extensionContext];
NSArray *inputItems = [myExtensionContext inputItems];
NSMutableString* mutableString = [[NSMutableString alloc]init];
for(NSExtensionItem* item in inputItems){
    NSMutableString* temp = [NSMutableString stringWithFormat:@"%@, %@, %lu, 
           %lu - ",item.attributedTitle,[item.attributedContentText string],
           (unsigned long)[item.userInfo count],[item.attachments count]];

    for(NSString* key in [item.userInfo allKeys]){
        NSArray* array = [item.userInfo objectForKey:@"NSExtensionItemAttachmentsKey"];
        [temp appendString:[NSString stringWithFormat:@" in array:%lu@",[array count]]];   
    }
    [mutableString appendString:temp];
}
self.myLabel.text = mutableString;
}
Run Code Online (Sandbox Code Playgroud)

这是我的扩展的Info.plist文件的内容:

<dict>
    <key>NSExtensionMainStoryboard</key>
    <string>MainInterface</string>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.share-services</string>
    <key>NSExtensionActivationRule</key>
    <dict>
        <key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
        <integer>200</integer>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)

当我在Safari中访问苹果iPod支持页面并尝试将其共享到我的扩展程序时,我得到以下值但没有URL:

item.attributedTitle = …
Run Code Online (Sandbox Code Playgroud)

ios ios8 ios-app-extension

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

标签 统计

ios ×1

ios-app-extension ×1

ios8 ×1