goo.gl不再可用 所以我决定使用动态链接。
我的代码要求同步缩短URL结果。
我尝试使用dispatch_semaphore_t
我希望以这种方式流动 //数字1 ==> //数字3 ==> //数字2 ==> //数字4
但是我的代码 //数字1 ==> //数字3 ==>不再响应。
// number 1
__block NSURL * getUrl = nil;
[linkBuilder shortenWithCompletion:^(NSURL * _Nullable shortURL,
NSArray<NSString *> * _Nullable warnings,
NSError * _Nullable error) {
// number 2
if (error || shortURL == nil)
getUrl = [NSURL URLWithString:[longUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
else
getUrl = shortURL ;
dispatch_semaphore_signal(semaphore);
}];
// number 3
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
// number 4
return getUrl.absoluteString;
I wish my code run
// number 1 ==> // number 3 ==> // number 2 ==>// number 4
please help me